VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rwSpawnData.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 #include <readerWriter/rwString.h>
11 #include <readerWriter/rwReal.h>
12 #include <vrfutil/rwUnsigned.h>
13 #include <readerWriter/rwBoolean.h>
16 #include <vrfutil/rwStringList.h>
17 #include <vrfplan/plan.h>
18 #include <vlutil/vlString.h>
19 #include <vrfutil/rwUUID.h>
20 
38 {
39 //*******************************************************************
41 //*******************************************************************
42 protected:
44  DtRwSpawnData();
45 
46 public:
47 
49  DtRwSpawnData(const DtString& name,
50  DtReaderWriterRegistry* parentRegistry = NULL);
51 
52  DtRwSpawnData(const DtSymbolString& name,
53  DtReaderWriterRegistry* parentRegistry = NULL);
54 
56  DtRwSpawnData(const DtRwSpawnData & orig,
57  const DtString & name = "temp-spawn-data",
58  DtReaderWriterRegistry* parentRegistry = NULL);
59 
61  const DtRwSpawnData & operator=(const DtRwSpawnData & orig);
62 
64  virtual ~DtRwSpawnData();
65 
66  virtual const char* readerWriterType() const;
67 
69  virtual DtString stringRep() const;
70 
71 //*******************************************************************
73 //*******************************************************************
80  virtual const DtString& templateName() const;
81  virtual void setTemplateName(const DtString& name);
83 
85  virtual const DtUUID& uuid() const;
86 
88  void setUUID(const DtUUID&);
89 
92  virtual const DtString& templateDescription() const;
93  virtual void setTemplateDescription(const DtString& desc);
94 
96  virtual const DtString& overlay() const;
97  virtual void setOverlay(const DtString& desc);
98 
102  virtual bool isTimeBased() const;
103  virtual void setIsTimeBased(bool isTimeBased);
105 
109  virtual bool usesClockTime() const;
110  virtual void setUsesClockTime(bool isClockTime);
112 
113 
117  virtual void setSpawnStartTime(DtReal t);
118  virtual DtReal spawnStartTime() const;
120 
124  virtual void setSpawnEndTime(DtReal t);
125  virtual DtReal spawnEndTime() const;
127 
131  virtual void setSpawnPeriod(DtReal t);
132  virtual DtReal spawnPeriod() const;
134 
141  virtual void setSpawnVariance(DtReal t);
142  virtual DtReal spawnVariance() const;
144 
149 
152  virtual bool isCyclical() const;
153  virtual void setIsCyclical(bool isCyclical);
155 
158  virtual DtReal cyclePeriod() const;
159  virtual void setCyclePeriod(DtReal t);
161 
168  virtual DtReal burstPeriodVariance() const;
169  virtual void setBurstPeriodVariance(DtReal t);
171 
177  virtual DtReal dutyCycle() const;
178  virtual void setDutyCycle(DtReal pct);
180 
186  virtual DtReal startOffset() const;
187  virtual void setStartOffset(DtReal t);
189 
191 
192 
195  virtual void setSpawnMaxCount(unsigned t);
196  virtual unsigned spawnMaxCount() const;
198 
203  virtual void setSpecifySpeed(bool);
204  virtual bool specifySpeed() const;
206 
210  virtual void setSpawnMinSpeed(DtReal t);
211  virtual DtReal spawnMinSpeed() const;
213 
217  virtual void setSpawnMaxSpeed(DtReal t);
218  virtual DtReal spawnMaxSpeed() const;
220 
223  /*
224  virtual void setSpawnObjectTypes(const DtRwObjectTypeList& t);
225  virtual const DtRwObjectTypeList& spawnObjectTypes() const;
226  virtual DtRwObjectTypeList& spawnObjectTypes();
229  virtual void addSpawnObjectType(const DtRwObjectType& newType);
231  virtual void removeSpawnObjectType(const DtRwObjectType& remType);
233  virtual void removeSpawnObjectType(const DtString& name);
234  */
235  virtual void setSpawnObjectTypes(const DtRwObjectTypeInfoList& t);
236  virtual const DtRwObjectTypeInfoList& spawnObjectTypes() const;
237  virtual DtRwObjectTypeInfoList& spawnObjectTypes();
238 
239  virtual void addSpawnObjectType(const DtRwObjectTypeInfo& newType);
240 
241  virtual void removeSpawnObjectType(const DtRwObjectType& remType);
242 
243  virtual void removeSpawnObjectType(const DtString& name);
245 
248  virtual void setCreateOnVectorNetwork(bool t);
249  virtual bool createOnVectorNetwork() const;
251 
255  virtual void setSinkPoints(const DtRwTemplatedUUIDList& t);
256 
258  virtual const DtRwTemplatedUUIDList& sinkPoints() const;
259 
261  virtual DtRwTemplatedUUIDList& sinkPoints();
262 
264  virtual bool isInSinkList(const DtUUID&) const;
265 
268  virtual void addSinkNode(const DtUUID&);
269 
271  virtual void removeSinkNode(const DtUUID&);
273 
276  virtual void setSpawnPoints(const DtRwTemplatedUUIDList& t);
277 
278  virtual const DtRwTemplatedUUIDList& spawnPoints() const;
279  virtual DtRwTemplatedUUIDList& spawnPoints();
280 
282  virtual bool isInSpawnList(const DtUUID&) const;
283 
286  virtual void addSpawnPoint(const DtUUID&);
287 
289  virtual void removeSpawnPoint(const DtUUID&);
291 
296  virtual const DtPlan& entityPlan() const;
297  virtual void setEntityPlan(const DtPlan& plan);
299 
300 
301 protected:
302 
309 
316 
322 
332 
334 };
335 
336 namespace DtBufferSerialize
337 {
340  DT_DLL_vrfmsgs int getSize(const DtRwSpawnData& contentPtr);
341 
346  DT_DLL_vrfmsgs char *encode(const DtRwSpawnData& adminContentPtr, char *buffer);
347 
351  DT_DLL_vrfmsgs const char *decode(DtRwSpawnData& adminContentPtr, const char *buffer);
352 }
Definition: rwTemplatedList.h:189
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
DtRwBoolean myIsCyclical
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:317
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
DtRwReal mySpawnPeriod
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:314
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
DtRwTemplatedUUIDList mySpawnPoints
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:329
DtRwString myDescription
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:307
DtRwReal mySpawnMinSpeed
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:324
class DtRwObjectType:
Definition: rwObjectType.h:18
DtRwReal myCyclePeriodVariance
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:319
DtRwObjectTypeInfoList mySpawnObjectTypes
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:326
Definition: readerWriter.h:85
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwBoolean myCreateOnVectorNetwork
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:327
Definition: readerWriterRegistry.h:39
Description: Readable, Writable unsigned int.
Definition: rwUnsigned.h:31
Contains the DtUUID class declaration.
DtRwString mySpawnTemplateName
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:305
DtRwReal mySpawnMaxSpeed
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:325
uuid class
Definition: rwUUID.h:26
DtRwReal mySpawnEndTime
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:313
DtRwTemplatedUUIDList mySinkNodes
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:328
DtRwReal myStartOffset
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:321
Base library for data that is used to control how spawn points generate entities. This data structure...
Definition: rwSpawnData.h:37
DtRwObjectTypeInfo holds a display name and force number along with the type enumeration. Used in spawn data messages.
Definition: rwObjectTypeInfo.h:28
DtRwReal mySpawnStartTime
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:312
DtRwUUID mySpawnTemplateUUID
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:306
DtRwBoolean mySpecifySpeed
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:331
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer. buffer must have at least the number of bytes returned...
DtPlan myPlan
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:330
DtRwReal myDutyCycle
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:320
class DtPlan:
Definition: plan.h:92
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwReal myCyclePeriod
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:318
DtRwReal mySpawnVariance
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:315
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtRwUnsigned mySpawnMaxCount
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:323
DtRwBoolean myIsTimeBased
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:310
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
DtRwString myOverlay
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:308
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...
DtRwBoolean myUsesClockTime
These members are saved and loaded in scenario files.
Definition: rwSpawnData.h:311

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)