/*
 * FillWithMoleculeAction.def
 *
 *  Created on: Aug 26, 2010
 *      Author: heber
 */

// all includes and forward declarations necessary for non-integral types below
#include "LinearAlgebra/Vector.hpp"
class MoleculeListClass;

// i.e. there is an integer with variable name Z that can be found in
// ValueStorage by the token "Z" -> first column: int, Z, "Z"
// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
#define paramtypes (boost::filesystem::path)(Vector)(Vector)(double)(bool)
#define paramtokens ("fill-molecule")("distances")("lengths")("MaxDistance")("DoRotate")
#define paramdescriptions ("name of xyz file of filler molecule")("list of three of distances in space, one for each axis direction")("list of three of lengths in space, one for each axis direction")("maximum spatial distance")("whether to rotate or not")
#undef paramdefaults
#define paramreferences (fillername)(distances)(lengths)(MaxDistance)(DoRotate)

#undef statetypes
#undef statereferences

// some defines for all the names, you may use ACTION, STATE and PARAMS
#define CATEGORY Molecule
#define MENUNAME "molecule"
#define MENUPOSITION 4
#define ACTIONNAME FillWithMolecule
#define TOKEN "fill-molecule"


// finally the information stored in the ActionTrait specialization
#define DESCRIPTION "fill around molecules' surface with a filler molecule"
#define SHORTFORM "F"

