source: src/Actions/FillAction/FillSurfaceAction.def

Candidate_v1.6.1
Last change on this file was df9f20, checked in by Frederik Heber <heber@…>, 10 years ago

Refactored FillSurfaceAction to also use FillerPreparators.

  • Property mode set to 100644
File size: 2.3 KB
Line 
1/*
2 * FillSurfaceAction.def
3 *
4 * Created on: Mar 29, 2012
5 * Author: heber, bollerhe
6 */
7
8// all includes and forward declarations necessary for non-integral types below
9#include <vector>
10#include "Atom/AtomicInfo.hpp"
11#include "Bond/BondInfo.hpp"
12#include "types.hpp"
13
14#include "Parameters/Validators/DummyValidator.hpp"
15#include "Parameters/Validators/Specific/BoxLengthValidator.hpp"
16#include "Parameters/Validators/Specific/BoxVectorValidator.hpp"
17#include "Parameters/Validators/Specific/VectorNotZeroValidator.hpp"
18
19// i.e. there is an integer with variable name Z that can be found in
20// ValueStorage by the token "Z" -> first column: int, Z, "Z"
21// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
22#define paramtypes (unsigned int)(double)(double)(double)(double)(Vector)
23#define paramtokens ("count")("min-distance")("tesselation-radius")("random-atom-displacement")("random-molecule-displacement")("Alignment-Axis")
24#define paramdescriptions ("number of instances to be added, changed according to geometric needs")("minimum distance between added instances")("radius of rolling sphere in tesselating selected molecule's surfaces")("magnitude of random atom displacement")("magnitude of random molecule displacement")("The filler molecule is rotated relative to this alignment axis")
25#define paramdefaults (PARAM_DEFAULT(12))(PARAM_DEFAULT(1.))(PARAM_DEFAULT(0.))(PARAM_DEFAULT(0.))(PARAM_DEFAULT(0.))(NOPARAM_DEFAULT)
26#define paramreferences (N)(mindistance)(SphereRadius)(RandAtomDisplacement)(RandMoleculeDisplacement)(AlignedAxis)
27#define paramvalids \
28(DummyValidator< unsigned int >()) \
29(BoxLengthValidator()) \
30(BoxLengthValidator()) \
31(BoxLengthValidator()) \
32(BoxLengthValidator()) \
33(VectorNotZeroValidator())
34
35#define statetypes (std::vector<AtomicInfo>)(std::vector<BondInfo>)(std::vector<AtomicInfo>)(std::vector<Vector>)
36#define statereferences (clonedatoms)(clonedbonds)(movedatoms)(MovedToVector)
37
38// some defines for all the names, you may use ACTION, STATE and PARAMS
39#define CATEGORY Fill
40#define MENUNAME "fill"
41#define MENUPOSITION 2
42#define ACTIONNAME Surface
43#define TOKEN "fill-surface"
44
45
46// finally the information stored in the ActionTrait specialization
47#define DESCRIPTION "\
48fill homogenous points on a shape's surface with instances of the selected molecule."
49#undef SHORTFORM
Note: See TracBrowser for help on using the repository browser.