VR-Forces 4.8 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  static const int DtSR_EXPR = -1;
111 #else
112  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 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
char * myNetRep
Definition: simCondExpr.h:184
virtual bool setFromNet(const char *contentBuffer, unsigned contentSize)
Definition: simCondExpr.h:142
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
DtEvaluator * evaluator()
Definition: simCondExpr.h:86
static DtReaderWriterFactory * factory()
virtual int netRepSize() const
These 3 should become pure virtual functions.
Definition: simCondExpr.h:139
class DtEvaluator:
Definition: evaluator.h:31
DtEvaluator * myEvaluator
Definition: simCondExpr.h:186
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer.
class DtPlan:
Definition: plan.h:90
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:49
static DtCondExprFactory * myFactory
Definition: simCondExpr.h:182
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
class DtCondExprFactory:
Definition: condExprFactory.h:38
virtual bool setToNet()
Definition: simCondExpr.h:146
DtSimCondExpr *(* DtCondExprCreatorFcn)()
Definition: condExprFactory.h:28

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)