VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
affectEngineeringObjectPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <vrfobjcore/simObject.h>
16 #include <readerWriter/rwBoolean.h>
17 #include <readerWriter/rwInt.h>
18 #include <readerWriter/rwReal.h>
19 #include <readerWriter/rwString.h>
22 #include "vrfutil/rwVectorList.h"
23 #include <vrfutil/rwUUID.h>
25 
28 
31 {
32 public:
34  {
39  DtAffectingPaused
40  };
41 
42  typedef std::map<DtString, double> DtResourceMap;
43 
46  const DtString& rwName = DtString::nullString(),
47  DtReaderWriterRegistry* parentRegistry = 0);
48 
51  const DtString& rwName = DtString::nullString(),
52  DtReaderWriterRegistry* parentRegistry = 0);
53 
56 
59 
62  const DtString& rwName = DtString::nullString(),
63  DtReaderWriterRegistry* parentRegistry = 0) const;
64 
67  virtual DtString type() const;
68 
70  virtual void clear();
71 
74  virtual void setState(DtAffectEngineeringObjectState state);
75  virtual DtAffectEngineeringObjectState state() const;
77 
81  virtual void setIsObjectCreated(bool created);
82  virtual bool isObjectCreated() const;
84 
87  virtual void setEngineeringObject(const DtUUID&);
88  virtual DtSimObjectReference engineeringObject() const;
90 
93  virtual void setObjectType(const DtObjectType& objType);
94  virtual const DtObjectType& objectType() const;
96 
99  virtual void setObjectsVertices(const DtRwShapeObjectList& v);
100  virtual const DtRwShapeObjectList& objectsVertices() const;
102 
105  virtual void setObjectJustCreated(bool);
106  virtual bool objectJustCreated() const;
107 
111  virtual const DtRwVectorList* nextObjectVertices() const;
112 
116  virtual const DtRwVectorList* currentObjectVertices() const;
117 
119  virtual unsigned currentObjectIndex() const;
120 
124  virtual const DtLocalVertexList* currentLocalObjectsVertices(const Coordinate_System*) const;
125 
128  virtual void setObjectRadius(double w);
129  virtual double objectRadius() const;
131 
134  virtual void setResourcesUsed(const DtResourceMap& resources);
135  virtual const DtResourceMap& resourcesUsed() const;
137 
140  virtual void setRange(double r);
141  virtual double range() const;
143 
147  virtual void setStrength(double s);
148  virtual double strength() const;
150 
153  virtual void setInstantaneous(bool isInstantaneous);
154  virtual bool instantaneous() const;
156 
159  virtual void setCreatorsHealth(int health);
160  virtual int creatorsHealth() const;
162 
165  virtual void setSetupTime(double t);
166  virtual double setupTime() const;
168 
171  virtual void setLastUpdateTime(double t);
172  virtual double lastUpdateTime() const;
174 
177  virtual void setSetupStartTime(double t);
178  virtual double setupStartTime() const;
180 
184  virtual void setProhibitedTerrainQueryName(const DtString& n);
185  virtual const DtString& prohibitedTerrainQueryName() const;
187 
189  static DtVrfProcessStateRepository* creator (const DtString& rwName,
190  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
191 
192 protected:
193 
209 
214 
216 };
217 
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtRwSimObjectReference myEngineeringObject
Definition: affectEngineeringObjectPSR.h:196
DtRwReal mySetupTime
Definition: affectEngineeringObjectPSR.h:205
This is a process state repository for the DtAffectEngineeringObjectController.
Definition: affectEngineeringObjectPSR.h:30
class DtRwObjectType:
Definition: rwObjectType.h:18
Definition: rwTemplatedList.h:240
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwBoolean myInstantaneous
Definition: affectEngineeringObjectPSR.h:203
Definition: readerWriterRegistry.h:39
DtRwVectorList * myCurrentObjectVertices
Definition: affectEngineeringObjectPSR.h:211
Contains the DtUUID class declaration.
DtRwTemplatedRealList myResourceUsage
Definition: affectEngineeringObjectPSR.h:200
DtRwReal myLastUpdateTime
Definition: affectEngineeringObjectPSR.h:206
Definition: objectType.h:27
DtRwBoolean myIsObjectCreated
Definition: affectEngineeringObjectPSR.h:194
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: rwSimObjectReference.h:21
DtRwShapeObjectList myObjectsVertices
Definition: affectEngineeringObjectPSR.h:198
DtRwString myProhibitedTerrainQueryName
Definition: affectEngineeringObjectPSR.h:208
Definition: coordSystem.h:54
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Description: Readable, Writable int.
Definition: rwInt.h:25
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwReal myStrength
Definition: affectEngineeringObjectPSR.h:202
DtRwReal myRange
Definition: affectEngineeringObjectPSR.h:201
DtRwInt myNextObjectIndex
Definition: affectEngineeringObjectPSR.h:210
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwReal myObjectRadius
Definition: affectEngineeringObjectPSR.h:199
bool myObjectJustCreated
Definition: affectEngineeringObjectPSR.h:215
DtResourceMap myResourceMap
Definition: affectEngineeringObjectPSR.h:213
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories. Process state repositories represent (potentially) shared, savable information for one or more components functioning together to achieve some process or set of processes; such as aiming and firing a weapon; moving an object; or just waiting a specified amount of time.
Definition: vrfProcessStateRepository.h:45
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
Definition: affectEngineeringObjectPSR.h:38
DtLocalVertexList myCurrentLocalObjectVertices
Definition: affectEngineeringObjectPSR.h:212
DtRwInt myState
Definition: affectEngineeringObjectPSR.h:195
DtAffectEngineeringObjectState
Definition: affectEngineeringObjectPSR.h:33
DtRwReal mySetupStartTime
Definition: affectEngineeringObjectPSR.h:207
Definition: affectEngineeringObjectPSR.h:37
std::map< DtString, double > DtResourceMap
Definition: affectEngineeringObjectPSR.h:42
DtRwInt myCreatorsHealth
Definition: affectEngineeringObjectPSR.h:204
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
Definition: affectEngineeringObjectPSR.h:36
class DtLocalVertexList:
Definition: localVertexList.h:20
Definition: affectEngineeringObjectPSR.h:35
class DtRwVectorList:
Definition: rwVectorList.h:22
DtRwObjectType myObjectType
Definition: affectEngineeringObjectPSR.h:197
DtRwTemplatedListPtr< DtRwVectorList, true > DtRwShapeObjectList
List of objects each defined by multiple vertices.
Definition: affectEngineeringObjectPSR.h:27
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

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)