source: src/Actions/GlobalListOfActions.hpp@ 5fa1e86

Candidate_v1.7.0 stable
Last change on this file since 5fa1e86 was 5fa1e86, checked in by Frederik Heber <frederik.heber@…>, 5 years ago

Added BondifyAction.

  • this allows to add non-hydrogen bonds and is complementary to saturate bonds where hydrogens are added.
  • we generate all possible candidate sets taken from non-hydrogen atoms in vicinity with hydrogens and pick one at random.
  • DOCU: added to userguide.
  • TEST: added regression test case.
  • Property mode set to 100644
File size: 5.8 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 (AtomBondify) \
34 (AtomChangeElement) \
35 (AtomMirror) \
36 (AtomRandomPerturbation) \
37 (AtomRemove) \
38 (AtomRotateAroundOriginByAngle) \
39 (AtomSaturate) \
40 (AtomSaveSelectedAtoms) \
41 (AtomTranslate) \
42 (AtomTranslateToOrigin) \
43 (BondAdd) \
44 (BondRemove) \
45 (BondSetDegree) \
46 (CommandDryRun) \
47 (CommandElementDb) \
48 (CommandBondLengthTable) \
49 (CommandFastParsing) \
50 (CommandHelp) \
51 (CommandHelpRedistribute) \
52 (CommandNoDryRun) \
53 (CommandSetRandomNumbersEngine) \
54 (CommandSetRandomNumbersDistribution) \
55 (CommandStoreSession) \
56 (CommandVerbose) \
57 (CommandVersion) \
58 (CommandWarranty) \
59 (FillRegularGrid) \
60 (FillSurface) \
61 (FillSuspendInMolecule) \
62 (FillVolume) \
63 (FragmentationAnalyseFragmentationResults) \
64 (FragmentationClearFragmentationResults) \
65 (FragmentationClearFragmentationState) \
66 (FragmentationFragmentation) \
67 (FragmentationFragmentationAutomation) \
68 (FragmentationMolecularDynamics) \
69 (FragmentationParseFragmentJobs) \
70 (FragmentationParseFragmentResults) \
71 (FragmentationSaveFragmentResults) \
72 (FragmentationStoreSaturatedFragment) \
73 (FragmentationStructuralOptimization) \
74 (GeometryDistanceToVector) \
75 (GeometryInputToVector) \
76 (GeometryPlaneToVector) \
77 (GeometryPositionToVector) \
78 (GeometryRemove) \
79 (GraphChemicalSpaceEvaluator) \
80 (GraphUpdateMolecules) \
81 (GraphCorrectBondDegree) \
82 (GraphCreateAdjacency) \
83 (GraphDepthFirstSearch) \
84 (GraphDestroyAdjacency) \
85 (GraphSubgraphDissection) \
86 (MoleculeBondFile) \
87 (MoleculeChangeName) \
88 (MoleculeChangeBondAngle) \
89 (MoleculeCopy) \
90 (MoleculeForceAnnealing) \
91 (MoleculeLinearInterpolationofTrajectories) \
92 (MoleculeLoad) \
93 (MoleculeRemove) \
94 (MoleculeRotateAroundBond) \
95 (MoleculeRotateAroundSelfByAngle) \
96 (MoleculeRotateToPrincipalAxisSystem) \
97 (MoleculeSaveAdjacency) \
98 (MoleculeSaveBonds) \
99 (MoleculeSaveSelectedMolecules) \
100 (MoleculeSaveEnergies) \
101 (MoleculeStretchBond) \
102 (MoleculeTranslate) \
103 (MoleculeVerletIntegration) \
104 (PotentialFitPartialCharges) \
105 (PotentialParseAtomFragments) \
106 (PotentialParseHomologies) \
107 (PotentialParseParticleParameters) \
108 (PotentialParsePotentials) \
109 (PotentialSaveAtomFragments) \
110 (PotentialSaveHomologies) \
111 (PotentialSaveParticleParameters) \
112 (PotentialSavePotentials) \
113 (ParserSaveSelectedAtomsAsExtTypes) \
114 (ParserSetParserParameters) \
115 (ParserSetOutputFormats) \
116 (ParserSetTremoloAtomdata) \
117 (Undo) \
118 (SelectionAllAtoms) \
119 (SelectionAllAtomsInsideVolume) \
120 (SelectionAllAtomsOfMolecule) \
121 (SelectionAllMolecules) \
122 (SelectionAllShapes) \
123 (SelectionAtomBondNeighbors) \
124 (SelectionAtomByElement) \
125 (SelectionAtomById) \
126 (SelectionAtomByName) \
127 (SelectionAtomByOrder) \
128 (SelectionAtomByRandom) \
129 (SelectionClearAllAtoms) \
130 (SelectionClearAllMolecules) \
131 (SelectionInvertAtoms) \
132 (SelectionInvertMolecules) \
133 (SelectionMoleculeOfAtom) \
134 (SelectionMoleculeByFormula) \
135 (SelectionMoleculeById) \
136 (SelectionMoleculeByName) \
137 (SelectionMoleculeByOrder) \
138 (SelectionNotAllAtoms) \
139 (SelectionNotAllAtomsInsideVolume) \
140 (SelectionNotAllAtomsOfMolecule) \
141 (SelectionNotAllMolecules) \
142 (SelectionNotAllShapes) \
143 (SelectionNotAtomByElement) \
144 (SelectionNotAtomById) \
145 (SelectionNotAtomByName) \
146 (SelectionNotAtomByOrder) \
147 (SelectionNotMoleculeOfAtom) \
148 (SelectionNotMoleculeByFormula) \
149 (SelectionNotMoleculeById) \
150 (SelectionNotMoleculeByName) \
151 (SelectionNotMoleculeByOrder) \
152 (SelectionNotShapeByName) \
153 (SelectionPopAtoms) \
154 (SelectionPushAtoms) \
155 (SelectionPopMolecules) \
156 (SelectionPushMolecules) \
157 (SelectionShapeByName) \
158 (ShapeCombineShapes) \
159 (ShapeCreateShape) \
160 (ShapeRemoveShape) \
161 (ShapeRotateShape) \
162 (ShapeStretchShape) \
163 (ShapeTranslateShape) \
164 (TesselationConvexEnvelope) \
165 (TesselationNonConvexEnvelope) \
166 (WorldAddEmptyBoundary) \
167 (WorldBoundInBox) \
168 (WorldCenterInBox) \
169 (WorldCenterOnEdge) \
170 (WorldChangeBox) \
171 (WorldInput) \
172 (WorldOutput) \
173 (WorldOutputAs) \
174 (WorldRepeatBox) \
175 (WorldScaleBox) \
176 (WorldSetBoundaryConditions) \
177 (WorldSetDefaultName) \
178 (WorldSetWorldTime) \
179 (WorldStepWorldTime)
180
181// extend list of actions in case levmar is available
182#ifdef HAVE_LEVMAR
183#define GLOBALLISTOFACTIONS_LEVMAR \
184 BOOST_PP_SEQ_PUSH_BACK( \
185 BOOST_PP_SEQ_PUSH_BACK( \
186 GLOBALLISTOFACTIONS_initial, \
187 PotentialFitPotential \
188 ), \
189 PotentialFitCompoundPotential \
190 )
191#else
192#define GLOBALLISTOFACTIONS_LEVMAR \
193 GLOBALLISTOFACTIONS_initial
194#endif /* HAVE_LEVMAR */
195
196// define final list
197#ifdef HAVE_PYTHON
198#define GLOBALLISTOFACTIONS_PYTHON \
199 BOOST_PP_SEQ_PUSH_BACK( \
200 GLOBALLISTOFACTIONS_LEVMAR, \
201 CommandLoadSession \
202 )
203#else
204#define GLOBALLISTOFACTIONS_PYTHON \
205 GLOBALLISTOFACTIONS_LEVMAR
206#endif
207
208#define GLOBALLISTOFACTIONS GLOBALLISTOFACTIONS_PYTHON
209
210// define python list
211// skips CommandLoadSession as this causes dangerous infinite loops
212#define GLOBALLISTOFPYTHONACTIONS \
213 GLOBALLISTOFACTIONS_LEVMAR
214
215#endif /* GLOBALLISTOFACTIONS_HPP_ */
216
Note: See TracBrowser for help on using the repository browser.