1 #ifndef COIN_SCXMLEVALUATOR_H 2 #define COIN_SCXMLEVALUATOR_H 36 #include <Inventor/scxml/ScXMLObject.h> 37 #include <Inventor/tools/SbLazyPimplPtr.h> 57 virtual ScXMLDataObj * evaluate(
const char * expression)
const = 0;
59 virtual SbBool setAtLocation(
const char * location,
ScXMLDataObj * obj) = 0;
60 virtual ScXMLDataObj * locate(
const char * location)
const = 0;
62 virtual void clearTemporaryVariables(
void);
70 SbLazyPimplPtr<PImpl> pimpl;
88 ScXMLObject * getContainer(
void)
const {
return this->container; }
99 static void initClass(
void);
100 static void cleanClass(
void);
103 virtual void convertToString(
SbString & str)
const = 0;
109 SCXML_OBJECT_HEADER(ScXMLStringDataObj)
112 static void initClass(
void);
113 static void cleanClass(
void);
117 ScXMLStringDataObj(
void);
118 ScXMLStringDataObj(
const char * value);
119 virtual ~ScXMLStringDataObj(
void);
121 void setString(
const char * value);
122 const char * getString(
void)
const {
return this->value; }
125 virtual void convertToString(
SbString & str)
const;
134 SCXML_OBJECT_HEADER(ScXMLRealDataObj)
137 static void initClass(
void);
138 static void cleanClass(
void);
142 ScXMLRealDataObj(
void);
143 ScXMLRealDataObj(
double value);
144 virtual ~ScXMLRealDataObj(
void);
146 void setReal(
double value);
147 double getReal(
void)
const {
return this->value; }
150 virtual void convertToString(
SbString & str)
const;
159 SCXML_OBJECT_HEADER(ScXMLBoolDataObj)
162 static void initClass(
void);
163 static void cleanClass(
void);
167 ScXMLBoolDataObj(
void);
168 ScXMLBoolDataObj(SbBool value);
169 virtual ~ScXMLBoolDataObj(
void);
171 void setBool(SbBool value);
172 SbBool getBool(
void)
const {
return this->value; }
175 virtual void convertToString(
SbString & str)
const;
184 SCXML_OBJECT_HEADER(ScXMLSbDataObj)
187 static void initClass(
void);
188 static void cleanClass(
void);
192 ScXMLSbDataObj(
void);
193 ScXMLSbDataObj(
const char * value);
194 virtual ~ScXMLSbDataObj(
void);
196 void setSbValue(
const char * value);
197 const char * getSbValue(
void)
const {
return this->value; }
200 virtual void convertToString(
SbString & str)
const;
208 class COIN_DLL_API ScXMLXMLDataObj :
public ScXMLDataObj {
209 SCXML_OBJECT_HEADER(ScXMLXMLDataObj)
212 static void initClass(
void);
213 static void cleanClass(
void);
215 ScXMLXMLDataObj(
void);
216 virtual ~ScXMLXMLDataObj(
void);
223 class COIN_DLL_API ScXMLExprDataObj :
public ScXMLDataObj {
224 SCXML_OBJECT_ABSTRACT_HEADER(ScXMLExprDataObj)
227 static void initClass(
void);
228 static void cleanClass(
void);
230 ScXMLExprDataObj(
void);
231 virtual ~ScXMLExprDataObj(
void);
248 static void initClass(
void);
249 static void cleanClass(
void);
251 static ScXMLDataObj * createFor(
const char * reference);
257 void setReference(
const char * reference);
258 const char * getReference(
void)
const {
return this->reference; }
275 static void initClass(
void);
276 static void cleanClass(
void);
285 const ScXMLDataObj * getLHS(
void)
const {
return this->lhs; }
287 const ScXMLDataObj * getRHS(
void)
const {
return this->rhs; }
298 class COIN_DLL_API ScXMLOrOpExprDataObj :
public ScXMLExprDataObj {
299 SCXML_OBJECT_HEADER(ScXMLOrOpExprDataObj)
302 static void initClass(
void);
303 static void cleanClass(
void);
307 ScXMLOrOpExprDataObj(
void);
309 virtual ~ScXMLOrOpExprDataObj(
void);
312 const ScXMLDataObj * getLHS(
void)
const {
return this->lhs; }
314 const ScXMLDataObj * getRHS(
void)
const {
return this->rhs; }
325 class COIN_DLL_API ScXMLNotOpExprDataObj :
public ScXMLExprDataObj {
326 SCXML_OBJECT_HEADER(ScXMLNotOpExprDataObj)
329 static void initClass(
void);
330 static void cleanClass(
void);
334 ScXMLNotOpExprDataObj(
void);
336 virtual ~ScXMLNotOpExprDataObj(
void);
339 const ScXMLDataObj * getRHS(
void)
const {
return this->rhs; }
350 class COIN_DLL_API ScXMLEqualsOpExprDataObj :
public ScXMLExprDataObj {
351 SCXML_OBJECT_HEADER(ScXMLEqualsOpExprDataObj)
354 static void initClass(
void);
355 static void cleanClass(
void);
359 ScXMLEqualsOpExprDataObj(
void);
361 virtual ~ScXMLEqualsOpExprDataObj(
void);
364 const ScXMLDataObj * getLHS(
void)
const {
return this->lhs; }
366 const ScXMLDataObj * getRHS(
void)
const {
return this->rhs; }
380 class COIN_DLL_API ScXMLAddOpExprDataObj :
public ScXMLExprDataObj {
381 SCXML_OBJECT_HEADER(ScXMLAddOpExprDataObj)
384 static void initClass(
void);
385 static void cleanClass(
void);
389 ScXMLAddOpExprDataObj(
void);
391 virtual ~ScXMLAddOpExprDataObj(
void);
394 const ScXMLDataObj * getLHS(
void)
const {
return this->lhs; }
396 const ScXMLDataObj * getRHS(
void)
const {
return this->rhs; }
407 class COIN_DLL_API ScXMLSubtractOpExprDataObj :
public ScXMLExprDataObj {
408 SCXML_OBJECT_HEADER(ScXMLSubtractOpExprDataObj)
411 static void initClass(
void);
412 static void cleanClass(
void);
416 ScXMLSubtractOpExprDataObj(
void);
418 virtual ~ScXMLSubtractOpExprDataObj(
void);
421 const ScXMLDataObj * getLHS(
void)
const {
return this->lhs; }
423 const ScXMLDataObj * getRHS(
void)
const {
return this->rhs; }
434 class COIN_DLL_API ScXMLMultiplyOpExprDataObj :
public ScXMLExprDataObj {
435 SCXML_OBJECT_HEADER(ScXMLMultiplyOpExprDataObj)
438 static void initClass(
void);
439 static void cleanClass(
void);
443 ScXMLMultiplyOpExprDataObj(
void);
445 virtual ~ScXMLMultiplyOpExprDataObj(
void);
448 const ScXMLDataObj * getLHS(
void)
const {
return this->lhs; }
450 const ScXMLDataObj * getRHS(
void)
const {
return this->rhs; }
461 class COIN_DLL_API ScXMLDivideOpExprDataObj :
public ScXMLExprDataObj {
462 SCXML_OBJECT_HEADER(ScXMLDivideOpExprDataObj)
465 static void initClass(
void);
466 static void cleanClass(
void);
470 ScXMLDivideOpExprDataObj(
void);
472 virtual ~ScXMLDivideOpExprDataObj(
void);
475 const ScXMLDataObj * getLHS(
void)
const {
return this->lhs; }
477 const ScXMLDataObj * getRHS(
void)
const {
return this->rhs; }
488 class COIN_DLL_API ScXMLNegateOpExprDataObj :
public ScXMLExprDataObj {
489 SCXML_OBJECT_HEADER(ScXMLNegateOpExprDataObj)
492 static void initClass(
void);
493 static void cleanClass(
void);
497 ScXMLNegateOpExprDataObj(
void);
499 virtual ~ScXMLNegateOpExprDataObj(
void);
502 const ScXMLDataObj * getRHS(
void)
const {
return this->rhs; }
513 #endif // !COIN_SCXMLEVALUATOR_H base class for immediate data values
Definition: ScXMLEvaluator.h:95
base class for evaluator data objects in the SCXML data module
Definition: ScXMLEvaluator.h:77
defines an interface for profile-dependent evaluators.
Definition: ScXMLEvaluator.h:44
Implements the logical AND operator.
Definition: ScXMLEvaluator.h:271
static void initClass(void)
Sets up initialization for data common to all instances of this class, like submitting necessary info...
Definition: ScXMLObject.cpp:102
Definition: ScXMLDocument.h:47
static void cleanClass(void)
Does the opposite of initClass, deallocates any class specific resources and resets the class to an u...
Definition: ScXMLObject.cpp:115
A data object representing a reference to another object in the data model.
Definition: ScXMLEvaluator.h:244
Base class for all SCXML objects.
Definition: ScXMLObject.h:41
The SbString class is a string class with convenience functions for string operations.This is the class used for storing and working with character strings. It automatically takes care of supporting all the "bookkeeping" tasks usually associated with working with character strings, like memory allocation and deallocation etc.
Definition: SbString.h:52
Manager for processing events and setting states in SCXML structures.
Definition: ScXMLStateMachine.h:61