VR-Forces 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>
23 
28 
32 {
33 public:
35  {
36  DtIdle = 0,
37  DtMoveToEgress = 5,
55  DtUnable
56  };
59 
60 public:
61 
64  const DtString& rwName = DtString::nullString(),
65  DtReaderWriterRegistry* parentRegistry = 0);
66 
69  const DtString& rwName = DtString::nullString(),
70  DtReaderWriterRegistry* parentRegistry = 0);
71 
73  virtual ~DtVrfEmbarkationPSR() override;
74 
77 
80  const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0) const override;
81 
84  virtual DtString type() const override;
85 
88  virtual void setEmbarkationState(DtEmbarkationControllerState state);
89  virtual DtEmbarkationControllerState embarkationState() const;
91 
94  virtual void setEmbarkationInformation(const DtUUID& parent,
95  bool useEmbarkationOverride = false, const DtVector& embarkationOverridePosition = DtVector::zero(),
96  int embarkInSlot = -1, bool chooseAnyIfSlotTaken = true);
97 
98  virtual void getEmbarkationInformation(DtSimObjectReference& parent, bool& useEmbarkationOverride,
99  DtVector& embarkationOverridePosition, int& embarkInSlot, bool& chooseAnyIfSlotTaken);
100  virtual DtSimObjectReference embarkationParent() const;
101  virtual bool embarkationLocationOverride() const;
102  virtual const DtVector& embarkationLocationOverridePosition() const;
103  virtual int embarkInSlot() const;
104  virtual bool chooseAnyAvailableSlotIfTaken() const;
105 
107  virtual void setControlPoint(const DtUUID&);
108 
110  virtual DtSimObjectReference controlPoint() const;
111 
112  virtual void setPath(const std::vector<DtVector>&);
113  virtual const std::vector<DtVector>& path() const;
114 
115  virtual void setEmbarkedAppearance(int);
116  virtual int embarkedAppearance() const;
117 
118  virtual void setEmbarkedAnimation(const DtString&);
119  virtual const DtString& embarkedAnimation() const;
120 
121  virtual void setSlotName(const DtString&);
122  virtual const DtString& slotName() const;
123 
124  virtual void setSlotType(const DtString&);
125  virtual const DtString& slotType() const;
126 
127  virtual void setStationName(DtStationName);
128  virtual DtStationName stationName() const;
129 
130  virtual void setPublishLoadPoints(bool);
131  virtual bool publishLoadPoints() const;
132 
133  virtual void setOnGroundBeforeDisembark(bool);
134  virtual bool onGroundBeforeDisembark() const;
135 
136  virtual void setEmbarkedOrientation(const DtTaitBryan&);
137  virtual const DtTaitBryan& embarkedOrientation() const;
138 
139  virtual void clearEmbarkationInformation();
140 
141  virtual void setJumpToLocation(bool b);
142  virtual bool jumpToLocation() const;
143 
144  virtual void setTurnToHeading(bool b);
145  virtual bool turnToHeading() const;
146 
147  virtual void setOrientOnIngress(bool b);
148  virtual bool orientOnIngress() const;
149 
150  virtual void setInvisibleWhenEmbarked(bool b);
151  virtual bool invisibleWhenEmbarked() const;
152 
153  virtual void setWasInvisibleBeforeEmbark(bool b);
154  virtual bool wasInvisibleBeforeEmbark() const;
155 
156  virtual void setExitPosition(const DtVector&);
157  virtual const DtVector& exitPosition() const;
158 
159  virtual void setTechnique(const DtString&);
160  virtual const DtString& technique() const;
161 
166  virtual void setEmbarkationLocked(bool bLocked);
167  virtual bool embarkationLocked() const;
169 
171  virtual void setCurrentSubordinateTask(const DtSimTaskMessageType&);
172  virtual DtSimTaskMessageType currentSubordinateTask() const;
173 
174  virtual void addTaskedSubordinate(const DtUUID& name);
175  virtual bool removeTaskedSubordinate(const DtUUID& name);
176  virtual DtSimObjectReferenceList taskedSubordinates() const;
177  virtual void clearTaskedSubordinates();
178 
180 
181  virtual void prePutSelf() override;
182  virtual void postGetSelf() override;
183 
184  virtual DtString stateString(DtEmbarkationControllerState s);
185 public:
186 
188  static DtVrfProcessStateRepository* creator (const DtString& rwName,
189  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
190 
191 protected:
192 
217  std::vector<DtVector> myPath;
218 
222 };
223 
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual void prePutSelf()
Called before either version of put self (file or environment). Default is no-op. ...
class DtVrfEmbarkationPSR:
Definition: vrfEmbarkationPSR.h:31
DtRwBoolean myEmbarkationLocationOverride
Definition: vrfEmbarkationPSR.h:196
DtRwSimObjectReference myEmbarkationParent
Definition: vrfEmbarkationPSR.h:195
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: simObjectReferenceList.h:120
Definition: vrfEmbarkationPSR.h:50
DtRwBoolean myTurnToHeading
Definition: vrfEmbarkationPSR.h:210
DtRwBoolean myOnGroundBeforeDisembark
Definition: vrfEmbarkationPSR.h:208
DtRwInt myEmbarkInSlot
Definition: vrfEmbarkationPSR.h:204
DtRwVector myExitPosition
Definition: vrfEmbarkationPSR.h:198
DtRwBoolean myJumpToLocation
Definition: vrfEmbarkationPSR.h:209
Definition: vrfEmbarkationPSR.h:49
DtRwVector myEmbarkationLocationOverridePosition
Definition: vrfEmbarkationPSR.h:197
DtEmbarkationControllerState
Definition: vrfEmbarkationPSR.h:34
Definition: vrfEmbarkationPSR.h:54
virtual void postGetSelf()
Called after either version of getSelf (mtl or environment). Default is no-op.
Definition: vrfEmbarkationPSR.h:44
DtRwString mySlotType
Definition: vrfEmbarkationPSR.h:202
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
Definition: vrfEmbarkationPSR.h:45
Description: Readable, Writable DtTaitBryan.
Definition: rwTaitBryan.h:20
Definition: readerWriterRegistry.h:39
Definition: vrfEmbarkationPSR.h:46
Contains the DtUUID class declaration.
DtRwSimObjectReferenceList myTaskedSubordinates
Aggregates only.
Definition: vrfEmbarkationPSR.h:220
DtRwBoolean myWasInvisibleBeforeEmbark
Definition: vrfEmbarkationPSR.h:212
Definition: vrfEmbarkationPSR.h:42
DtRwOffsetVectorList myRwPath
Definition: vrfEmbarkationPSR.h:216
DtRwBoolean myEmbarkationLocked
Definition: vrfEmbarkationPSR.h:214
DtRwSimObjectReference myControlPoint
Definition: vrfEmbarkationPSR.h:194
DtRwTaitBryan myEmbarkedOrientation
Definition: vrfEmbarkationPSR.h:206
DtRwBoolean myOrientOnIngress
Definition: vrfEmbarkationPSR.h:211
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: rwSimObjectReference.h:21
Definition: vrfEmbarkationPSR.h:43
Definition: vrfEmbarkationPSR.h:52
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
std::vector< DtVector > myPath
Definition: vrfEmbarkationPSR.h:217
DtRwInt myStationName
Definition: vrfEmbarkationPSR.h:203
Description: Readable, Writable int.
Definition: rwInt.h:25
DtRwInt myEmbarkedAppearance
Definition: vrfEmbarkationPSR.h:199
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
Definition: vrfEmbarkationPSR.h:41
class DtRwOffsetVectorList:
Definition: rwVectorList.h:63
DtRwBoolean myPublishLoadPoints
Definition: vrfEmbarkationPSR.h:207
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
DtRwString myTechnique
Definition: vrfEmbarkationPSR.h:215
DtRwString mySlotName
Definition: vrfEmbarkationPSR.h:201
This is a convenience list that will add DtSimObjectReference objects and modify the list as objects ...
Definition: simObjectReferenceList.h:25
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:51
Definition: vrfEmbarkationPSR.h:53
Definition: vrfEmbarkationPSR.h:40
DtRwString myCurrentSubordinateTask
Definition: vrfEmbarkationPSR.h:221
DtRwString myEmbarkedAnimation
Definition: vrfEmbarkationPSR.h:200
DtRwInt myEmbarkationState
Definition: vrfEmbarkationPSR.h:193
virtual DtString type() const =0
Returns the string type of the repository, as defined in psrTypes.h.
DtRwBoolean myChooseAnyAvailableIfSlotTaken
Definition: vrfEmbarkationPSR.h:205
Definition: vrfEmbarkationPSR.h:38
Definition: vrfEmbarkationPSR.h:39
DtRwBoolean myInvisibleWhenEmbarked
Definition: vrfEmbarkationPSR.h:213
File: rwVector.h.
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)