source: src/Actions/GlobalListOfActions.hpp@ 25d9d9

Fix_BoundInBox_CenterInBox_MoleculeActions
Last change on this file since 25d9d9 was 25d9d9, checked in by Frederik Heber <heber@…>, 9 years ago

FIX: CenterInBox and BoundInBox are actions acting on molecules, not world.

  • just stumbled over this when realizing that center-in-box does not center all selected atoms within the box but each of the currently present molecules individually.
  • this is also changed to act only on selected molecules.
  • TEST: extended regression test to only test centering and bounding of some molecules (and not only all).
  • TESTFIX: needed to change regression tests on all molecules to prepend action with select-all-molecules.
  • Needed to renamed python action in boxmaker.py.in.
  • DOCU: Corrected description in userguide.
  • Property mode set to 100644
File size: 5.2 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// PLEASE adhere to the alphabetical ordering of the list of Actions
21// NOTE that Redo must remain at the front due to technical reasons
22#define GLOBALLISTOFACTIONS_initial \
23 (Redo) \
24 (AnalysisAverageMoleculeForce) \
25 (AnalysisDipoleAngularCorrelation) \
26 (AnalysisDipoleCorrelation) \
27 (AnalysisMolecularVolume) \
28 (AnalysisPairCorrelation) \
29 (AnalysisPointCorrelation) \
30 (AnalysisPrincipalAxisSystem) \
31 (AnalysisSurfaceCorrelation) \
32 (AtomAdd) \
33 (AtomChangeElement) \
34 (AtomMirror) \
35 (AtomRemove) \
36 (AtomRotateAroundOriginByAngle) \
37 (AtomSaturate) \
38 (AtomSaveSelectedAtoms) \
39 (AtomTranslate) \
40 (AtomTranslateToOrigin) \
41 (BondAdd) \
42 (BondRemove) \
43 (CommandDryRun) \
44 (CommandElementDb) \
45 (CommandBondLengthTable) \
46 (CommandFastParsing) \
47 (CommandHelp) \
48 (CommandHelpRedistribute) \
49 (CommandNoDryRun) \
50 (CommandSetRandomNumbersEngine) \
51 (CommandSetRandomNumbersDistribution) \
52 (CommandStoreSession) \
53 (CommandVerbose) \
54 (CommandVersion) \
55 (CommandWarranty) \
56 (FillRegularGrid) \
57 (FillSurface) \
58 (FillSuspendInMolecule) \
59 (FillVolume) \
60 (FragmentationAnalyseFragmentationResults) \
61 (FragmentationClearFragmentationResults) \
62 (FragmentationFragmentation) \
63 (FragmentationFragmentationAutomation) \
64 (FragmentationMolecularDynamics) \
65 (FragmentationParseFragmentJobs) \
66 (FragmentationStoreSaturatedFragment) \
67 (FragmentationStructuralOptimization) \
68 (GraphUpdateMolecules) \
69 (GraphCorrectBondDegree) \
70 (GraphCreateAdjacency) \
71 (GraphDepthFirstSearch) \
72 (GraphDestroyAdjacency) \
73 (GraphSubgraphDissection) \
74 (MoleculeBondFile) \
75 (MoleculeBoundInBox) \
76 (MoleculeCenterInBox) \
77 (MoleculeChangeName) \
78 (MoleculeChangeBondAngle) \
79 (MoleculeCopy) \
80 (MoleculeForceAnnealing) \
81 (MoleculeLinearInterpolationofTrajectories) \
82 (MoleculeLoad) \
83 (MoleculeRemove) \
84 (MoleculeRotateAroundSelfByAngle) \
85 (MoleculeRotateToPrincipalAxisSystem) \
86 (MoleculeSaveAdjacency) \
87 (MoleculeSaveBonds) \
88 (MoleculeSaveSelectedMolecules) \
89 (MoleculeSaveTemperature) \
90 (MoleculeStretchBond) \
91 (MoleculeTranslate) \
92 (MoleculeVerletIntegration) \
93 (PotentialFitPartialCharges) \
94 (PotentialParseHomologies) \
95 (PotentialParsePotentials) \
96 (PotentialSaveHomologies) \
97 (PotentialSavePotentials) \
98 (ParserParseTremoloPotentials) \
99 (ParserSaveSelectedAtomsAsExtTypes) \
100 (ParserSetParserParameters) \
101 (ParserSetOutputFormats) \
102 (ParserSetTremoloAtomdata) \
103 (Undo) \
104 (SelectionAllAtoms) \
105 (SelectionAllAtomsInsideVolume) \
106 (SelectionAllAtomsOfMolecule) \
107 (SelectionAllMolecules) \
108 (SelectionAllShapes) \
109 (SelectionAtomByElement) \
110 (SelectionAtomById) \
111 (SelectionAtomByOrder) \
112 (SelectionClearAllAtoms) \
113 (SelectionClearAllMolecules) \
114 (SelectionInvertAtoms) \
115 (SelectionInvertMolecules) \
116 (SelectionMoleculeOfAtom) \
117 (SelectionMoleculeByFormula) \
118 (SelectionMoleculeById) \
119 (SelectionMoleculeByName) \
120 (SelectionMoleculeByOrder) \
121 (SelectionNotAllAtoms) \
122 (SelectionNotAllAtomsInsideVolume) \
123 (SelectionNotAllAtomsOfMolecule) \
124 (SelectionNotAllMolecules) \
125 (SelectionNotAllShapes) \
126 (SelectionNotAtomById) \
127 (SelectionNotAtomByElement) \
128 (SelectionNotAtomByOrder) \
129 (SelectionNotMoleculeOfAtom) \
130 (SelectionNotMoleculeByFormula) \
131 (SelectionNotMoleculeById) \
132 (SelectionNotMoleculeByName) \
133 (SelectionNotMoleculeByOrder) \
134 (SelectionNotShapeByName) \
135 (SelectionPopAtoms) \
136 (SelectionPushAtoms) \
137 (SelectionPopMolecules) \
138 (SelectionPushMolecules) \
139 (SelectionShapeByName) \
140 (ShapeCombineShapes) \
141 (ShapeCreateShape) \
142 (ShapeRemoveShape) \
143 (ShapeRotateShape) \
144 (ShapeStretchShape) \
145 (ShapeTranslateShape) \
146 (TesselationConvexEnvelope) \
147 (TesselationNonConvexEnvelope) \
148 (WorldAddEmptyBoundary) \
149 (WorldCenterOnEdge) \
150 (WorldChangeBox) \
151 (WorldInput) \
152 (WorldOutput) \
153 (WorldOutputAs) \
154 (WorldRepeatBox) \
155 (WorldScaleBox) \
156 (WorldSetBoundaryConditions) \
157 (WorldSetDefaultName) \
158 (WorldSetWorldTime)
159
160// extend list of actions in case levmar is available
161#ifdef HAVE_LEVMAR
162#define GLOBALLISTOFACTIONS_LEVMAR \
163 BOOST_PP_SEQ_PUSH_BACK( \
164 BOOST_PP_SEQ_PUSH_BACK( \
165 GLOBALLISTOFACTIONS_initial, \
166 PotentialFitPotential \
167 ), \
168 PotentialFitCompoundPotential \
169 )
170#else
171#define GLOBALLISTOFACTIONS_LEVMAR \
172 GLOBALLISTOFACTIONS_initial
173#endif /* HAVE_LEVMAR */
174
175// define final list
176#ifdef HAVE_PYTHON
177#define GLOBALLISTOFACTIONS_PYTHON \
178 BOOST_PP_SEQ_PUSH_BACK( \
179 GLOBALLISTOFACTIONS_LEVMAR, \
180 CommandLoadSession \
181 )
182#else
183#define GLOBALLISTOFACTIONS_PYTHON \
184 GLOBALLISTOFACTIONS_LEVMAR
185#endif
186
187#define GLOBALLISTOFACTIONS GLOBALLISTOFACTIONS_PYTHON
188
189// define python list
190// skips CommandLoadSession as this causes dangerous infinite loops
191#define GLOBALLISTOFPYTHONACTIONS \
192 GLOBALLISTOFACTIONS_LEVMAR
193
194#endif /* GLOBALLISTOFACTIONS_HPP_ */
195
Note: See TracBrowser for help on using the repository browser.