/* * AddAction.def * * Created on: Aug 26, 2010 * Author: heber */ // all includes and forward declarations necessary for non-integral types below #include "LinearAlgebra/Vector.hpp" #include "World.hpp" class element; #include "Parameters/Validators/Specific/BoxVectorValidator.hpp" #include "Parameters/Validators/Specific/ElementValidator.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 (const element *)(BoxVector) TODO: use a validator #define paramtypes (const element *)(Vector) #define paramtokens ("add-atom")("domain-position") #define paramdescriptions ("element of new atom")("position within current domain") #define paramreferences (elemental)(position) #define paramdefaults (NOPARAM_DEFAULT)(NOPARAM_DEFAULT) #define paramvalids \ (ElementValidator()) \ (BoxVectorValidator()) #define statetypes (std::vector) #define statereferences (ids) // some defines for all the names, you may use ACTION, STATE and PARAMS #define CATEGORY Atom #define MENUNAME "atom" #define MENUPOSITION 1 #define ACTIONNAME Add #define TOKEN "add-atom" // finally the information stored in the ActionTrait specialization #define DESCRIPTION "add atom of specified element" #define SHORTFORM "a"