VR-Forces 4.0.4 Class Documentation
include/vrfmsgs/rwSpawnData.h
Go to the documentation of this file.
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 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)