source: src/Actions/GlobalListOfActions.hpp@ 88bb6b

Last change on this file since 88bb6b was 975b83, checked in by Frederik Heber <heber@…>, 11 years ago

Added ActionQueue::insertAction().

  • this is preparatory for allowing Actions to be executed inside an Action's performCall() body. Once ActionQueue::run() is executed in its own thread these command calls would just append an Action to the queue and not run the command.
  • Property mode set to 100644
File size: 5.0 KB
Line 
1/*
2 * GlobalListOfActions.hpp
3 *
4 * Created on: Sep 21, 2011
5 * Author: heber
6 */
7
8#ifndef GLOBALLISTOFACTIONS_HPP_
9#define GLOBALLISTOFACTIONS_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16#include <boost/preprocessor/seq/push_back.hpp>
17#include <boost/preprocessor/seq/remove.hpp>
18
19// this is global list of actions valid for all cases
20#define GLOBALLISTOFACTIONS_initial \
21 (Redo) \
22 (GraphUpdateMolecules) \
23 (GraphCreateAdjacency) \
24 (GraphDepthFirstSearch) \
25 (GraphDestroyAdjacency) \
26 (GraphSubgraphDissection) \
27 (MoleculeSaveTemperature) \
28 (MoleculeCopy) \
29 (MoleculeSuspendInWater) \
30 (MoleculeFillWithMolecule) \
31 (MoleculeRotateToPrincipalAxisSystem) \
32 (MoleculeSaveAdjacency) \
33 (MoleculeFillVoidWithMolecule) \
34 (MoleculeVerletIntegration) \
35 (MoleculeChangeName) \
36 (MoleculeChangeBondAngle) \
37 (MoleculeRotateAroundSelfByAngle) \
38 (MoleculeSaveSelectedMolecules) \
39 (MoleculeSaveBonds) \
40 (MoleculeStretchBond) \
41 (MoleculeLinearInterpolationofTrajectories) \
42 (MoleculeLoad) \
43 (MoleculeBondFile) \
44 (TesselationNonConvexEnvelope) \
45 (TesselationConvexEnvelope) \
46 (CommandElementDb) \
47 (CommandBondLengthTable) \
48 (CommandFastParsing) \
49 (CommandHelp) \
50 (CommandHelpRedistribute) \
51 (CommandSetRandomNumbersEngine) \
52 (CommandSetRandomNumbersDistribution) \
53 (CommandStoreSession) \
54 (CommandVerbose) \
55 (CommandVersion) \
56 (CommandWarranty) \
57 (ParserSetTremoloAtomdata) \
58 (ParserParseTremoloPotentials) \
59 (ParserSaveSelectedAtomsAsExtTypes) \
60 (ParserSetParserParameters) \
61 (ParserSetOutputFormats) \
62 (AnalysisDipoleAngularCorrelation) \
63 (AnalysisDipoleCorrelation) \
64 (AnalysisPairCorrelation) \
65 (AnalysisPointCorrelation) \
66 (AnalysisSurfaceCorrelation) \
67 (AnalysisMolecularVolume) \
68 (AnalysisPrincipalAxisSystem) \
69 (Undo) \
70 (AtomSaveSelectedAtoms) \
71 (AtomRotateAroundOriginByAngle) \
72 (AtomChangeElement) \
73 (AtomRemove) \
74 (AtomTranslate) \
75 (AtomAdd) \
76 (BondAdd) \
77 (BondRemove) \
78 (WorldCenterInBox) \
79 (WorldRepeatBox) \
80 (WorldChangeBox) \
81 (WorldCenterOnEdge) \
82 (WorldSetWorldTime) \
83 (WorldSetBoundaryConditions) \
84 (WorldOutput) \
85 (WorldOutputAs) \
86 (WorldSetDefaultName) \
87 (WorldScaleBox) \
88 (WorldAddEmptyBoundary) \
89 (WorldBoundInBox) \
90 (WorldInput) \
91 (SelectionNotMoleculeOfAtom) \
92 (SelectionNotAllMolecules) \
93 (SelectionNotMoleculeById) \
94 (SelectionMoleculeByOrder) \
95 (SelectionMoleculeOfAtom) \
96 (SelectionNotMoleculeByOrder) \
97 (SelectionMoleculeByName) \
98 (SelectionMoleculeById) \
99 (SelectionAllMolecules) \
100 (SelectionClearAllMolecules) \
101 (SelectionInvertMolecules) \
102 (SelectionMoleculeByFormula) \
103 (SelectionNotMoleculeByFormula) \
104 (SelectionNotMoleculeByName) \
105 (SelectionNotAtomById) \
106 (SelectionNotAtomByOrder) \
107 (SelectionAllAtoms) \
108 (SelectionClearAllAtoms) \
109 (SelectionInvertAtoms) \
110 (SelectionNotAllAtoms) \
111 (SelectionNotAtomByElement) \
112 (SelectionAllAtomsInsideVolume) \
113 (SelectionAllAtomsOfMolecule) \
114 (SelectionNotAllAtomsInsideVolume) \
115 (SelectionAtomByElement) \
116 (SelectionNotAllAtomsOfMolecule) \
117 (SelectionAtomById) \
118 (SelectionAtomByOrder) \
119 (SelectionAllShapes) \
120 (SelectionShapeByName) \
121 (SelectionNotAllShapes) \
122 (SelectionNotShapeByName) \
123 (FragmentationAnalyseFragmentationResults) \
124 (FragmentationClearFragmentationResults) \
125 (FragmentationFragmentation) \
126 (FragmentationStoreSaturatedFragment) \
127 (PotentialFitParticleCharges) \
128 (PotentialParseHomologies) \
129 (PotentialSaveHomologies) \
130 (FillRegularGrid) \
131 (FillSurface) \
132 (ShapeCombineShapes) \
133 (ShapeCreateShape) \
134 (ShapeRemoveShape) \
135 (ShapeRotateShape) \
136 (ShapeStretchShape) \
137 (ShapeTranslateShape)
138
139// we need to append the automation action in case we have the JobMarket
140#ifdef HAVE_JOBMARKET
141#define GLOBALLISTOFACTIONS_JOBMARKET \
142 BOOST_PP_SEQ_PUSH_BACK( \
143 BOOST_PP_SEQ_PUSH_BACK( \
144 BOOST_PP_SEQ_PUSH_BACK( \
145 GLOBALLISTOFACTIONS_initial, \
146 FragmentationFragmentationAutomation \
147 ), \
148 FragmentationMolecularDynamics \
149 ), \
150 FragmentationParseFragmentJobs \
151 )
152#else
153#define GLOBALLISTOFACTIONS_JOBMARKET \
154 GLOBALLISTOFACTIONS_initial
155#endif /* HAVE_JOBMARKET */
156
157#ifdef HAVE_LEVMAR
158#define GLOBALLISTOFACTIONS_LEVMAR \
159 BOOST_PP_SEQ_PUSH_BACK( \
160 GLOBALLISTOFACTIONS_JOBMARKET, \
161 PotentialFitPotential \
162 )
163#else
164#define GLOBALLISTOFACTIONS_LEVMAR \
165 GLOBALLISTOFACTIONS_JOBMARKET
166#endif /* HAVE_LEVMAR */
167
168// define final list
169#ifdef HAVE_PYTHON
170#define GLOBALLISTOFACTIONS_PYTHON \
171 BOOST_PP_SEQ_PUSH_BACK( \
172 GLOBALLISTOFACTIONS_LEVMAR, \
173 CommandLoadSession \
174 )
175#else
176#define GLOBALLISTOFACTIONS_PYTHON \
177 GLOBALLISTOFACTIONS_LEVMAR
178#endif
179
180#define GLOBALLISTOFACTIONS GLOBALLISTOFACTIONS_PYTHON
181
182// define python list
183// skips CommandLoadSession as this causes dangerous infinite loops
184#define GLOBALLISTOFPYTHONACTIONS \
185 GLOBALLISTOFACTIONS_LEVMAR
186
187#endif /* GLOBALLISTOFACTIONS_HPP_ */
188
Note: See TracBrowser for help on using the repository browser.