1 | /*
|
---|
2 | * ActionCalls.hpp
|
---|
3 | *
|
---|
4 | * Due to the ValueStorage Action's can be called non-interactively. However,
|
---|
5 | * when they need parameters, these have to be placed into the Storage which
|
---|
6 | * bloats the code.
|
---|
7 | * Rather we want to have one function per Action that obtains the required
|
---|
8 | * arguments of the action as parameters, places them into the Storage and
|
---|
9 | * calls the Action. If the Action is a Calculation, i.e. has a return value,
|
---|
10 | * the ActionCall can easily return the result.
|
---|
11 | *
|
---|
12 | * The major advantage of using Action is their Undo/Redo- and sequence-
|
---|
13 | * capabilities.
|
---|
14 | *
|
---|
15 | * Created on: Jul 26, 2010
|
---|
16 | * Author: heber
|
---|
17 | */
|
---|
18 |
|
---|
19 | #ifndef ACTIONCALLS_HPP_
|
---|
20 | #define ACTIONCALLS_HPP_
|
---|
21 |
|
---|
22 | #include "Actions/ActionRegistry.hpp"
|
---|
23 | #include "Box.hpp"
|
---|
24 | #include "vector.hpp"
|
---|
25 |
|
---|
26 | using namespace std;
|
---|
27 |
|
---|
28 | class atom;
|
---|
29 | class element;
|
---|
30 | class molecule;
|
---|
31 |
|
---|
32 | void AnalysisMolecularVolume();
|
---|
33 | void AnalysisPairCorrelation(std::vector< element *> &elements, double BinStart, double BinWidth, double BinEnd, std::string &outputname, std::string &binoutputname, bool periodic);
|
---|
34 | void AnalysisPointCorrelation(std::vector< element *> &elements, Vector &position, double BinStart, double BinWidth, double BinEnd, std::string &outputname, std::string &binoutputname, bool periodic);
|
---|
35 | void AnalysisPrincipalAxisSystem();
|
---|
36 | void AnalysisSurfaceCorrelation(std::vector< element *> &elements, molecule *mol, double BinStart, double BinWidth, double BinEnd, std::string &outputname, std::string &binoutputname, bool periodic);
|
---|
37 |
|
---|
38 | void AtomAdd(element *elemental, Vector &position);
|
---|
39 | void AtomChangeElement(element *elemental);
|
---|
40 | void AtomRemove();
|
---|
41 |
|
---|
42 | void CommandBondLengthTable(std::string &BondGraphFileName);
|
---|
43 | void CommandElementDb(std::string &databasepath);
|
---|
44 | void CommandFastParsing(bool fastparsing);
|
---|
45 | void CommandHelp();
|
---|
46 | void CommandVerbose(int verbosity);
|
---|
47 | void CommandVersion();
|
---|
48 |
|
---|
49 | void FragmentationDepthFirstSearch(double distance);
|
---|
50 | void FragmentationFragmentation(std::string &path, double distance, int order);
|
---|
51 | void FragmentationSubgraphDissection();
|
---|
52 |
|
---|
53 | void MoleculeBondFile(std::string &bondfile);
|
---|
54 | void MoleculeChangeName(std::string &name);
|
---|
55 | void MoleculeFillWithMolecule(std::string &fillername, Vector &distances, Vector &lengths, double MaxDistance, bool DoRotate);
|
---|
56 | void MoleculeLinearInterpolationofTrajectories(std::string &filename, int start, int end, bool IdMapping);
|
---|
57 | void MoleculeRotateToPrincipalAxisSystem();
|
---|
58 | void MoleculeSaveAdjacency(std::string &adjacencyfile);
|
---|
59 | void MoleculeSaveBonds(std::string &bondsfile);
|
---|
60 | void MoleculeSaveTemperature(std::string &temperaturefile);
|
---|
61 | void MoleculeSuspendInWater(double density);
|
---|
62 | void MoleculeTranslate(Vector &x, bool periodic);
|
---|
63 | void MoleculeVerletIntegration(std::string &forcesfile);
|
---|
64 |
|
---|
65 | void ParserLoadXyz(std::string &filename);
|
---|
66 | void ParserSaveXyz(std::string &filename);
|
---|
67 |
|
---|
68 | void SelectionAllAtoms();
|
---|
69 | void SelectionAllMolecules();
|
---|
70 | void SelectionAtomById(atom *_atom);
|
---|
71 | void SelectionMoleculeById(molecule *_mol);
|
---|
72 | void SelectionNotAllAtoms();
|
---|
73 | void SelectionNotAllMolecules();
|
---|
74 | void SelectionNotAtomById(atom *_atom);
|
---|
75 | void SelectionNotMoleculeById(molecule *_mol);
|
---|
76 |
|
---|
77 | void TesselationConvexEnvelope(std::string &filenameConvex, std::string &filenameNonConvex);
|
---|
78 | void TesselationNonConvexEnvelope(double radius, std::string &filename);
|
---|
79 |
|
---|
80 | void WorldAddEmptyBoundary(Vector &boundary);
|
---|
81 | void WorldBoundInBox();
|
---|
82 | void WorldCenterInBox(Box &_box);
|
---|
83 | void WorldCenterOnEdge();
|
---|
84 | void WorldChangeBox(Box &_box);
|
---|
85 | void WorldInput(std::string &filename);
|
---|
86 | void WorldOutput();
|
---|
87 | void WorldRemoveSphereOfAtoms(double radius, Vector &point);
|
---|
88 | void WorldRepeatBox(Vector &Repeater);
|
---|
89 | void WorldScaleBox(Vector &Scaler);
|
---|
90 | void WorldSetDefaultName(std::string &defaultname);
|
---|
91 | void WorldSetGaussianBasis(std::string &basisname);
|
---|
92 | void WorldSetOutputFormats(std::vector<std::string> &FormatList);
|
---|
93 |
|
---|
94 | #endif /* ACTIONCALLS_HPP_ */
|
---|