11 #include <vlutil/vlConfig.h>
18 #include <vlpi/entityType.h>
21 #include <tbb/spin_rw_mutex.h>
33 void addReservedBy(
const DtUUID&);
34 void removeReservedBy(
const DtUUID&);
35 bool reservedBy(
const DtUUID&)
const;
63 parentRegistry = NULL);
65 parentRegistry = NULL);
70 parentRegistry = NULL);
74 parentRegistry = NULL);
78 int reservedSlot()
const;
79 void setReservedSlot(
int);
82 void addReservedBy(
const DtUUID&);
105 parentRegistry = NULL);
109 parentRegistry = NULL);
135 virtual std::vector<DtEmbarkationSlotInformation> slotInformationFor(
const DtEntityType&)
const;
139 virtual bool blocked(
int iSlot)
const;
153 virtual bool reserved(
int)
const;
156 virtual bool reserveSlot(
int iSlot,
const DtUUID&);
160 virtual void ingressPoints(
int iSlot,
const DtSimObject* embarkingObject,
167 virtual void giveUpSlot(
int,
const DtUUID&);
171 parentRegistry = NULL);
176 virtual void calculateDisembarkPositions(
const std::vector<DtSimObjectReference>&);
185 const DtVector& lastBodyPos,
bool tasked,
bool flipBodyX =
false,
186 bool flipBodyY =
false);
190 virtual void setScalingFactor(
double);
191 virtual double scalingFactor()
const;
201 virtual void calculateGridSize(
const std::vector<DtSimObjectReference>&);
205 virtual void calculateGridCellSize(
const std::vector<DtSimObjectReference>&);
210 virtual DtDcm finalPositionTransformationMatrix(
const DtSimObject* parent,
const DtVector& lastBodyPos)
const;
217 virtual bool slotMatches(
const DtLoadPoint*,
int iSlot)
const;
220 virtual void putData(std::string& fp,
int indentLevel = 0)
override;
236 virtual DtVector bodyPositionToLocalPosition(
const DtVector& bodyPosition,
UUID is a unique ID wrapper class.
Definition: uuid.h:59
const DtRwTemplatedListPtr< DtSlotExclusion, true > & slotExclustions() const
Definition: embarkationSlotManager.h:196
Definition: embarkationSlotManager.h:59
void setReservedSlot(int)
Definition: embarkationSlotManager.h:269
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
Definition: embarkationSlotManager.h:27
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
const DtEmbarkationSlotEntry * myEntry
Definition: embarkationSlotManager.h:30
Definition: embarkationSlotManager.h:92
DtLoadPoint; Readable/writeable object for describing position for entity loading/unloading.
Definition: loadPoint.h:22
std::vector< DtUUID > myReservedBy
Definition: embarkationSlotManager.h:31
const DtEmbarkationSlotEntryMap & slots() const
Definition: embarkationSlotManager.h:193
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
DtRwTemplatedListPtr< DtReservedSlot, true > DtReservedSlotList
Definition: embarkationSlotManager.h:95
DtEmbarkationSlotEntry.
Definition: embarkationSlotEntry.h:27
DtRwInt myDisembarkGridCell
The currently disembarking grid cell to use.
Definition: embarkationSlotManager.h:254
Definition: rwVector.h:23
std::vector< DtLoadPoint > DtLoadPathPoints
Definition: embarkationSlotManager.h:90
static const DtUUID & nullUUID()
DtRwSimObjectReferenceList myReservedBy
Definition: embarkationSlotManager.h:86
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
std::map< int, DtReservedEmbarkationSlotEntry > DtEmbarkationSlotEntryMap
Definition: embarkationSlotManager.h:89
Description: Readable, Writable int.
Definition: rwInt.h:25
DtReservedSlotList myReservedSlots
Only valid for load/get time.
Definition: embarkationSlotManager.h:257
DtRwTemplatedListPtr< DtSlotExclusion, true > mySlotExclusions
Definition: embarkationSlotManager.h:244
int reservedSlot() const
Definition: embarkationSlotManager.h:264
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
DtRwVector myDisembarkGridSize
Disembark position variables; Currently only uses x, y variables.
Definition: embarkationSlotManager.h:248
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:80
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
double myScalingFactor
Local variables.
Definition: embarkationSlotManager.h:260
DtSlotExclusion.
Definition: slotExclusion.h:19
const DtRwTemplatedListPtr< DtLoadPoint, true > & ingressPoints() const
Definition: embarkationSlotManager.h:194
const DtRwTemplatedListPtr< DtLoadPoint, true > & egressPoints() const
Definition: embarkationSlotManager.h:195
DtRwVector myDisembarkGridCellSize
Currently only uses x, y variables for spacing.
Definition: embarkationSlotManager.h:251
DtRwTemplatedListPtr< DtLoadPoint, true > myIngressPoints
Definition: embarkationSlotManager.h:242
tbb::spin_rw_mutex mySlotsMutex
Definition: embarkationSlotManager.h:240
DtRwTemplatedListPtr< DtLoadPoint, true > myEgressPoints
Definition: embarkationSlotManager.h:243
DtSimulationServices * mySimulationServices
Definition: embarkationSlotManager.h:261
DtEmbarkationSlotEntryMap mySlots
Definition: embarkationSlotManager.h:241
DtRwInt myReservedSlot
Definition: embarkationSlotManager.h:85