ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/selection/SelectionEvaluator.hpp
(Generate patch)

Comparing trunk/src/selection/SelectionEvaluator.hpp (file contents):
Revision 1903 by gezelter, Tue Jul 16 18:58:08 2013 UTC vs.
Revision 2067 by gezelter, Thu Mar 5 15:35:37 2015 UTC

# Line 55 | Line 55
55   #include "selection/DistanceFinder.hpp"
56   #include "selection/HullFinder.hpp"
57   #include "selection/IndexFinder.hpp"
58 < #include "utils/OpenMDBitSet.hpp"
58 > #include "selection/SelectionSet.hpp"
59   #include "primitives/StuntDouble.hpp"
60   #include "utils/StringUtils.hpp"
61   namespace OpenMD {
# Line 73 | Line 73 | namespace OpenMD {
73      bool loadScriptString(const std::string& script);
74      bool loadScriptFile(const std::string& filename);
75          
76 <    OpenMDBitSet evaluate();
77 <    OpenMDBitSet evaluate(int frame);
76 >    SelectionSet evaluate();
77 >    SelectionSet evaluate(int frame);
78          
79      /**
80       * Tests if the result from evaluation of script is dynamic.
# Line 97 | Line 97 | namespace OpenMD {
97      }
98  
99      std::string getLine() {
100 <      int ichBegin = lineIndices[pc];
101 <      int ichEnd;
100 >      std::size_t ichBegin = lineIndices[pc];
101 >      std::size_t ichEnd;
102        if ((ichEnd = script.find('\r', ichBegin)) == std::string::npos &&
103            (ichEnd = script.find('\n', ichBegin)) == std::string::npos) {
104          ichEnd = script.size();
# Line 128 | Line 128 | namespace OpenMD {
128  
129      bool loadScriptFileInternal(const std::string& filename);
130  
131 <
131 >    SelectionSet createSelectionSets();
132      void clearDefinitionsAndLoadPredefined();
133          
134      void define();
135 <    void select(OpenMDBitSet& bs);
136 <    void select(OpenMDBitSet& bs, int frame);
135 >    void select(SelectionSet& bs);
136 >    void select(SelectionSet& bs, int frame);
137      void predefine(const std::string& script);
138  
139 <    void instructionDispatchLoop(OpenMDBitSet& bs);
140 <    void instructionDispatchLoop(OpenMDBitSet& bs, int frame);
139 >    void instructionDispatchLoop(SelectionSet& bs);
140 >    void instructionDispatchLoop(SelectionSet& bs, int frame);
141  
142 <    void withinInstruction(const Token& instruction, OpenMDBitSet& bs);
143 <    void withinInstruction(const Token& instruction, OpenMDBitSet& bs, int frame);
144 <    OpenMDBitSet allInstruction();
142 >    void withinInstruction(const Token& instruction, SelectionSet& bs);
143 >    void withinInstruction(const Token& instruction, SelectionSet& bs, int frame);
144 >    SelectionSet allInstruction();
145          
146 <    OpenMDBitSet comparatorInstruction(const Token& instruction);
147 <    OpenMDBitSet comparatorInstruction(const Token& instruction, int frame);
148 <    void compareProperty(StuntDouble* sd, OpenMDBitSet& bs, int property, int comparator, float comparisonValue);
149 <    void compareProperty(StuntDouble* sd, OpenMDBitSet& bs, int property, int comparator, float comparisonValue, int frame);
150 <    OpenMDBitSet nameInstruction(const std::string& name);
151 <    OpenMDBitSet indexInstruction(const boost::any& value);
152 <    OpenMDBitSet expression(const std::vector<Token>& tokens, int pc);
153 <    OpenMDBitSet expression(const std::vector<Token>& tokens, int pc, int frame);
146 >    SelectionSet comparatorInstruction(const Token& instruction);
147 >    SelectionSet comparatorInstruction(const Token& instruction, int frame);
148 >    void compareProperty(StuntDouble* sd, SelectionSet& bs, int property, int comparator, float comparisonValue);
149 >    void compareProperty(StuntDouble* sd, SelectionSet& bs, int property, int comparator, float comparisonValue, int frame);
150 >    void compareProperty(Molecule* mol, SelectionSet& bs, int property, int comparator, float comparisonValue);
151 >    void compareProperty(Molecule* mol, SelectionSet& bs, int property, int comparator, float comparisonValue, int frame);
152 >    SelectionSet nameInstruction(const std::string& name);
153 >    SelectionSet indexInstruction(const boost::any& value);
154 >    SelectionSet expression(const std::vector<Token>& tokens, int pc);
155 >    SelectionSet expression(const std::vector<Token>& tokens, int pc, int frame);
156  
157 <    OpenMDBitSet lookupValue(const std::string& variable);
157 >    SelectionSet lookupValue(const std::string& variable);
158  
159 <    OpenMDBitSet hull();
160 <    OpenMDBitSet hull(int frame);
159 >    SelectionSet hull();
160 >    SelectionSet hull(int frame);
161          
162      void evalError(const std::string& message) {
163        sprintf( painCave.errMsg,
# Line 176 | Line 178 | namespace OpenMD {
178      void unrecognizedAtomProperty(int property){
179        evalError("unrecognized atom property");
180      }
181 +    
182 +    void unrecognizedMoleculeProperty(int property){
183 +      evalError("unrecognized molecule property");
184 +    }
185  
186      void unrecognizedIdentifier(const std::string& identifier) {
187        evalError("unrecognized identifier:" + identifier);
# Line 220 | Line 226 | namespace OpenMD {
226      DistanceFinder distanceFinder;
227      HullFinder hullFinder;
228      IndexFinder indexFinder;
229 <    int nStuntDouble;   //nGLOBALatoms + nGLOBALrigidbodies
229 >    vector<int> nObjects;
230  
231      typedef std::map<std::string, boost::any > VariablesType;
232      VariablesType variables;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines