| 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 | (MoleculeChangeName) \ | 
|---|
| 76 | (MoleculeChangeBondAngle) \ | 
|---|
| 77 | (MoleculeCopy) \ | 
|---|
| 78 | (MoleculeForceAnnealing) \ | 
|---|
| 79 | (MoleculeLinearInterpolationofTrajectories) \ | 
|---|
| 80 | (MoleculeLoad) \ | 
|---|
| 81 | (MoleculeRemove) \ | 
|---|
| 82 | (MoleculeRotateAroundSelfByAngle) \ | 
|---|
| 83 | (MoleculeRotateToPrincipalAxisSystem) \ | 
|---|
| 84 | (MoleculeSaveAdjacency) \ | 
|---|
| 85 | (MoleculeSaveBonds) \ | 
|---|
| 86 | (MoleculeSaveSelectedMolecules) \ | 
|---|
| 87 | (MoleculeSaveTemperature) \ | 
|---|
| 88 | (MoleculeStretchBond) \ | 
|---|
| 89 | (MoleculeTranslate) \ | 
|---|
| 90 | (MoleculeVerletIntegration) \ | 
|---|
| 91 | (PotentialFitParticleCharges) \ | 
|---|
| 92 | (PotentialParseHomologies) \ | 
|---|
| 93 | (PotentialParsePotentials) \ | 
|---|
| 94 | (PotentialSaveHomologies) \ | 
|---|
| 95 | (PotentialSavePotentials) \ | 
|---|
| 96 | (ParserParseTremoloPotentials) \ | 
|---|
| 97 | (ParserSaveSelectedAtomsAsExtTypes) \ | 
|---|
| 98 | (ParserSetParserParameters) \ | 
|---|
| 99 | (ParserSetOutputFormats) \ | 
|---|
| 100 | (ParserSetTremoloAtomdata) \ | 
|---|
| 101 | (Undo) \ | 
|---|
| 102 | (SelectionAllAtoms) \ | 
|---|
| 103 | (SelectionAllAtomsInsideVolume) \ | 
|---|
| 104 | (SelectionAllAtomsOfMolecule) \ | 
|---|
| 105 | (SelectionAllMolecules) \ | 
|---|
| 106 | (SelectionAllShapes) \ | 
|---|
| 107 | (SelectionAtomByElement) \ | 
|---|
| 108 | (SelectionAtomById) \ | 
|---|
| 109 | (SelectionAtomByOrder) \ | 
|---|
| 110 | (SelectionClearAllAtoms) \ | 
|---|
| 111 | (SelectionClearAllMolecules) \ | 
|---|
| 112 | (SelectionInvertAtoms) \ | 
|---|
| 113 | (SelectionInvertMolecules) \ | 
|---|
| 114 | (SelectionMoleculeOfAtom) \ | 
|---|
| 115 | (SelectionMoleculeByFormula) \ | 
|---|
| 116 | (SelectionMoleculeById) \ | 
|---|
| 117 | (SelectionMoleculeByName) \ | 
|---|
| 118 | (SelectionMoleculeByOrder) \ | 
|---|
| 119 | (SelectionNotAllAtoms) \ | 
|---|
| 120 | (SelectionNotAllAtomsInsideVolume) \ | 
|---|
| 121 | (SelectionNotAllAtomsOfMolecule) \ | 
|---|
| 122 | (SelectionNotAllMolecules) \ | 
|---|
| 123 | (SelectionNotAllShapes) \ | 
|---|
| 124 | (SelectionNotAtomById) \ | 
|---|
| 125 | (SelectionNotAtomByElement) \ | 
|---|
| 126 | (SelectionNotAtomByOrder) \ | 
|---|
| 127 | (SelectionNotMoleculeOfAtom) \ | 
|---|
| 128 | (SelectionNotMoleculeByFormula) \ | 
|---|
| 129 | (SelectionNotMoleculeById) \ | 
|---|
| 130 | (SelectionNotMoleculeByName) \ | 
|---|
| 131 | (SelectionNotMoleculeByOrder) \ | 
|---|
| 132 | (SelectionNotShapeByName) \ | 
|---|
| 133 | (SelectionPopAtoms) \ | 
|---|
| 134 | (SelectionPushAtoms) \ | 
|---|
| 135 | (SelectionPopMolecules) \ | 
|---|
| 136 | (SelectionPushMolecules) \ | 
|---|
| 137 | (SelectionShapeByName) \ | 
|---|
| 138 | (ShapeCombineShapes) \ | 
|---|
| 139 | (ShapeCreateShape) \ | 
|---|
| 140 | (ShapeRemoveShape) \ | 
|---|
| 141 | (ShapeRotateShape) \ | 
|---|
| 142 | (ShapeStretchShape) \ | 
|---|
| 143 | (ShapeTranslateShape) \ | 
|---|
| 144 | (TesselationConvexEnvelope) \ | 
|---|
| 145 | (TesselationNonConvexEnvelope) \ | 
|---|
| 146 | (WorldAddEmptyBoundary) \ | 
|---|
| 147 | (WorldBoundInBox) \ | 
|---|
| 148 | (WorldCenterInBox) \ | 
|---|
| 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 |  | 
|---|