VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEmbarkationPSR.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 
12 #include "vrfobjcore/simObject.h"
14 #include <readerWriter/rwInt.h>
15 #include <readerWriter/rwBoolean.h>
16 #include <readerWriter/rwString.h>
17 #include "readerWriter/rwVector.h"
18 #include "vrfutil/rwTaitBryan.h"
20 #include "vrfutil/rwVectorList.h"
21 #include <vrfutil/rwUUID.h>
22 
27 
31 {
32 public:
34  {
35  DtIdle = 0,
36  DtMoveToEgress = 5,
53  DtSendMoveAlongToEgressTask
56  };
57 
58 public:
59 
62  const DtString& rwName = DtString::nullString(),
63  DtReaderWriterRegistry* parentRegistry = 0);
64 
67  const DtString& rwName = DtString::nullString(),
68  DtReaderWriterRegistry* parentRegistry = 0);
69 
71  virtual ~DtVrfEmbarkationPSR();
72 
75 
78  const DtString& rwName = DtString::nullString(),
79  DtReaderWriterRegistry* parentRegistry = 0) const;
80 
83  virtual DtString type() const;
84 
87  virtual void setEmbarkationState(DtEmbarkationControllerState state);
88  virtual DtEmbarkationControllerState embarkationState() const;
90 
93  virtual void setEmbarkationInformation(const DtUUID& parent,
94  bool useEmbarkationOverride = false, const DtVector& embarkationOverridePosition = DtVector::zero(),
95  int embarkInSlot = -1, bool chooseAnyIfSlotTaken = true);
96 
97  virtual void getEmbarkationInformation(DtSimObjectReference& parent, bool& useEmbarkationOverride,
98  DtVector& embarkationOverridePosition, int& embarkInSlot, bool& chooseAnyIfSlotTaken);
99  virtual DtSimObjectReference embarkationParent() const;
100  virtual bool embarkationLocationOverride() const;
101  virtual const DtVector& embarkationLocationOverridePosition() const;
102  virtual int embarkInSlot() const;
103  virtual bool chooseAnyAvailableSlotIfTaken() const;
104 
106  virtual void setControlPoint(const DtUUID&);
107 
109  virtual DtSimObjectReference controlPoint() const;
110 
111  virtual void setPath(const std::vector<DtVector>&);
112  virtual const std::vector<DtVector>& path() const;
113 
114  virtual void setEmbarkedAppearance(int);
115  virtual int embarkedAppearance() const;
116 
117  virtual void setEmbarkedAnimation(const DtString&);
118  virtual const DtString& embarkedAnimation() const;
119 
120  virtual void setSlotName(const DtString&);
121  virtual const DtString& slotName() const;
122 
123  virtual void setSlotType(const DtString&);
124  virtual const DtString& slotType() const;
125 
126  virtual void setStationName(DtStationName);
127  virtual DtStationName stationName() const;
128 
129  virtual void setPublishLoadPoints(bool);
130  virtual bool publishLoadPoints() const;
131 
132  virtual void setOnGroundBeforeDisembark(bool);
133  virtual bool onGroundBeforeDisembark() const;
134 
135  virtual void setEmbarkedOrientation(const DtTaitBryan&);
136  virtual const DtTaitBryan& embarkedOrientation() const;
137 
138  virtual void clearEmbarkationInformation();
139 
140  virtual void setJumpToLocation(bool b);
141  virtual bool jumpToLocation() const;
142 
143  virtual void setTurnToHeading(bool b);
144  virtual bool turnToHeading() const;
145 
146  virtual void setOrientOnIngress(bool b);
147  virtual bool orientOnIngress() const;
148 
149  virtual void setInvisibleWhenEmbarked(bool b);
150  virtual bool invisibleWhenEmbarked() const;
151 
152  virtual void setWasInvisibleBeforeEmbark(bool b);
153  virtual bool wasInvisibleBeforeEmbark() const;
154 
155  virtual void setExitPosition(const DtVector&);
156  virtual const DtVector& exitPosition() const;
157 
158  virtual void setTechnique(const DtString&);
159  virtual const DtString& technique() const;
160 
165  virtual void setEmbarkationLocked(bool bLocked);
166  virtual bool embarkationLocked() const;
168 
170  virtual void setCurrentSubordinateTask(const DtSimTaskMessageType&);
171  virtual DtSimTaskMessageType currentSubordinateTask() const;
172 
173  virtual void addTaskedSubordinate(const DtUUID& name);
174  virtual bool removeTaskedSubordinate(const DtUUID& name);
175  virtual DtSimObjectReferenceList taskedSubordinates() const;
176  virtual void clearTaskedSubordinates();
177 
179 
180  virtual void prePutSelf();
181  virtual void postGetSelf();
182 
183  virtual DtString stateString(DtEmbarkationControllerState s);
184 public:
185 
187  static DtVrfProcessStateRepository* creator (const DtString& rwName,
188  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
189 
190 protected:
191 
216  std::vector<DtVector> myPath;
217 
221 };
222 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
virtual void prePutSelf()
Called before either version of put self (file or environment). Default is no-op. ...
class DtVrfEmbarkationPSR:
Definition: vrfEmbarkationPSR.h:30
DtRwBoolean myEmbarkationLocationOverride
Definition: vrfEmbarkationPSR.h:195
DtRwSimObjectReference myEmbarkationParent
Definition: vrfEmbarkationPSR.h:194
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: simObjectReferenceList.h:122
Definition: vrfEmbarkationPSR.h:49
DtRwBoolean myTurnToHeading
Definition: vrfEmbarkationPSR.h:209
DtRwBoolean myOnGroundBeforeDisembark
Definition: vrfEmbarkationPSR.h:207
DtRwInt myEmbarkInSlot
Definition: vrfEmbarkationPSR.h:203
DtRwVector myExitPosition
Definition: vrfEmbarkationPSR.h:197
DtRwBoolean myJumpToLocation
Definition: vrfEmbarkationPSR.h:208
Definition: vrfEmbarkationPSR.h:48
DtRwVector myEmbarkationLocationOverridePosition
Definition: vrfEmbarkationPSR.h:196
DtEmbarkationControllerState
Definition: vrfEmbarkationPSR.h:33
virtual void postGetSelf()
Called after either version of getSelf (mtl or environment). Default is no-op.
Definition: vrfEmbarkationPSR.h:43
DtRwString mySlotType
Definition: vrfEmbarkationPSR.h:201
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
Definition: vrfEmbarkationPSR.h:44
Description: Readable, Writable DtTaitBryan.
Definition: rwTaitBryan.h:20
Definition: readerWriterRegistry.h:39
Definition: vrfEmbarkationPSR.h:45
Contains the DtUUID class declaration.
DtRwSimObjectReferenceList myTaskedSubordinates
Aggregates only.
Definition: vrfEmbarkationPSR.h:219
DtRwBoolean myWasInvisibleBeforeEmbark
Definition: vrfEmbarkationPSR.h:211
Definition: vrfEmbarkationPSR.h:41
DtRwOffsetVectorList myRwPath
Definition: vrfEmbarkationPSR.h:215
DtRwBoolean myEmbarkationLocked
Definition: vrfEmbarkationPSR.h:213
DtRwSimObjectReference myControlPoint
Definition: vrfEmbarkationPSR.h:193
DtRwTaitBryan myEmbarkedOrientation
Definition: vrfEmbarkationPSR.h:205
DtRwBoolean myOrientOnIngress
Definition: vrfEmbarkationPSR.h:210
Contains the DtRwTaitBryan class declaration.
Definition: rwVector.h:23
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: simObjectReference.h:74
Definition: vrfEmbarkationPSR.h:42
Definition: vrfEmbarkationPSR.h:51
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
std::vector< DtVector > myPath
Definition: vrfEmbarkationPSR.h:216
DtRwInt myStationName
Definition: vrfEmbarkationPSR.h:202
Description: Readable, Writable int.
Definition: rwInt.h:25
DtRwInt myEmbarkedAppearance
Definition: vrfEmbarkationPSR.h:198
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
Definition: vrfEmbarkationPSR.h:40
class DtRwOffsetVectorList:
Definition: rwVectorList.h:63
DtRwBoolean myPublishLoadPoints
Definition: vrfEmbarkationPSR.h:206
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
DtRwString myTechnique
Definition: vrfEmbarkationPSR.h:214
DtRwString mySlotName
Definition: vrfEmbarkationPSR.h:200
This is a convenience list that will add DtSimObjectReference objects and modify the list as objects ...
Definition: simObjectReferenceList.h:22
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: vrfEmbarkationPSR.h:50
Definition: vrfEmbarkationPSR.h:52
Definition: vrfEmbarkationPSR.h:39
DtRwString myCurrentSubordinateTask
Definition: vrfEmbarkationPSR.h:220
DtRwString myEmbarkedAnimation
Definition: vrfEmbarkationPSR.h:199
DtRwInt myEmbarkationState
Definition: vrfEmbarkationPSR.h:192
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
DtRwBoolean myChooseAnyAvailableIfSlotTaken
Definition: vrfEmbarkationPSR.h:204
Definition: vrfEmbarkationPSR.h:37
Definition: vrfEmbarkationPSR.h:38
DtRwBoolean myInvisibleWhenEmbarked
Definition: vrfEmbarkationPSR.h:212
File: rwVector.h.
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 Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)