VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simCondExpr.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
13 #include "vrfutil/rwUUID.h"
15 #include <vlutil/vlNetTypes.h>
16 #include "tdbutil/unitFormatter.h"
17 #include "tdbutil/tdbUnits.h"
18 #include "vrfutil/vrfutilDefines.h"
19 
20 class DtEvaluator;
21 class DtSimManager;
22 class DtUUID;
23 class DtPlan;
24 
50 {
51 public:
52 
54  DtSimCondExpr();
55 
57  DtSimCondExpr(const DtString & name,
58  DtReaderWriterRegistry* parentRegistry = NULL);
59 
61  DtSimCondExpr(const DtSimCondExpr& orig,
62  DtReaderWriterRegistry* parentRegistry = NULL);
63 
65  virtual ~DtSimCondExpr();
66 
69  virtual bool init();
70 
73 
75  virtual DtSimCondExpr* clone(
76  DtReaderWriterRegistry* parentRegistry = NULL) const = 0;
77 
79  virtual int type() const = 0;
80 
85  virtual void setEvaluator(DtEvaluator* evaluator);
86  DtEvaluator* evaluator() { return myEvaluator; };
87 
95  virtual bool evaluate(const DtUUID& object,
96  DtSimManager* simManager, const DtPlan* = 0) const;
97 
99  virtual int subExprCount() const;
103  virtual DtSimCondExpr* subExpr(int index);
104 
106  virtual DtString modifierStringRep(const DtString&) const;
107 
108 #ifndef WIN32
109 
110  static const int DtSR_EXPR = -1;
111 #else
112 
113  enum
114  {
116  DtSR_EXPR = -1
117  };
118 #endif
119 
129  virtual DtString stringRep(int subExprIndex = DtSR_EXPR) const = 0;
130 
134  DtString stringRepFull() const;
135 
136  virtual char* netRep();
137 
139  virtual int netRepSize() const
140  { return 0; }
141 
142  virtual bool setFromNet(const char* contentBuffer,
143  unsigned contentSize)
144  {(void) &contentBuffer; (void) &contentSize; return false; }
145 
146  virtual bool setToNet()
147  { return false; }
148 
152 
156  virtual const DtUUID& simulationObject() const;
157 
167  static DtSimCondExpr * createCondExpr(DtlObjPtr mtlStream);
168 
171  static void addCondExprCreatorFcn(const DtString & type, const int intType,
173 
174  static void setFactory(DtCondExprFactory * factory);
175  static DtCondExprFactory * factory();
176 
177 protected:
178 
179  virtual char* createNetworkBuffer();
180 
181 protected:
183 
184  char* myNetRep;
185 
187 };
188 
189 namespace DtBufferSerialize
190 {
191  DT_DLL_vrfutil char *encode(const DtSimCondExpr* val, char *buffer);
192  DT_DLL_vrfutil const char *decode(DtSimCondExpr*& val, const char *buffer);
194 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)