![]() |
VR-Forces 4.0.4 Class Documentation
|
DtEmbarkationController is a controller that supports base level embarkation/disembarkation for entities in the system. More...

Public Member Functions | |
| DtEmbarkationController (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) | |
| (const DtString&,DtVrfObject*,DtSimManager*, | |
| virtual | ~DtEmbarkationController () |
| destructor | |
| virtual bool | init () |
| Initializes any state that is needed. | |
| virtual DtString | type () const |
| Returns a string identifies the class type of component. | |
Static Public Member Functions | |
| static DtSimComponent * | creator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0) |
| (const DtString&,DtVrfObject*,DtSimManager*, | |
Protected Member Functions | |
| virtual void | registerTaskMsgCallbacks () |
| Override for interest in both embarkation tasks and sets. | |
| virtual void | tick () |
| Ticks and performs current state. | |
| virtual void | clearCurrentTaskMessage () |
| Resets state flag to DtIdle. | |
| virtual void | clearTask () |
| Override to clear out any subtasks we might have. | |
| virtual void | processDisembarkTask (DtSimMessage *msg) |
| Tasks. | |
| virtual void | processEmbarkTask (DtSimMessage *msg) |
| Sets state to be DtMoveToIngress. | |
| virtual void | processEmbarkObjectCallback (DtSimMessage *msg) |
| virtual void | processDisembarkObjectCallback (DtSimMessage *msg) |
| virtual void | processEmbarkationInformationCallback (DtSimMessage *msg) |
| virtual void | processLoadEntity (DtSimMessage *msg) |
| Sets. | |
| virtual void | processUnloadEntity (DtSimMessage *msg) |
| virtual void | unload (const DtVector &point) |
| Unloads entity at specified egress point. | |
| virtual void | processDeleteVrfObjectCallback (DtVrfObject *obj) |
| virtual void | processTaskComplete (DtSimMessage *msg) |
| virtual void | moveToEgress () |
| Moves the item to the egress point to prepare for disembarking. | |
| virtual void | movingToEgress () |
| Called while entity is moving to egress point. Currently no-ops. | |
| virtual void | disembark () |
| Disembarks item by calling unload() and then resets state to idle. | |
| virtual void | sendTask (const DtSimTask &task, const DtString &toName) |
| Sends task to specified receiver. | |
| virtual void | removeControlPoint () |
| Removes the control point from object manager (if exists) | |
| virtual void | moveToIngress (const DtString &parentName) |
| Starts a moveTo tasks, given the myIngressPoint (that is created as part of this method) as the target. | |
| virtual void | createControlPoint (const DtVector &location, const DtString &parent) |
| virtual void | createRoute (const std::vector< DtVector > &, const DtString &parent) |
| virtual void | moveToEmbarkationPoint () |
| Sets state to DtMovingToEmbarkationPoint and starts task to move to embarkation point. | |
| virtual void | atEmbarkationPoint () |
| Embarks object on target (using myEmbarkationParent, myEmbarkationPoint member variables) by calling embark() method. | |
| virtual void | waitingToStop () |
| Called while the entity is waiting to come to a complete stop. | |
| virtual void | movingToIngress () |
| Called while the entity is moving to ingress point. | |
| virtual void | embarkObject (bool overridePosition, const DtVector &loadPosition, const DtString &parentName, int appearance=0xFFFFFFFF, const DtTaitBryan &orientation=DtTaitBryan(), const DtVector &acceleration=DtVector(), const DtVector &velocty=DtVector()) |
| Called as part of processLoad() message. | |
| virtual void | unloadObject (const DtVector &unloadPoint) |
| Called as part of processUnload. | |
| virtual void | embark (const DtVector &loadPosition, const DtString &parentName, int appearance=0xFFFFFFFF, const DtTaitBryan &orientation=DtTaitBryan(), const DtVector &acceleration=DtVector(), const DtVector &velocty=DtVector()) |
| Called to complete embarkation via task. | |
| virtual void | movingToEmbarkationPoint () |
| Called when moving to embarkation point. | |
| virtual void | stoppedAtEmbarkedPoint () |
| Last step -- embark on object. | |
| virtual void | setState (DtVrfEmbarkationPSR::DtEmbarkationControllerState) |
| Sets state in PSR and returns state from PSR. | |
| virtual DtVrfEmbarkationPSR::DtEmbarkationControllerState | state () const |
| virtual bool | createPSR () |
| Creates myProcessState data member, and adds it to our process state repository manager. | |
| virtual void | setupExistingConditions () |
| Called only during first tick, sets up any internal variables that are needed. | |
| virtual void | completeEmbarkationInformationRequest (const DtIfEmbarkationInformation *) |
| Called when embarkation information has been received and we have been cleared to embark. | |
| virtual void | embarkationRefused (const DtIfEmbarkationInformation *) |
| Called when embarkation information has been received and we have been declined an embarkation slot. | |
| virtual void | completeDisembarkationInformationRequest (const DtIfEmbarkationInformation *) |
| Called when disembarkation information has been received and we have been cleared to disembark. | |
| virtual void | disembarkationRefused (const DtIfEmbarkationInformation *) |
| Called when disembarkation information has been received and we have been declined the request to disembark. | |
| virtual DtTaitBryan | embarkedOrientation (const DtTaitBryan &, const DtString &parent) const |
| Takes the orientation from embarkation information and transforms it to an embarkable orientation. | |
| virtual void | moveToIngressPoint (const DtIfEmbarkationInformation *info) |
| Creates a control point and give a DtMoveTo subtask to move to the ingress point. | |
| virtual void | moveAlongToIngressPoint (const DtIfEmbarkationInformation *info) |
| Creates a route and give a DtMoveAlong subtask to move along the route. | |
| virtual void | moveToEgressPoint (const DtIfEmbarkationInformation *info) |
| Creates a control point and give a DtMoveTo subtask to move to the egress point. | |
| virtual void | moveAlongToEgressPoint (const DtIfEmbarkationInformation *info) |
| Creates a route and give a DtMoveAlong subtask to move along the route to the egress point. | |
| virtual void | issueMoveToEgressTask () |
| Override to issue a task that is different than the DtMoveTo for a single control point. | |
| virtual void | issueMoveToIngressTask () |
| virtual void | issueMoveAlongToEgressTask () |
| Override to issue a task that is different than the default DtMoveAlong task. | |
| virtual void | issueMoveAlongToIngressTask () |
| virtual void | issueMoveToEmbarkationPointTask () |
| Override to issue a task that is different than the default DtMoveTo task. | |
| virtual DtVector | currentBodyPosition (const DtString &parent) const |
| Current body position and orientation on embarked parent. | |
| virtual DtTaitBryan | currentBodyOrientation (const DtString &parent) const |
| virtual DtVector | currentBodyVelocity (const DtString &parent) const |
| virtual DtVector | currentBodyAcceleration (const DtString &parent) const |
| virtual bool | requestEmbarkationInformationFrom (const DtString &parent, bool start=false) |
| Sends a request to find out ingress and embarkation location of the host entity. | |
| virtual bool | requestDisembarkationInformationFrom (const DtString &parent, bool start=false) |
| virtual void | requestGiveUpSlot (const DtString &parent) |
| Sends a request to give up a slot that might be reserved in our name. | |
| virtual void | waitingForEmbarkationInformation () |
| virtual void | waitingForDisembarkationInformation () |
| virtual void | placeObject () |
| Places object on terrain after embarkation to refresh support points. | |
| virtual void | setLocation (const DtVector &) |
| Sends setLocation request to this entity for the specified world location. | |
| virtual void | calculateAndSetHeading (const DtVector &start, const DtVector &end) |
| Calculates the heading needed to disbark given the current state. | |
| virtual void | sendSetRequest (DtSetDataRequest &request) |
| Sends set request. | |
| virtual void | processDisembarkationState (const DtVector &bodyExitPosition) |
| virtual void | movingToFinalDestination () |
| virtual void | moveToFinalDestination () |
| virtual void | preprocessEmbarkTask () |
| Currently noops, but, give an opportunity to do any preprocessing before embark or disembark task starts. | |
| virtual void | preprocessDisembarkTask () |
| virtual bool | checkEmbarkOk (const DtString &parent) const |
| Returns false if entity is to embark on another entity that is not embarked on the same entity as this one (or, if they are not both disembarked) | |
| virtual void | updateDisembarkedAppearance () |
| Updates the appearance of a disembarked object (from its current appearance). | |
| virtual void | updateEmbarkedAppearance (int) |
| Updates the appearance of an embarked entity. | |
| virtual void | updateLifeformEmbarkedAppearance (int) |
| virtual void | attachToEmbarkedParent (const DtString &newParent) |
| Only called when disembarkation causes the entity to be embarked on a new parent (i.e. | |
| virtual DtVector | fallbackOffloadPoint () |
| If an entity tries to be disembarked, but, it never hears back as to where it can disembark, this is the spot that it will be disembarked to. | |
| virtual void | addSetDataCallbacks () |
| Add set data request callbacks. | |
| void | removeSetDataCallbacks () |
| Callbacks are removed when component is disabled or destroyed. | |
| virtual void | addMessageCallbacks () |
| Add message interface callbacks. | |
| void | removeMessageCallbacks () |
| Callbacks are removed when component is disabled or destroyed. | |
| virtual void | enable () |
| Override to add set data request and message callbacks. | |
| virtual void | disable () |
| Override to remove set data request and message callbacks. | |
Static Protected Member Functions | |
| static void | disembarkTaskCallback (DtSimMessage *msg, void *usr) |
| static void | embarkTaskCallback (DtSimMessage *msg, void *usr) |
| static void | embarkObjectCallback (DtSimMessage *msg, void *usr) |
| Processes DtIfEmbark and disembark messages. | |
| static void | disembarkObjectCallback (DtSimMessage *msg, void *usr) |
| static void | embarkationInformationCallback (DtSimMessage *msg, void *usr) |
| Called when embarkation information is received over the network. | |
| static void | setLoadEntityCallback (DtSimMessage *msg, void *usrData) |
| static void | setUnloadEntityCallback (DtSimMessage *msg, void *usrData) |
| static void | deleteVrfObjectCallback (DtVrfObject *msg, void *usr) |
| If an object is deleted and it is the object we are trying to embark on, then stop the current embark task. | |
| static void | taskCompleteReportCallback (DtSimMessage *msg, void *usr) |
| Monitor taskReportComplete callback to see when our moveTo task is complete during embarkation so we can then set state to DtMoveToEmbarkPoint. | |
Protected Attributes | |
| std::list< DtString > | myEmbarkedObjects |
| 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. | |
| DtVrfEmbarkationPSR * | myProcessState |
| Container for state data associated with this component. | |
| bool | myFirstTick |
| bool | myWaiting |
| If myWaiting is true, the controller is waiting for some condition to be met, so, the controller will not start working until the conditions are met. | |
| DtEmbarkationDescriptor * | myEmbarkationDescriptor |
| double | myRequestTime |
| int | myRequestRetries |
Private Member Functions | |
| DtEmbarkationController () | |
| default constructor; not implemented | |
| DtEmbarkationController (const DtEmbarkationController &orig) | |
| copy constructor; not implemented | |
| const DtEmbarkationController & | operator= (const DtEmbarkationController &orig) |
| assignment operator; not implemented | |
DtEmbarkationController is a controller that supports base level embarkation/disembarkation for entities in the system.
Developer Description: If an entity requires specialized handling of any of the tasks or sets that are used for embarkation functionality, then override this class to handle that.
Uses Descriptor Type: DtEmbarkationDescriptor
DtEmbarkationController model description
| DtEmbarkationController::DtEmbarkationController | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc = 0, |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
(const DtString&,DtVrfObject*,DtSimManager*,
| name | Reader writer name of this component. |
| owner | The DtVrfObject that owns this component |
| simManager | The simulation manager (provides access to terrain, message interface, simulation clock). |
| desc | The component descriptor used to initialize this component. |
| parentRegistry | Pointer to the parent reader writer registry (the containing object that reads/writes this object). |
| virtual DtEmbarkationController::~DtEmbarkationController | ( | ) | [virtual] |
destructor
| DtEmbarkationController::DtEmbarkationController | ( | ) | [private] |
default constructor; not implemented
| DtEmbarkationController::DtEmbarkationController | ( | const DtEmbarkationController & | orig | ) | [private] |
copy constructor; not implemented
| virtual bool DtEmbarkationController::init | ( | ) | [virtual] |
Initializes any state that is needed.
Reimplemented from DtControllerComponent.
Reimplemented in DtFixedWingEmbarkationController, and DtDisaggregatedEmbarkationController.
| virtual DtString DtEmbarkationController::type | ( | ) | const [virtual] |
Returns a string identifies the class type of component.
Type values are defined in compTypes.h. DtSimComponent creation functions are registered with the DtSimComponentFactory using the type values as the key.
Implements DtTaskControllerComponent.
Reimplemented in DtDisaggregatedEmbarkationController, DtFixedWingEmbarkationController, and DtRotaryWingEmbarkationController.
| static DtSimComponent* DtEmbarkationController::creator | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc = 0, |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) | [static] |
(const DtString&,DtVrfObject*,DtSimManager*,
| name | Reader writer name of this component. |
| owner | The DtVrfObject that owns this component |
| simManager | The simulation manager (provides access to terrain, message interface, simulation clock). |
| desc | The component descriptor used to initialize this component. |
| parentRegistry | Pointer to the parent reader writer registry (the containing object that reads/writes this object). |
Reimplemented in DtDisaggregatedEmbarkationController, DtFixedWingEmbarkationController, and DtRotaryWingEmbarkationController.
| virtual void DtEmbarkationController::registerTaskMsgCallbacks | ( | ) | [protected, virtual] |
Override for interest in both embarkation tasks and sets.
Reimplemented from DtTaskControllerComponent.
Reimplemented in DtDisaggregatedEmbarkationController.
| virtual void DtEmbarkationController::tick | ( | ) | [protected, virtual] |
Ticks and performs current state.
Reimplemented from DtSimComponent.
Reimplemented in DtDisaggregatedEmbarkationController.
| virtual void DtEmbarkationController::clearCurrentTaskMessage | ( | ) | [protected, virtual] |
Resets state flag to DtIdle.
Reimplemented from DtSingleTaskControllerComponent.
| virtual void DtEmbarkationController::clearTask | ( | ) | [protected, virtual] |
Override to clear out any subtasks we might have.
Reimplemented from DtSingleTaskControllerComponent.
Reimplemented in DtDisaggregatedEmbarkationController.
| virtual void DtEmbarkationController::processDisembarkTask | ( | DtSimMessage * | msg | ) | [protected, virtual] |
Tasks.
Calls down to immediately disembark the item to the egress point
| static void DtEmbarkationController::disembarkTaskCallback | ( | DtSimMessage * | msg, |
| void * | usr | ||
| ) | [static, protected] |
| virtual void DtEmbarkationController::processEmbarkTask | ( | DtSimMessage * | msg | ) | [protected, virtual] |
Sets state to be DtMoveToIngress.
The DtMoveToIngress state will start at DtMoveToTask as a subtask to move to the ingress point. Once that task is complete, the state will be changed to DtMoveToEmbarkationPoint, after which the entity will be considered embarked.
| static void DtEmbarkationController::embarkTaskCallback | ( | DtSimMessage * | msg, |
| void * | usr | ||
| ) | [static, protected] |
| static void DtEmbarkationController::embarkObjectCallback | ( | DtSimMessage * | msg, |
| void * | usr | ||
| ) | [static, protected] |
Processes DtIfEmbark and disembark messages.
If there is a load override, does not query the occupancy controller for embark point
| virtual void DtEmbarkationController::processEmbarkObjectCallback | ( | DtSimMessage * | msg | ) | [protected, virtual] |
Reimplemented in DtDisaggregatedEmbarkationController.
| static void DtEmbarkationController::disembarkObjectCallback | ( | DtSimMessage * | msg, |
| void * | usr | ||
| ) | [static, protected] |
| virtual void DtEmbarkationController::processDisembarkObjectCallback | ( | DtSimMessage * | msg | ) | [protected, virtual] |
Reimplemented in DtDisaggregatedEmbarkationController.
| static void DtEmbarkationController::embarkationInformationCallback | ( | DtSimMessage * | msg, |
| void * | usr | ||
| ) | [static, protected] |
Called when embarkation information is received over the network.
If our name is attached and we are awaiting embarkation information, then complete the embarkation (or disembarkation) process
| virtual void DtEmbarkationController::processEmbarkationInformationCallback | ( | DtSimMessage * | msg | ) | [protected, virtual] |
| virtual void DtEmbarkationController::processLoadEntity | ( | DtSimMessage * | msg | ) | [protected, virtual] |
Sets.
| virtual void DtEmbarkationController::processUnloadEntity | ( | DtSimMessage * | msg | ) | [protected, virtual] |
| static void DtEmbarkationController::setLoadEntityCallback | ( | DtSimMessage * | msg, |
| void * | usrData | ||
| ) | [static, protected] |
| static void DtEmbarkationController::setUnloadEntityCallback | ( | DtSimMessage * | msg, |
| void * | usrData | ||
| ) | [static, protected] |
| virtual void DtEmbarkationController::unload | ( | const DtVector & | point | ) | [protected, virtual] |
Unloads entity at specified egress point.
Reimplemented in DtRotaryWingEmbarkationController.
| static void DtEmbarkationController::deleteVrfObjectCallback | ( | DtVrfObject * | msg, |
| void * | usr | ||
| ) | [static, protected] |
If an object is deleted and it is the object we are trying to embark on, then stop the current embark task.
| virtual void DtEmbarkationController::processDeleteVrfObjectCallback | ( | DtVrfObject * | obj | ) | [protected, virtual] |
| static void DtEmbarkationController::taskCompleteReportCallback | ( | DtSimMessage * | msg, |
| void * | usr | ||
| ) | [static, protected] |
Monitor taskReportComplete callback to see when our moveTo task is complete during embarkation so we can then set state to DtMoveToEmbarkPoint.
| virtual void DtEmbarkationController::processTaskComplete | ( | DtSimMessage * | msg | ) | [protected, virtual] |
Reimplemented in DtDisaggregatedEmbarkationController, and DtFixedWingEmbarkationController.
| virtual void DtEmbarkationController::moveToEgress | ( | ) | [protected, virtual] |
Moves the item to the egress point to prepare for disembarking.
Currently simply sets state to DtDisembark
Reimplemented in DtDisaggregatedEmbarkationController.
| virtual void DtEmbarkationController::movingToEgress | ( | ) | [protected, virtual] |
Called while entity is moving to egress point. Currently no-ops.
Reimplemented in DtFixedWingEmbarkationController.
| virtual void DtEmbarkationController::disembark | ( | ) | [protected, virtual] |
Disembarks item by calling unload() and then resets state to idle.
Reimplemented in DtRotaryWingEmbarkationController.
| virtual void DtEmbarkationController::sendTask | ( | const DtSimTask & | task, |
| const DtString & | toName | ||
| ) | [protected, virtual] |
Sends task to specified receiver.
| virtual void DtEmbarkationController::removeControlPoint | ( | ) | [protected, virtual] |
Removes the control point from object manager (if exists)
| virtual void DtEmbarkationController::moveToIngress | ( | const DtString & | parentName | ) | [protected, virtual] |
Starts a moveTo tasks, given the myIngressPoint (that is created as part of this method) as the target.
It then sets it's state to DtMovingToIngress
Reimplemented in DtDisaggregatedEmbarkationController.
| virtual void DtEmbarkationController::createControlPoint | ( | const DtVector & | location, |
| const DtString & | parent | ||
| ) | [protected, virtual] |
| virtual void DtEmbarkationController::createRoute | ( | const std::vector< DtVector > & | , |
| const DtString & | parent | ||
| ) | [protected, virtual] |
| virtual void DtEmbarkationController::moveToEmbarkationPoint | ( | ) | [protected, virtual] |
Sets state to DtMovingToEmbarkationPoint and starts task to move to embarkation point.
| virtual void DtEmbarkationController::atEmbarkationPoint | ( | ) | [protected, virtual] |
Embarks object on target (using myEmbarkationParent, myEmbarkationPoint member variables) by calling embark() method.
Sends DtStopMovingTask and, when the task report complete is received, sets state to DtStoppedAtEmbarkationPoint
Reimplemented in DtDisaggregatedEmbarkationController, DtFixedWingEmbarkationController, and DtRotaryWingEmbarkationController.
| virtual void DtEmbarkationController::waitingToStop | ( | ) | [protected, virtual] |
Called while the entity is waiting to come to a complete stop.
| virtual void DtEmbarkationController::movingToIngress | ( | ) | [protected, virtual] |
Called while the entity is moving to ingress point.
If ingress is actually a route, when the entity gets to the first point of the route, embark it so it will avoid obstacles
Reimplemented in DtFixedWingEmbarkationController.
| virtual void DtEmbarkationController::embarkObject | ( | bool | overridePosition, |
| const DtVector & | loadPosition, | ||
| const DtString & | parentName, | ||
| int | appearance = 0xFFFFFFFF, |
||
| const DtTaitBryan & | orientation = DtTaitBryan(), |
||
| const DtVector & | acceleration = DtVector(), |
||
| const DtVector & | velocty = DtVector() |
||
| ) | [protected, virtual] |
Called as part of processLoad() message.
Reimplemented in DtDisaggregatedEmbarkationController.
| virtual void DtEmbarkationController::unloadObject | ( | const DtVector & | unloadPoint | ) | [protected, virtual] |
Called as part of processUnload.
Reimplemented in DtDisaggregatedEmbarkationController.
| virtual void DtEmbarkationController::embark | ( | const DtVector & | loadPosition, |
| const DtString & | parentName, | ||
| int | appearance = 0xFFFFFFFF, |
||
| const DtTaitBryan & | orientation = DtTaitBryan(), |
||
| const DtVector & | acceleration = DtVector(), |
||
| const DtVector & | velocty = DtVector() |
||
| ) | [protected, virtual] |
Called to complete embarkation via task.
Reimplemented in DtFixedWingEmbarkationController, and DtRotaryWingEmbarkationController.
| virtual void DtEmbarkationController::movingToEmbarkationPoint | ( | ) | [protected, virtual] |
Called when moving to embarkation point.
Sets state to DtAtEmbarkationPoint
| virtual void DtEmbarkationController::stoppedAtEmbarkedPoint | ( | ) | [protected, virtual] |
Last step -- embark on object.
| virtual void DtEmbarkationController::setState | ( | DtVrfEmbarkationPSR::DtEmbarkationControllerState | ) | [protected, virtual] |
Sets state in PSR and returns state from PSR.
| virtual DtVrfEmbarkationPSR::DtEmbarkationControllerState DtEmbarkationController::state | ( | ) | const [protected, virtual] |
| virtual bool DtEmbarkationController::createPSR | ( | ) | [protected, virtual] |
Creates myProcessState data member, and adds it to our process state repository manager.
Passes in the name and type specified in the component descriptor (if they exist) to the DtVrfProcessStateRepository::createRepository factory method. If name and/or type is not specified, uses the appropriate default strings defined in procSRTypes.h.
| virtual void DtEmbarkationController::setupExistingConditions | ( | ) | [protected, virtual] |
Called only during first tick, sets up any internal variables that are needed.
| virtual void DtEmbarkationController::completeEmbarkationInformationRequest | ( | const DtIfEmbarkationInformation * | ) | [protected, virtual] |
Called when embarkation information has been received and we have been cleared to embark.
| virtual void DtEmbarkationController::embarkationRefused | ( | const DtIfEmbarkationInformation * | ) | [protected, virtual] |
Called when embarkation information has been received and we have been declined an embarkation slot.
| virtual void DtEmbarkationController::completeDisembarkationInformationRequest | ( | const DtIfEmbarkationInformation * | ) | [protected, virtual] |
Called when disembarkation information has been received and we have been cleared to disembark.
| virtual void DtEmbarkationController::disembarkationRefused | ( | const DtIfEmbarkationInformation * | ) | [protected, virtual] |
Called when disembarkation information has been received and we have been declined the request to disembark.
| virtual DtTaitBryan DtEmbarkationController::embarkedOrientation | ( | const DtTaitBryan & | , |
| const DtString & | parent | ||
| ) | const [protected, virtual] |
Takes the orientation from embarkation information and transforms it to an embarkable orientation.
| virtual void DtEmbarkationController::moveToIngressPoint | ( | const DtIfEmbarkationInformation * | info | ) | [protected, virtual] |
Creates a control point and give a DtMoveTo subtask to move to the ingress point.
| virtual void DtEmbarkationController::moveAlongToIngressPoint | ( | const DtIfEmbarkationInformation * | info | ) | [protected, virtual] |
Creates a route and give a DtMoveAlong subtask to move along the route.
| virtual void DtEmbarkationController::moveToEgressPoint | ( | const DtIfEmbarkationInformation * | info | ) | [protected, virtual] |
Creates a control point and give a DtMoveTo subtask to move to the egress point.
| virtual void DtEmbarkationController::moveAlongToEgressPoint | ( | const DtIfEmbarkationInformation * | info | ) | [protected, virtual] |
Creates a route and give a DtMoveAlong subtask to move along the route to the egress point.
| virtual void DtEmbarkationController::issueMoveToEgressTask | ( | ) | [protected, virtual] |
Override to issue a task that is different than the DtMoveTo for a single control point.
| virtual void DtEmbarkationController::issueMoveToIngressTask | ( | ) | [protected, virtual] |
| virtual void DtEmbarkationController::issueMoveAlongToEgressTask | ( | ) | [protected, virtual] |
Override to issue a task that is different than the default DtMoveAlong task.
Reimplemented in DtFixedWingEmbarkationController.
| virtual void DtEmbarkationController::issueMoveAlongToIngressTask | ( | ) | [protected, virtual] |
Reimplemented in DtFixedWingEmbarkationController.
| virtual void DtEmbarkationController::issueMoveToEmbarkationPointTask | ( | ) | [protected, virtual] |
Override to issue a task that is different than the default DtMoveTo task.
Reimplemented in DtRotaryWingEmbarkationController.
| virtual DtVector DtEmbarkationController::currentBodyPosition | ( | const DtString & | parent | ) | const [protected, virtual] |
Current body position and orientation on embarked parent.
| virtual DtTaitBryan DtEmbarkationController::currentBodyOrientation | ( | const DtString & | parent | ) | const [protected, virtual] |
| virtual DtVector DtEmbarkationController::currentBodyVelocity | ( | const DtString & | parent | ) | const [protected, virtual] |
| virtual DtVector DtEmbarkationController::currentBodyAcceleration | ( | const DtString & | parent | ) | const [protected, virtual] |
| virtual bool DtEmbarkationController::requestEmbarkationInformationFrom | ( | const DtString & | parent, |
| bool | start = false |
||
| ) | [protected, virtual] |
Sends a request to find out ingress and embarkation location of the host entity.
The entity can return with the requested information, and, possibly a new parent to embark on. It also sets the machine state to DtWaitingForEmbarkationInformtaion (or Disembarkation). If return information has not been received in the timeout period of time, then, a new request will be made. If a receipt has not been received in the retry amount of times, then, the embarkation will fail
If start is true, then reset retries to 1
| virtual bool DtEmbarkationController::requestDisembarkationInformationFrom | ( | const DtString & | parent, |
| bool | start = false |
||
| ) | [protected, virtual] |
| virtual void DtEmbarkationController::requestGiveUpSlot | ( | const DtString & | parent | ) | [protected, virtual] |
Sends a request to give up a slot that might be reserved in our name.
| virtual void DtEmbarkationController::waitingForEmbarkationInformation | ( | ) | [protected, virtual] |
| virtual void DtEmbarkationController::waitingForDisembarkationInformation | ( | ) | [protected, virtual] |
| virtual void DtEmbarkationController::placeObject | ( | ) | [protected, virtual] |
Places object on terrain after embarkation to refresh support points.
| virtual void DtEmbarkationController::setLocation | ( | const DtVector & | ) | [protected, virtual] |
Sends setLocation request to this entity for the specified world location.
Reimplemented in DtFixedWingEmbarkationController.
| virtual void DtEmbarkationController::calculateAndSetHeading | ( | const DtVector & | start, |
| const DtVector & | end | ||
| ) | [protected, virtual] |
Calculates the heading needed to disbark given the current state.
If disembarking along a route, calculates the heading from first to second point, else calculates heading from center of entity to egress point or Calculates the heading needed to move from current embarkation position to embarked space, and sets it. If moving along an ingress route (or, about to) calculates and sets the heading to the next point
| virtual void DtEmbarkationController::sendSetRequest | ( | DtSetDataRequest & | request | ) | [protected, virtual] |
Sends set request.
| virtual void DtEmbarkationController::processDisembarkationState | ( | const DtVector & | bodyExitPosition | ) | [protected, virtual] |
| virtual void DtEmbarkationController::movingToFinalDestination | ( | ) | [protected, virtual] |
| virtual void DtEmbarkationController::moveToFinalDestination | ( | ) | [protected, virtual] |
| virtual void DtEmbarkationController::preprocessEmbarkTask | ( | ) | [protected, virtual] |
Currently noops, but, give an opportunity to do any preprocessing before embark or disembark task starts.
Reimplemented in DtDisaggregatedEmbarkationController.
| virtual void DtEmbarkationController::preprocessDisembarkTask | ( | ) | [protected, virtual] |
Reimplemented in DtDisaggregatedEmbarkationController.
| virtual bool DtEmbarkationController::checkEmbarkOk | ( | const DtString & | parent | ) | const [protected, virtual] |
Returns false if entity is to embark on another entity that is not embarked on the same entity as this one (or, if they are not both disembarked)
| virtual void DtEmbarkationController::updateDisembarkedAppearance | ( | ) | [protected, virtual] |
Updates the appearance of a disembarked object (from its current appearance).
Currently will only set DI posture to standing
| virtual void DtEmbarkationController::updateEmbarkedAppearance | ( | int | ) | [protected, virtual] |
Updates the appearance of an embarked entity.
If appearance is not 0xFFFFFFFF will set that appearance directly, unless the entity is a lifeform. It will then call updateLifeformEmbarkedAppearance, which will only set the posture component of the appearance
| virtual void DtEmbarkationController::updateLifeformEmbarkedAppearance | ( | int | ) | [protected, virtual] |
| virtual void DtEmbarkationController::attachToEmbarkedParent | ( | const DtString & | newParent | ) | [protected, virtual] |
Only called when disembarkation causes the entity to be embarked on a new parent (i.e.
if disembarking from a helicopter that is embarked on a carrier, the disembarking entity is now considered embarked on the carrier)
| virtual DtVector DtEmbarkationController::fallbackOffloadPoint | ( | ) | [protected, virtual] |
If an entity tries to be disembarked, but, it never hears back as to where it can disembark, this is the spot that it will be disembarked to.
This is in body position. Currently, that is 0, 0, 0 if the embarkation parent information cannot be found, or it will try and place it outside of the bounding volume of the parent
| virtual void DtEmbarkationController::addSetDataCallbacks | ( | ) | [protected, virtual] |
Add set data request callbacks.
Set data request callbacks are added when component is first created, and whenever component is enabled.
| void DtEmbarkationController::removeSetDataCallbacks | ( | ) | [protected] |
Callbacks are removed when component is disabled or destroyed.
Non-virtual because it is called from the destructor.
| virtual void DtEmbarkationController::addMessageCallbacks | ( | ) | [protected, virtual] |
Add message interface callbacks.
Message interface callbacks are added when component is first created, and whenever component is enabled.
| void DtEmbarkationController::removeMessageCallbacks | ( | ) | [protected] |
Callbacks are removed when component is disabled or destroyed.
Non-virtual because it is called from the destructor.
| virtual void DtEmbarkationController::enable | ( | ) | [protected, virtual] |
Override to add set data request and message callbacks.
Reimplemented from DtTaskControllerComponent.
| virtual void DtEmbarkationController::disable | ( | ) | [protected, virtual] |
Override to remove set data request and message callbacks.
Reimplemented from DtTaskControllerComponent.
| const DtEmbarkationController& DtEmbarkationController::operator= | ( | const DtEmbarkationController & | orig | ) | [private] |
assignment operator; not implemented
std::list<DtString> DtEmbarkationController::myEmbarkedObjects [protected] |
DtVrfObject* DtEmbarkationController::myControlPoint [protected] |
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.
This object will be attached to the parent object that is the ultimate target of the embarkation to account for the parent object moving.
Container for state data associated with this component.
This state is saved and restored as part of a scenario (or checkpoint).
bool DtEmbarkationController::myFirstTick [protected] |
bool DtEmbarkationController::myWaiting [protected] |
If myWaiting is true, the controller is waiting for some condition to be met, so, the controller will not start working until the conditions are met.
This can be the case where an object is waiting for the control point it is moving to be created or an object that it is waiting to disembark to be created on the network.
double DtEmbarkationController::myRequestTime [protected] |
int DtEmbarkationController::myRequestRetries [protected] |