60 virtual const char*
type()
const;
80 virtual void unregisterTaskMsgCallbacks();
101 static void disembarkTaskCallback(
DtSimMessage* msg,
void* usr);
105 virtual void checkAndSetEgressPosture();
113 static void embarkTaskCallback(
DtSimMessage* msg,
void* usr);
117 static void embarkObjectCallback(
DtSimMessage* msg,
void* usr);
118 virtual void processEmbarkObjectCallback(
DtSimMessage* msg);
120 static void disembarkObjectCallback(
DtSimMessage* msg,
void* usr);
121 virtual void processDisembarkObjectCallback(
DtSimMessage* msg);
126 static void embarkationInformationCallback(
DtSimMessage* msg,
void* usr);
127 virtual void processEmbarkationInformationCallback(
DtSimMessage* msg);
134 static void setLoadEntityCallback(
DtSimMessage * msg,
void * usrData);
135 static void setUnloadEntityCallback(
DtSimMessage * msg,
void * usrData);
140 virtual void unload(
const DtVector& point,
int appearance = 0xFFFFFFFF);
144 static void deleteVrfObjectCallback(
const DtVrfObject* msg,
void * usr);
145 virtual void processDeleteVrfObjectCallback(
const DtVrfObject* obj);
150 static void taskCompleteReportCallback(
DtSimMessage * msg,
void * usr);
156 virtual bool performTechnique();
171 virtual void performingEmbarkTechnique();
174 virtual void performingDisembarkTechnique();
178 virtual void moveToEgress();
181 virtual void movingToEgress();
184 virtual void disembark();
190 virtual void removeControlPoint();
195 virtual void moveToIngress(
const DtUUID& parent);
197 virtual void createControlPoint(
const DtVector& location,
200 virtual void createRoute(
const std::vector<DtVector>&,
205 virtual void moveToEmbarkationPoint();
212 virtual void atEmbarkationPoint();
216 virtual void waitingToStop();
221 virtual void movingToIngress();
224 virtual void embarkObject(
bool overridePosition,
225 const DtVector& loadPosition,
int slotNumber,
226 const DtUUID& parent,
const DtString& slotName =
"*",
const DtString& slotType =
"*",
int appearance = 0xFFFFFFFF,
227 const DtTaitBryan& orientation = DtTaitBryan(),
230 bool invisibleWhenEmbarked =
false,
231 const DtString& animation = DtString::nullString());
237 virtual void unloadObject(
const DtVector& unloadPoint,
int appearance = 0xFFFFFFFF);
240 virtual void embark(
const DtVector& loadPosition,
const DtUUID& parent,
241 int appearance = 0xFFFFFFFF,
const DtTaitBryan& orientation = DtTaitBryan(),
244 bool invisibleWhenEmbarked =
false,
245 const DtString& animation = DtString::nullString());
249 virtual void movingToEmbarkationPoint();
252 virtual void stoppedAtEmbarkedPoint();
265 virtual bool createPSR();
269 virtual void setupExistingConditions();
273 virtual void completeEmbarkationInformationRequest(
282 virtual void completeDisembarkationInformationRequest(
291 virtual DtTaitBryan embarkedOrientation(
const DtTaitBryan&,
292 const DtUUID& parent)
const;
311 virtual void issueMoveToEgressTask();
312 virtual void issueMoveToIngressTask();
316 virtual void issueMoveAlongToEgressTask();
317 virtual void issueMoveAlongToIngressTask();
321 virtual void issueMoveToEmbarkationPointTask();
325 virtual DtTaitBryan currentBodyOrientation(
const DtUUID& parent)
const;
327 virtual DtVector currentBodyAcceleration(
const DtUUID& parent)
const;
339 virtual bool requestEmbarkationInformationFrom(
const DtUUID& parent,
340 bool start =
false,
int embarkInSlot = -1,
const DtString& slotName =
"*",
341 const DtString& slotType =
"*",
bool anyIfTaken =
true);
342 virtual bool requestDisembarkationInformationFrom(
const DtUUID& parent,
346 virtual void requestGiveUpSlot(
const DtUUID& parent);
348 virtual void waitingForEmbarkationInformation();
349 virtual void waitingForDisembarkationInformation();
352 virtual void placeObject(
bool clamp =
false);
355 virtual void setLocation(
const DtVector&);
363 virtual void calculateAndSetHeading(
const DtVector& start,
const DtVector& end);
368 virtual void processDisembarkationState(
const DtVector& bodyExitPosition);
369 virtual void movingToFinalDestination();
370 virtual void moveToFinalDestination();
374 virtual void preprocessEmbarkTask();
375 virtual void preprocessDisembarkTask();
379 virtual bool checkEmbarkOk(
const DtUUID& parent)
const;
384 virtual void updateDisembarkedAppearanceAndAnimation(
int appearance);
390 virtual void updateEmbarkedAppearanceAndAnimation(
int,
const DtString&);
391 virtual void updateLifeformEmbarkedAppearanceAndAnimation(
int,
const DtString&);
395 virtual void attachToEmbarkedParent(
const DtUUID& newParent);
400 virtual DtVector fallbackOffloadPoint();
413 virtual bool parentOnGround();
417 static void setHeadingCallback(
DtSimMessage*,
void* usr);
418 virtual void processSetHeading();
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
double myRequestTime
Definition: embarkationController.h:455
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
const DtVrfObject * myControlPoint
If this entity is embarking to an ingress point (or moving to the embarkation point), this object will be the point they are aiming for.
Definition: embarkationController.h:440
class DtVrfEmbarkationPSR:
Definition: vrfEmbarkationPSR.h:29
Instances of DtStringOutputPort are output ports through which data producers can send a DtString obj...
Definition: stringIOPort.h:52
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual void suspendTask()
This method is called when the currently running task is being suspended.
DtVector myLoadOverridePosition
Definition: embarkationController.h:461
virtual void enable()
Overridden to call registerTaskMsgCallbacks().
DtUUID myParentToLoadOn
Definition: embarkationController.h:462
DtEmbarkationControllerState
Definition: vrfEmbarkationPSR.h:32
virtual void registerTaskMsgCallbacks()
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
DtVrfEmbarkationPSR * myProcessState
Container for state data associated with this component.
Definition: embarkationController.h:444
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:20
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
DtEmbarkationController is a controller that supports base level embarkation/disembarkation for entit...
Definition: embarkationController.h:40
virtual const char * type() const =0
Returns a string identifies the class type of component.
virtual bool init()
Calls setRadio()
virtual void clearTask()
If component is currently tasked, calls clearPendingSubtasks(), sets the tasked flag to false...
std::list< DtString > myEmbarkedObjects
Definition: embarkationController.h:434
bool myWaiting
If myWaiting is true, the controller is waiting for some condition to be met, so, the controller will...
Definition: embarkationController.h:451
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
int myRequestRetries
Definition: embarkationController.h:456
File: simMsg.h.
Definition: simMessage.h:35
bool myRemoveSetHeadingNotifyCallback
Definition: embarkationController.h:466
virtual void tick()
This gives the thread of control to the component.
bool myAreCallbacksRegistered
Definition: embarkationController.h:457
Instances of DtEmbarkationDescriptor are used to specify the parameters for a DtEmbarkationController...
Definition: embarkationDescriptor.h:24
virtual bool createPorts()
Called by init.
bool myClampOnReceiveEmbarkationInformation
Definition: embarkationController.h:468
DtStringOutputPort * myOrderedAnimationPort
Output Port Name: ordered-animation Output Port Description: Specifies an animation to be used as lon...
Definition: embarkationController.h:474
virtual void disable()
Overridden to allow tasks controllers that can be disabled to call task complete. ...
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:33
DtEmbarkationDescriptor * myEmbarkationDescriptor
Definition: embarkationController.h:453
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
bool myResetGroundClampOnDisembarkValue
Definition: embarkationController.h:465
bool myUseLoadOverrideIfNoSlotAvailable
Will be set if the embarkation request is to use an override position if no slots are available...
Definition: embarkationController.h:460
A DtTaskMsg is a DtRadioMsg with a pointer to a task.
Definition: taskMessage.h:19
virtual void clearCurrentTaskMessage()
Returns the current subtask with the specified id.
bool myResetGroundClampOnDisembark
Definition: embarkationController.h:464