VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtOccupancyDirectorController Class Reference

DtOccupancyDirectorController allocates reserved embarkation slots and determines which (if any) objects can be embarked on an object.

Developer Description: This controller responds to messages of type DtIfRequestEmbarkationInformation. When a request is received, the controller looks to see if there are any slots available, and, if so, reserves it (if requested) and then returns a DtIfEmbarkationInformation structure with the reservation information. This controller is also responsible for disembarkation information and responds to those requests. If an entity cannot embark because the object does not support the requesting object type or because the slots are full, an information return structure is sent, but with the DtEmbarkCannotEmbark result status. It will accomplish this task through a series of message requests that are made of the controller (interface) and sends those interface messages back to the requestor.

Uses Descriptor Type: DtOccupancyDirectorDescriptor

Inheritance diagram for DtOccupancyDirectorController:
Inheritance graph
[legend]

Public Member Functions

 DtOccupancyDirectorController (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtOccupancyDirectorController ()
 
virtual bool init ()
 
virtual const chartype () const
 
- Public Member Functions inherited from DtSingleTaskControllerComponent
 DtSingleTaskControllerComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *compDesc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtSingleTaskControllerComponent ()
 
virtual void postTick ()
 
virtual bool beginProcessingTask (const DtTaskMessage &task, DtSimTaskStatePtr taskState)
 
virtual void taskNotify (const DtSimTask &task)
 
virtual void taskComplete (bool success=true)
 
virtual void clearTask ()
 
virtual void suspendTask ()
 
virtual int sendSubtask (DtSimTask &task)
 
virtual void clearSubtask (int subtaskId)
 
virtual void addPendingSubtaskId (int subtaskId)
 
virtual bool findPendingSubtaskId (int subtaskId)
 
virtual bool isSubtasked () const
 
virtual void removePendingSubtaskId (int subtaskId)
 
virtual void removeAllPendingSubtaskIds ()
 
virtual std::vector< intcurrentPendingSubstaskIds () const
 
virtual void clearCurrentTaskMessage ()
 
virtual DtTaskMessagecurrentTaskMessage () const
 
virtual DtSimTaskStatePtr currentTaskState () const
 
virtual bool decideToGiveUpTask () const
 
virtual void giveUpTask ()
 
virtual bool taskActive (int taskId) const
 
virtual bool clearTopLevelTasks ()
 
virtual void clearConflictingTopLevelTasks (const DtSimTaskMessageType &conflictType)
 
virtual void clearTasksByType (const DtSimTaskMessageType &taskType)
 
virtual void clearTaskById (int taskId)
 
virtual DtSuspendedTaskInfosuspendTaskById (int taskId)
 
virtual DtSuspendedTaskInfosuspendSubtaskById (int taskId, int subtaskId)
 
virtual std::list
< DtTaskMessage * > 
currentTaskMessages () const
 
virtual DtTaskWithTaskStateListPtr topLevelTasks () const
 
virtual void disable ()
 
- Public Member Functions inherited from DtTaskControllerComponent
 DtTaskControllerComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *compDesc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtTaskControllerComponent ()
 
virtual bool showCurrentTaskInGui () const
 
virtual void setRadio (DtSimRadio *radio)
 
virtual void addTaskProcessorCallback (const DtSimTaskMessageType &taskType, DtTaskMessageCallbackFcn fcn, void *usr)
 
virtual void addTaskProcessorCallback (const DtSimTaskMessageType &taskType, DtMessageCallbackFcn fcn, void *usr)
 
virtual void removeTaskProcessorCallback (const DtSimTaskMessageType &taskType, DtMessageCallbackFcn fcn, void *usr)
 
virtual void removeTaskProcessorCallback (const DtSimTaskMessageType &taskType, DtTaskMessageCallbackFcn fcn, void *usr)
 
virtual void enable ()
 
virtual void sendTaskCanceled (DtTaskMessage *taskMsg)
 
virtual bool taskVisualizationsActive () const
 
virtual void setTasked (bool tasked)
 
virtual bool tasked () const
 
- Public Member Functions inherited from DtControllerComponent
 DtControllerComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtControllerComponent ()
 
virtual bool postAddComponentsInit ()
 
virtual DtSimRadioradio ()
 
virtual void enableTaskTypes ()
 
virtual void disableTaskTypes ()
 
- Public Member Functions inherited from DtSimComponent
 DtSimComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtSimComponent ()
 
virtual void setParentSystem (DtComponentSystem *system)
 
DtComponentSystemparentSystem () const
 
virtual void registerAttributeFunctions ()
 
virtual void timedTick ()
 
virtual void setMinTickPeriod (double minTickPeriod)
 
virtual double minTickPeriod () const
 
virtual void setMinTickPeriodVariance (double minTickPeriodVariance)
 
virtual double minTickPeriodVariance () const
 
virtual void setNextTickTime (double nextTickTime)
 
virtual double nextTickTime () const
 
virtual double calculateNextTickTime () const
 
virtual double calculateFirstTickTime () const
 
virtual void setEntity (DtLocalObject *entity)
 
virtual DtSimComponentnextComponent ()
 
virtual DtSimComponentprevComponent ()
 
virtual void setListItem (DtListItem *item)
 
virtual DtListItem * listItem ()
 
virtual void putData (std::string &fp, int indentLevel=0)
 
virtual DtlObjPtr getData (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void addInputPort (DtInputPort *port)
 
virtual void removeInputPort (DtInputPort *port)
 
virtual DtInputPortlookupInputPort (const DtString &portName)
 
virtual DtList inputPortList () const
 
virtual void addOutputPort (DtOutputPort *port)
 
virtual void removeOutputPort (DtOutputPort *port)
 
virtual DtOutputPortlookupOutputPort (const DtString &portName)
 
virtual DtList outputPortList () const
 
virtual void addInputPortGroup (DtInputPortGroup *group)
 
virtual void removeInputPortGroup (DtInputPortGroup *group)
 
virtual DtInputPortGrouplookupInputPortGroup (const DtString &groupName)
 
virtual DtList inputPortGroupList () const
 
virtual void addOutputPortGroup (DtOutputPortGroup *group)
 
virtual void removeOutputPortGroup (DtOutputPortGroup *group)
 
virtual DtOutputPortGrouplookupOutputPortGroup (const DtString &groupName)
 
virtual DtList outputPortGroupList () const
 
virtual int priority () const
 
virtual void setPriority (int priority)
 
double dT () const
 
virtual void setDT (double deltaT)
 
virtual void setComponentDescriptor (DtComponentDescriptor *componentDescriptor)
 
virtual const
DtComponentDescriptor
componentDescriptor () const
 
virtual bool tickWhileDestroyed () const
 
DtVrfProcessStateRepositoryManagerpsrManager ()
 
virtual const DtSymbolStringcomponentFullName () const
 
DtPhysicalWorldphysicalWorld ()
 
const DtPhysicalWorldphysicalWorld () const
 
const DtAttachedTerrainterrainAttachedTo () const
 
DtLocalObjectentity ()
 
const DtLocalObjectentity () const
 
DtSimulationServicessimulationServices ()
 
const DtSimulationServicessimulationServices () const
 
const Coordinate_SystemcoordinateSystem () const
 
virtual bool taskVisualizationsEnabled () const
 
makVrf::DtTaskVisualizationMaptaskVisualizations ()
 
virtual bool isEnabled ()
 
virtual void setIsEnabled (bool yesNo)
 
virtual DtOutputStream & objectConsoleDebug (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleVerbose (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleInfo (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleWarn (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleError (const DtString &channel="") const
 
virtual int notifyLevel () const
 
virtual DtSimResourceManagerresourceManager ()
 
virtual const
DtSimResourceManager
resourceManager () const
 
VRF4API_METHOD const
DtSimulationServices
simManager () const
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 
bool operator== (const DtReaderWriter &) const
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual void postPutSelf ()
 
virtual void prePutSelf ()
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
virtual void postGetSelf ()
 
virtual void preGetSelf ()
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual DtSymbolString name () const
 
virtual void addAlias (const DtSymbolString &alias)
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 
bool isReadonly () const
 
virtual void reset ()
 
virtual int alignment () const
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 
virtual void setName (const DtString &)
 
virtual const charreaderWriterType () const
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 
virtual bool hasVariableReference () const
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 
virtual void recordUpdateTime () const
 
virtual bool wasUpdatedSince (DtTime t) const
 
virtual bool changedSinceLastChecked ()
 
virtual bool peekChangedSinceLastChecked () const
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 
virtual DtSymbolString variableName () const
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 
virtual bool toXml (const DtFilename &) const
 
virtual bool fromXml (const DtString &)
 
virtual bool fromXmlFile (const DtFilename &)
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 

Static Public Member Functions

static DtSimComponentcreator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
- Static Public Member Functions inherited from DtTaskControllerComponent
static void deprecatedTaskProcessorCallbackAdapter (DtSimMessage *msg, void *usr, DtSimTaskStatePtr taskState)
 
- Static Public Member Functions inherited from DtSimComponent
static DtSimComponentFactoryfactory ()
 
static void setFactory (DtSimComponentFactory *factory)
 
static DtSimComponentcreateComponent (const DtString &name, const DtString &type, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentSystem *parentSystem, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
static void addSimComponentCreatorFcn (const DtString &type, DtSimComponentCreatorFcn fcn)
 
static VRF4API_METHOD
DtSimComponent
MarkThreadSafe (DtSimComponent *comp)
 
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 

Protected Member Functions

virtual void processRequestEmbarkationInformation (DtSimMessage *msg)
 
virtual void processRequestEmbarkationSlotInformation (DtSimMessage *msg)
 
virtual void processRequestEmbarkationEgressPoints (DtSimMessage *msg)
 
virtual void registerTaskMsgCallbacks ()
 
virtual void preFirstTickInit ()
 
virtual void tick ()
 
virtual bool createPSR ()
 
virtual void giveUpSlot (int iSlot, const DtUUID &)
 
virtual
DtEmbarkationSlotInformation 
embarkationSlotEntryFor (const DtUUID &) const
 
virtual
DtEmbarkationSlotInformation 
embarkationSlotEntryFor (int slot, const DtUUID &) const
 
virtual
DtEmbarkationSlotInformation 
embarkationSlotEntryFor (const DtString &slotName, const DtString &slotType, const DtUUID &) const
 
virtual
DtEmbarkationSlotInformation 
disembarkationInformationFor (const DtUUID &, int &iResult) const
 
virtual int disembarkationResult (const DtEmbarkationSlotInformation &) const
 
virtual bool reserveSlot (const DtEmbarkationSlotInformation &entry, const DtUUID &)
 
virtual void sendSlotInformationTo (const DtUUID &, const DtEmbarkationSlotInformation &entry, int, bool forEmbarkation, int reqId=0xFFFFFFFF)
 
virtual void processDisembarkAllTask (DtSimMessage *msg)
 
virtual bool objectDisembarked (const DtUUID &)
 
virtual void disembarkNextObject ()
 
virtual void sendTask (const DtSimTask &task, const DtUUID &)
 
virtual void processDisembarkObjectCallback (DtSimMessage *msg)
 
virtual DtVector disembarkedPositionFor (const DtUUID &, const DtEmbarkationSlotInformation &) const
 
virtual bool nextEntityCanDisembark (const DtSimObject *curEntity) const
 
virtual bool isValidForDisembarkLayout (const DtSimObject *) const
 
virtual bool createCollisionDetector ()
 
virtual void setObstructionIDsInCollisionDetector ()
 
virtual void setupSlots ()
 
virtual void initializeSlotManager ()
 
virtual void calculateDisembarkPositions (const std::vector< DtSimObjectReference > &)
 
virtual void generateListForDisembarkation (const std::vector< DtSimObjectReference > &list)
 
virtual void removeAllSubordinates (DtSimObjectReference obj)
 
virtual void processSimObjectDeleted (DtSimObjectReference)
 
virtual void getDisembarkableObjects (std::vector< DtSimObjectReference > &objects)
 
- Protected Member Functions inherited from DtSingleTaskControllerComponent
virtual void clearPendingSubtasks ()
 
virtual void clearSubtasksByType (const DtSimTaskMessageType &taskType)
 
virtual void cleanupInactiveSubtaskStatus ()
 
- Protected Member Functions inherited from DtTaskControllerComponent
virtual void suspendSubtasksOfTask (int taskId, DtSuspendedTaskInfo *suspendInfo)
 
virtual void suspendSubtaskOfTask (int taskId, int subtaskId, DtSuspendedTaskInfo *suspendInfo)
 
virtual DtSimTaskMessageType remapScriptId (const DtSimTaskMessageType &) const
 
- Protected Member Functions inherited from DtControllerComponent
 DtControllerComponent ()
 
 DtControllerComponent (const DtControllerComponent &orig)
 
const DtControllerComponentoperator= (const DtControllerComponent &orig)
 
virtual void onRestore ()
 
virtual void initializeTargetingControlTableFromDescriptor (const DtReaderWriter *)
 
virtual void sendCapableSetsAndTasks ()
 
- Protected Member Functions inherited from DtSimComponent
virtual double computeCurrentTime ()
 
bool testInvariant () const
 
virtual bool createPortGroups ()
 
virtual bool createPorts ()
 
DtVrfProcessStateRepositorycreateComponentPsr (const DtString &defaultPsrType, const DtString &defaultPsrName, bool useDescriptorParams=true)
 
virtual void updateTaskVisualizations ()
 
virtual void destroyTaskVisualizations ()
 
virtual void destroyTaskVisualization (const DtString &name)
 
virtual
makVrf::DtPointTaskVisualizationPtr 
pointTaskVisualization (const DtString &name)
 
virtual
makVrf::DtLineTaskVisualizationPtr 
lineTaskVisualization (const DtString &name)
 
virtual
makVrf::DtAreaTaskVisualizationPtr 
areaTaskVisualization (const DtString &name)
 
virtual
makVrf::DtTextTaskVisualizationPtr 
textTaskVisualization (const DtString &name)
 
double calculateNextTaskVisTickTime () const
 
DtVrfObjectStateRepositorylocalStateRepository ()
 
const DtVrfObjectStateRepositorylocalStateRepository () const
 
void addSimObjectPredicateCallback (DtSimObjectReference, DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0)
 
void removeSimObjectPredicateCallback (const DtSimObject *, DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0)
 
void invokeSimObjectPredicateCallbacks ()
 
virtual void clearPredicateCallbacks ()
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Static Protected Member Functions

static void requestEmbarkationInformationCallback (DtSimMessage *msg, void *usr)
 
static void requestEmbarkationSlotInformationCallback (DtSimMessage *msg, void *usr)
 
static void requestEmbarkationEgressPointsCallback (DtSimMessage *msg, void *usr)
 
static void disembarkAllTaskCallback (DtSimMessage *msg, void *usr)
 
static void disembarkObjectCallback (DtSimMessage *msg, void *usr)
 

Protected Attributes

DtVrfOccupancyDirectorPSRmyProcessState
 
const
DtOccupancyDirectorDescriptor
myOccupancyDirectorDescriptor
 
DtEmbarkationSlotManagermySlotManager
 
DtCollisionDetectormyCollisionDetector
 
std::set< DtStringmyObjectsToDisembark
 
boost::signals2::scoped_connection mySimObjectDeletedConnection
 
- Protected Attributes inherited from DtTaskControllerComponent
DtTaskCallbackMap myTaskCallbackMap
 
std::list
< DtTaskProcessorCallbackInfo * > 
myTaskProcessorCallbackInfoList
 
bool myTaskIsRunning
 
- Protected Attributes inherited from DtControllerComponent
DtSimRadiomyRadio
 
bool myTaskTypesEnabled
 
bool myInitialized
 
- Protected Attributes inherited from DtSimComponent
DtLocalObjectmyEntity
 
DtComponentSystemmySystem
 
DtListItem * myListItem
 
DtInputPortMap myInputPortList
 
DtOutputPortMap myOutputPortList
 
DtInputPortGroupMap myInputPortGroupList
 
DtOutputPortGroupMap myOutputPortGroupList
 
int myPriority
 
double myMinTickPeriod
 
double myMinTickPeriodVariance
 
double myNextTickTime
 
double myLastTickSimTime
 
double myDT
 
bool myIsEnabled
 
bool myFirstTick
 
const DtComponentDescriptormyComponentDescriptor
 
std::list
< DtVrfProcessStateRepository * > 
myComponentPsrs
 
bool myTickEveryFrame
 
makVrf::DtTaskVisualizationMap myTaskVisualizations
 
double myNextTaskVisTickTime
 
DtSymbolString myFullComponentName
 
DtSimulationServicesmySimServices
 
DtPredicateCallbackManager myPredicateCallbackManager
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

Private Member Functions

 DtOccupancyDirectorController ()
 
 DtOccupancyDirectorController (const DtOccupancyDirectorController &orig)
 
const
DtOccupancyDirectorController
operator= (const DtOccupancyDirectorController &orig)
 

Additional Inherited Members

- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString
aliasContainer
 
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
 
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
 
typedef std::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 
- Protected Types inherited from DtTaskControllerComponent
typedef std::pair
< DtTaskMessageCallbackFcn,
void * > 
DtTaskCallbackMapPair
 
typedef std::map
< DtSimTaskMessageType,
DtTaskCallbackMapPair
DtTaskCallbackMap
 
- Protected Types inherited from DtSimComponent
typedef std::map< DtString,
DtInputPort * > 
DtInputPortMap
 
typedef std::map< DtString,
DtOutputPort * > 
DtOutputPortMap
 
typedef std::map< DtString,
DtInputPortGroup * > 
DtInputPortGroupMap
 
typedef std::map< DtString,
DtOutputPortGroup * > 
DtOutputPortGroupMap
 
- Static Protected Attributes inherited from DtSimComponent
static DtSimComponentFactorymyFactory
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Constructor & Destructor Documentation

DtOccupancyDirectorController::DtOccupancyDirectorController ( const DtString name,
DtLocalObject owner,
DtSimulationServices simManager,
DtComponentDescriptor desc = 0,
DtReaderWriterRegistry parentRegistry = 0 
)

Parameters
nameReader writer name of this component.
ownerThe DtLocalObject 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).
virtual DtOccupancyDirectorController::~DtOccupancyDirectorController ( )
virtual

destructor

DtOccupancyDirectorController::DtOccupancyDirectorController ( )
private

default constructor; not implemented

DtOccupancyDirectorController::DtOccupancyDirectorController ( const DtOccupancyDirectorController orig)
private

copy constructor; not implemented

Member Function Documentation

virtual bool DtOccupancyDirectorController::init ( )
virtual

Initializes any state that is needed.

Reimplemented from DtControllerComponent.

virtual const char* DtOccupancyDirectorController::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. Warning: this function should always return the same pointer and it should be valid forever. This means the data should be static.

Returns
DtOccupancyDirectorControllerType

Implements DtTaskControllerComponent.

static DtSimComponent* DtOccupancyDirectorController::creator ( const DtString name,
DtLocalObject owner,
DtSimulationServices simManager,
DtComponentDescriptor desc = 0,
DtReaderWriterRegistry parentRegistry = 0 
)
static

Parameters
nameReader writer name of this component.
ownerThe DtLocalObject 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).
Returns
New instance of this class.
static void DtOccupancyDirectorController::requestEmbarkationInformationCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
virtual void DtOccupancyDirectorController::processRequestEmbarkationInformation ( DtSimMessage msg)
protectedvirtual
static void DtOccupancyDirectorController::requestEmbarkationSlotInformationCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
virtual void DtOccupancyDirectorController::processRequestEmbarkationSlotInformation ( DtSimMessage msg)
protectedvirtual
static void DtOccupancyDirectorController::requestEmbarkationEgressPointsCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
virtual void DtOccupancyDirectorController::processRequestEmbarkationEgressPoints ( DtSimMessage msg)
protectedvirtual
virtual void DtOccupancyDirectorController::registerTaskMsgCallbacks ( )
protectedvirtual

Override for interest in both disembark all tasks.

Reimplemented from DtTaskControllerComponent.

virtual void DtOccupancyDirectorController::preFirstTickInit ( )
protectedvirtual

Calls setObstructionIDsInCollisionDetector, initializeSlotManager and setupSlots.

Reimplemented from DtSimComponent.

virtual void DtOccupancyDirectorController::tick ( )
protectedvirtual

Ticks and performs current state.

Reimplemented from DtSimComponent.

virtual bool DtOccupancyDirectorController::createPSR ( )
protectedvirtual

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 DtOccupancyDirectorController::giveUpSlot ( int  iSlot,
const DtUUID  
)
protectedvirtual

Gives up the slot (if reserved) for the specified entity.

virtual DtEmbarkationSlotInformation DtOccupancyDirectorController::embarkationSlotEntryFor ( const DtUUID ) const
protectedvirtual

Returns a slot information structure for given entity.

virtual DtEmbarkationSlotInformation DtOccupancyDirectorController::embarkationSlotEntryFor ( int  slot,
const DtUUID  
) const
protectedvirtual
virtual DtEmbarkationSlotInformation DtOccupancyDirectorController::embarkationSlotEntryFor ( const DtString slotName,
const DtString slotType,
const DtUUID  
) const
protectedvirtual

This will return the first available slot that matches the slot name and type criteria.

virtual DtEmbarkationSlotInformation DtOccupancyDirectorController::disembarkationInformationFor ( const DtUUID ,
int iResult 
) const
protectedvirtual

Returns slot that the entity that is currently in has, and whether or not it can disembark.

virtual int DtOccupancyDirectorController::disembarkationResult ( const DtEmbarkationSlotInformation ) const
protectedvirtual

Returns the status of a potential disembark (can or cannot). Default can always disembark.

virtual bool DtOccupancyDirectorController::reserveSlot ( const DtEmbarkationSlotInformation entry,
const DtUUID  
)
protectedvirtual

Reserves the slot so it cannot be used by any other entity. If cannot reserve, returns false.

virtual void DtOccupancyDirectorController::sendSlotInformationTo ( const DtUUID ,
const DtEmbarkationSlotInformation entry,
int  ,
bool  forEmbarkation,
int  reqId = 0xFFFFFFFF 
)
protectedvirtual

Sends a response back to the requestor with the entry information. If entry is NULL, then no entry exists for the,.

virtual void DtOccupancyDirectorController::processDisembarkAllTask ( DtSimMessage msg)
protectedvirtual

The disembarkAll task will issue a disembark task to all items that are embarked on this object. It will issue disembark tasks one at a time until all items are disembarked. When all items are disembarked, then it will consider the task complete.

static void DtOccupancyDirectorController::disembarkAllTaskCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
virtual bool DtOccupancyDirectorController::objectDisembarked ( const DtUUID )
protectedvirtual
Returns
True if the named objects is no longer embarked on the host entity.
virtual void DtOccupancyDirectorController::disembarkNextObject ( )
protectedvirtual

Sends a task to the first object on the embarked objects list (from the state repository), and sets that object's name to the PSR. If there are no embarked objects, calls taskComplete().

virtual void DtOccupancyDirectorController::sendTask ( const DtSimTask task,
const DtUUID  
)
protectedvirtual

Sends the specified task to the named object.

static void DtOccupancyDirectorController::disembarkObjectCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected

Callback for responding to DtIfDisembarkObject messages.

virtual void DtOccupancyDirectorController::processDisembarkObjectCallback ( DtSimMessage msg)
protectedvirtual

Processes DtIfDisembarkObject if address to this object and it is a disembarkAll type message.

virtual DtVector DtOccupancyDirectorController::disembarkedPositionFor ( const DtUUID ,
const DtEmbarkationSlotInformation  
) const
protectedvirtual

When disembarking, this will return the final disembark spot for the specified entity. This will be determined as follows:

  • If parent entity is moving above speed threshold, then each entities final resting spot will be at then end of the disembarkation route.
  • If parent entity is moving below speed threshold, then entities final resting spot will be laid out in a grid pattern, starting in the upper left of the grid and moving to the lower right.

In either case. each entity will wait to being disembarking until the entity before it is no longer occluding the disembark point

virtual bool DtOccupancyDirectorController::nextEntityCanDisembark ( const DtSimObject curEntity) const
protectedvirtual

Returns true if the entity that is currently disembarking, it's bounding volume is not occluding the next entitiest to disembark disembarkation point.

virtual bool DtOccupancyDirectorController::isValidForDisembarkLayout ( const DtSimObject ) const
protectedvirtual

Return true if this entity kind (or type) can be part of disembarkation layour.

virtual bool DtOccupancyDirectorController::createCollisionDetector ( )
protectedvirtual

Override to provide a new collision detector implementation.

virtual void DtOccupancyDirectorController::setObstructionIDsInCollisionDetector ( )
protectedvirtual

Currently sets up to avoid entity kinds 1 - 3.

virtual void DtOccupancyDirectorController::setupSlots ( )
protectedvirtual

Sets up slot information for slots that are currently available by looking at the state repository to see what is currently reserved and removing any slots that are not available. Called every time a slot reservation changes and also upon initialization.

virtual void DtOccupancyDirectorController::initializeSlotManager ( )
protectedvirtual

Initializes mySlotManager with slots found in the descriptor. Should only be called once and must be called before setupSlots()

virtual void DtOccupancyDirectorController::calculateDisembarkPositions ( const std::vector< DtSimObjectReference > &  )
protectedvirtual

Calls down to the slot manager to set up grid and spacing for disembarking objects. Only valid for disembarkAll call.

virtual void DtOccupancyDirectorController::generateListForDisembarkation ( const std::vector< DtSimObjectReference > &  list)
protectedvirtual

Parse the embarked objects list to send disembark tasks only to top entities in hierarchies and avoid multimessaging for subordinates.

virtual void DtOccupancyDirectorController::removeAllSubordinates ( DtSimObjectReference  obj)
protectedvirtual

Remove All subordinates of the given object and the object from the list in the state repository.

virtual void DtOccupancyDirectorController::processSimObjectDeleted ( DtSimObjectReference  )
protectedvirtual

If an object is deleted and it is the object that has a slot reserved, give up the slot.

virtual void DtOccupancyDirectorController::getDisembarkableObjects ( std::vector< DtSimObjectReference > &  objects)
protectedvirtual

Fills in objects with the currently embarked objects that can be disembarked using disembarkAll. This excludes any embarked tactical graphics.

const DtOccupancyDirectorController& DtOccupancyDirectorController::operator= ( const DtOccupancyDirectorController orig)
private

assignment operator; not implemented

Member Data Documentation

DtVrfOccupancyDirectorPSR* DtOccupancyDirectorController::myProcessState
protected

Container for state data associated with this component. This state is saved and restored as part of a scenario (or checkpoint).

const DtOccupancyDirectorDescriptor* DtOccupancyDirectorController::myOccupancyDirectorDescriptor
protected
DtEmbarkationSlotManager* DtOccupancyDirectorController::mySlotManager
protected
DtCollisionDetector* DtOccupancyDirectorController::myCollisionDetector
protected
std::set<DtString> DtOccupancyDirectorController::myObjectsToDisembark
protected

Variable to control which units were disembarked by a superior to avoid multi messages.

boost::signals2::scoped_connection DtOccupancyDirectorController::mySimObjectDeletedConnection
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)