/*
 * FillVoidWithMoleculeAction.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
#define paramtypes (std::string)(Vector)(Vector)(bool)
#define paramtokens ("fill-void")("distances")("lengths")("DoRotate")
#define paramdescriptions ("fill void space of box with a 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")("whether to rotate or not")
#define paramreferences (fillername)(distances)(lengths)(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 5
#define ACTIONNAME FillVoidWithMolecule
#define TOKEN "fill-void"


// finally the information stored in the ActionTrait specialization
#undef DEFAULTVALUE
#define DESCRIPTION "fill void space of box with a filler molecule"
#undef SHORTFORM
#define TYPEINFO &typeid(std::string)
