![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 #pragma once 00007 00008 #include "vrfmsgs/vrfmsgsDefines.h" 00009 #include <vrfutil/rdrWritr.h> 00010 #include <vrfutil/rwString.h> 00011 #include <vrfutil/rwReal.h> 00012 #include <vrfutil/rwUnsigned.h> 00013 #include <vrfutil/rwBoolean.h> 00014 #include <vrfutil/rwObjType.h> 00015 #include <vrfutil/rwObjectTypeInfo.h> 00016 #include <vrfutil/rwStringList.h> 00017 #include <vrfplan/plan.h> 00018 #include <vlutil/vlString.h> 00019 00020 00037 class DT_DLL_vrfmsgs DtRwSpawnData : public DtReaderWriter 00038 { 00039 //******************************************************************* 00041 //******************************************************************* 00042 protected: 00044 DtRwSpawnData(); 00045 00046 public: 00047 00049 DtRwSpawnData(const DtString& name, 00050 DtReaderWriterRegistry* parentRegistry = NULL); 00051 00052 DtRwSpawnData(const DtSymbolString& name, 00053 DtReaderWriterRegistry* parentRegistry = NULL); 00054 00056 DtRwSpawnData(const DtRwSpawnData & orig, 00057 const DtString & name = "temp-spawn-data", 00058 DtReaderWriterRegistry* parentRegistry = NULL); 00059 00061 const DtRwSpawnData & operator=(const DtRwSpawnData & orig); 00062 00064 virtual ~DtRwSpawnData(); 00065 00066 virtual const char* readerWriterType() const; 00067 00069 virtual DtString stringRep() const; 00070 00071 //******************************************************************* 00073 //******************************************************************* 00080 virtual const DtString& templateName() const; 00081 virtual void setTemplateName(const DtString& name); 00083 00086 virtual const DtString& templateDescription() const; 00087 virtual void setTemplateDescription(const DtString& desc); 00088 00092 virtual bool isTimeBased() const; 00093 virtual void setIsTimeBased(bool isTimeBased); 00095 00099 virtual bool usesClockTime() const; 00100 virtual void setUsesClockTime(bool isClockTime); 00102 00103 00107 virtual void setSpawnStartTime(DtReal t); 00108 virtual DtReal spawnStartTime() const; 00110 00114 virtual void setSpawnEndTime(DtReal t); 00115 virtual DtReal spawnEndTime() const; 00117 00121 virtual void setSpawnPeriod(DtReal t); 00122 virtual DtReal spawnPeriod() const; 00124 00131 virtual void setSpawnVariance(DtReal t); 00132 virtual DtReal spawnVariance() const; 00134 00139 00142 virtual bool isCyclical() const; 00143 virtual void setIsCyclical(bool isCyclical); 00145 00148 virtual DtReal cyclePeriod() const; 00149 virtual void setCyclePeriod(DtReal t); 00151 00158 virtual DtReal burstPeriodVariance() const; 00159 virtual void setBurstPeriodVariance(DtReal t); 00161 00167 virtual DtReal dutyCycle() const; 00168 virtual void setDutyCycle(DtReal pct); 00170 00176 virtual DtReal startOffset() const; 00177 virtual void setStartOffset(DtReal t); 00179 00181 00182 00185 virtual void setSpawnMaxCount(unsigned t); 00186 virtual unsigned spawnMaxCount() const; 00188 00193 virtual void setSpecifySpeed(bool); 00194 virtual bool specifySpeed() const; 00196 00200 virtual void setSpawnMinSpeed(DtReal t); 00201 virtual DtReal spawnMinSpeed() const; 00203 00207 virtual void setSpawnMaxSpeed(DtReal t); 00208 virtual DtReal spawnMaxSpeed() const; 00210 00213 /* 00214 virtual void setSpawnObjectTypes(const DtRwObjectTypeList& t); 00215 virtual const DtRwObjectTypeList& spawnObjectTypes() const; 00216 virtual DtRwObjectTypeList& spawnObjectTypes(); 00219 virtual void addSpawnObjectType(const DtRwObjectType& newType); 00221 virtual void removeSpawnObjectType(const DtRwObjectType& remType); 00223 virtual void removeSpawnObjectType(const DtString& name); 00224 */ 00225 virtual void setSpawnObjectTypes(const DtRwObjectTypeInfoList& t); 00226 virtual const DtRwObjectTypeInfoList& spawnObjectTypes() const; 00227 virtual DtRwObjectTypeInfoList& spawnObjectTypes(); 00228 00229 virtual void addSpawnObjectType(const DtRwObjectTypeInfo& newType); 00230 00231 virtual void removeSpawnObjectType(const DtRwObjectType& remType); 00232 00233 virtual void removeSpawnObjectType(const DtString& name); 00235 00238 virtual void setCreateOnVectorNetwork(bool t); 00239 virtual bool createOnVectorNetwork() const; 00241 00244 virtual void setSinkNodeNames(const DtRwStringList& t); 00245 virtual const DtRwStringList& sinkNodeNames() const; 00246 virtual DtRwStringList& sinkNodeNames(); 00248 virtual bool isInList(const DtString& testName) const; 00251 virtual void addSinkNode(const DtString& name); 00253 virtual void removeSinkNode(const DtString& name); 00255 00260 virtual const DtPlan& entityPlan() const; 00261 virtual void setEntityPlan(const DtPlan& plan); 00263 00264 00265 protected: 00266 00269 DtRwString mySpawnTemplateName; 00270 DtRwString myDescription; 00271 00272 DtRwBoolean myIsTimeBased; 00273 DtRwBoolean myUsesClockTime; 00274 DtRwReal mySpawnStartTime; 00275 DtRwReal mySpawnEndTime; 00276 DtRwReal mySpawnPeriod; 00277 DtRwReal mySpawnVariance; 00278 00279 DtRwBoolean myIsCyclical; 00280 DtRwReal myCyclePeriod; 00281 DtRwReal myCyclePeriodVariance; 00282 DtRwReal myDutyCycle; 00283 DtRwReal myStartOffset; 00284 00285 DtRwUnsigned mySpawnMaxCount; 00286 DtRwReal mySpawnMinSpeed; 00287 DtRwReal mySpawnMaxSpeed; 00288 DtRwObjectTypeInfoList mySpawnObjectTypes; 00289 DtRwBoolean myCreateOnVectorNetwork; 00290 DtRwStringList mySinkNodeNames; 00291 DtPlan myPlan; 00292 DtRwBoolean mySpecifySpeed; 00293 00295 }; 00296 00297 namespace DtBufferSerialize 00298 { 00301 DT_DLL_vrfmsgs int getSize(const DtRwSpawnData& contentPtr); 00302 00307 DT_DLL_vrfmsgs char *encode(const DtRwSpawnData& adminContentPtr, char *buffer); 00308 00312 DT_DLL_vrfmsgs const char *decode(DtRwSpawnData& adminContentPtr, const char *buffer); 00313 }