/* * FillSurfaceAction.def * * Created on: Mar 29, 2012 * Author: heber, bollerhe */ // all includes and forward declarations necessary for non-integral types below #include #include "Atom/AtomicInfo.hpp" #include "Bond/BondInfo.hpp" #include "types.hpp" #include "Parameters/Validators/DummyValidator.hpp" #include "Parameters/Validators/Specific/BoxLengthValidator.hpp" #include "Parameters/Validators/Specific/BoxVectorValidator.hpp" #include "Parameters/Validators/Specific/VectorNotZeroValidator.hpp" // 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 (NOPARAM_DEFAULT) for each (undefined) default value #define paramtypes (unsigned int)(double)(Vector) #define paramtokens ("count")("min-distance")("Alignment-Axis") #define paramdescriptions ("number of instances to be added, changed according to geometric needs")("minimum distance between added instances")("The filler molecule is rotated relative to this alignment axis") #define paramdefaults (PARAM_DEFAULT(12))(PARAM_DEFAULT(1.))(NOPARAM_DEFAULT) #define paramreferences (N)(mindistance)(AlignedAxis) #define paramvalids \ (DummyValidator< unsigned int >()) \ (BoxLengthValidator()) \ (VectorNotZeroValidator()) #define statetypes (std::vector)(std::vector)(std::vector)(std::vector) #define statereferences (clonedatoms)(clonedbonds)(movedatoms)(MovedToVector) // some defines for all the names, you may use ACTION, STATE and PARAMS #define CATEGORY Fill #define MENUNAME "fill" #define MENUPOSITION 1 #define ACTIONNAME Surface #define TOKEN "fill-surface" // finally the information stored in the ActionTrait specialization #define DESCRIPTION "\ fill homogenous points on a shape's surface with instances of the selected molecule." #undef SHORTFORM