VR-Forces 4.0.4 Class Documentation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtEmbarkationController Class Reference

DtEmbarkationController is a controller that supports base level embarkation/disembarkation for entities in the system. More...

Inheritance diagram for DtEmbarkationController:
Inheritance graph
[legend]

List of all members.

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 DtSimComponentcreator (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< DtStringmyEmbarkedObjects
DtVrfObjectmyControlPoint
 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.
DtVrfEmbarkationPSRmyProcessState
 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.
DtEmbarkationDescriptormyEmbarkationDescriptor
double myRequestTime
int myRequestRetries

Private Member Functions

 DtEmbarkationController ()
 default constructor; not implemented
 DtEmbarkationController (const DtEmbarkationController &orig)
 copy constructor; not implemented
const DtEmbarkationControlleroperator= (const DtEmbarkationController &orig)
 assignment operator; not implemented

Detailed Description

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


Constructor & Destructor Documentation

DtEmbarkationController::DtEmbarkationController ( const DtString name,
DtVrfObject owner,
DtSimManager simManager,
DtComponentDescriptor desc = 0,
DtReaderWriterRegistry parentRegistry = 0 
)

(const DtString&,DtVrfObject*,DtSimManager*,

Parameters:
nameReader writer name of this component.
ownerThe DtVrfObject that owns this component
simManagerThe simulation manager (provides access to terrain, message interface, simulation clock).
descThe component descriptor used to initialize this component.
parentRegistryPointer to the parent reader writer registry (the containing object that reads/writes this object).
(const DtString&,DtVrfObject*,DtSimManager*, DtComponentDescriptor*,DtReaderWriterRegistry* parentRegistry)

destructor

default constructor; not implemented

copy constructor; not implemented


Member Function Documentation

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.

Returns:
DtEmbarkationControllerType

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*,

Parameters:
nameReader writer name of this component.
ownerThe DtVrfObject that owns this component
simManagerThe simulation manager (provides access to terrain, message interface, simulation clock).
descThe component descriptor used to initialize this component.
parentRegistryPointer to the parent reader writer registry (the containing object that reads/writes this object).
(const DtString&,DtVrfObject*,DtSimManager*, DtComponentDescriptor*,DtReaderWriterRegistry* parentRegistry)

Returns:
New instance of this class.

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]
static void DtEmbarkationController::disembarkObjectCallback ( DtSimMessage msg,
void *  usr 
) [static, protected]
virtual void DtEmbarkationController::processDisembarkObjectCallback ( DtSimMessage msg) [protected, virtual]
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::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]
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.

Sets state in PSR and returns state from PSR.

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.

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.

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]
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]
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.

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.

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


Member Data Documentation

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).

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.


The documentation for this class was generated from the following file:

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)