![]() |
VR-Forces 4.0.4 Class Documentation
|
End User Description: This controller manages the switching of an aggregate between Aggregated (true aggregate) and disaggregated (pseudo aggregate) states. More...

Public Member Functions | |
| DtAggregateModelResolutionController (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=NULL, DtReaderWriterRegistry *parentRegistry=0) | |
| constructor | |
| virtual | ~DtAggregateModelResolutionController () |
| destructor | |
| virtual bool | init () |
| Calls createPSR() | |
| virtual bool | postAddComponentsInit () |
| Called after all components have been created, initialized and added to the component manager. | |
| virtual DtString | type () const |
| This returns the string DtTrueAggregateResolutionControllerType (defined above), used to uniquely identify the type of component. | |
| virtual void | tick () |
| Update control values. | |
| virtual bool | createPSR () |
| Creates myProcessState data member, and adds it to our process state repository manager. | |
| virtual void | enable () |
| Override to (re)add set data request callbacks. | |
| virtual void | disable () |
| Override to remove set data request callbacks. | |
| virtual bool | tickWhileDestroyed () const |
| This component needs to tick while destroyed (transitions between aggregate state may take place over mulitple ticks). | |
| virtual void | processSetRestore (DtSimMessage *msg) |
Static Public Member Functions | |
| static void | setDestroyedCallback (DtSimMessage *msg, void *usrData) |
| static void | setRestoreCallback (DtSimMessage *msg, void *usrData) |
| static void | setAggregateStateCallback (DtSimMessage *msg, void *usrData) |
| static void | disaggregationCompleteCallback (void *usr) |
| Called when a Pseudo Aggregate is fully created and ready. | |
| static DtSimComponent * | creator (const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc, DtReaderWriterRegistry *parentRegistry) |
| This is called by the factory. | |
Protected Member Functions | |
| DtAggregateModelResolutionController (const DtAggregateModelResolutionController &orig) | |
| copy constructor - not implemented | |
| DtAggregateModelResolutionController & | operator= (const DtAggregateModelResolutionController &orig) |
| assignment operator - not implmented | |
| virtual void | setRadio (DtSimRadio *radio) |
| Overrides this so it can register its interest in the set commands. | |
| virtual void | addSetDataCallbacks () |
| Add set data request callbacks. | |
| void | removeSetDataCallbacks () |
| Callbacks are removed when component is disabled or destroyed. | |
| virtual void | processSetAggregateState (DtSimMessage *msg) |
| virtual void | startDisaggregation () |
| Start the transition from aggregated to disaggregated state. | |
| virtual void | startAggregation () |
| Start the transition from disaggregated to aggregated state. | |
| virtual void | onDisaggregationComplete () |
| Hook function called when disaggregation process is complete. | |
| virtual bool | toggleComponentsAndSystems (enum DtAggregateState newAggregateState) |
| Hands over existing task (if one exists) handled by current state components to components in new state. | |
| virtual void | initAggregated () |
| Initialize an aggregated entity directly from the params. | |
| void | updateBoundingGeometry () |
| Update the aggregated entity's Bounding Geometry. | |
| virtual void | computeSubordinateObjectsMinMaxVectors (DtSubordinateObjectsList &subordinateObjectsList, DtVector positionOffset, DtVector &minVector, DtVector &maxVector) |
| helper recursive function | |
| virtual bool | aggregationIsComplete () const |
| virtual void | onAggregationComplete () |
| Hook function that gets called when an aggregation transition completes. | |
| virtual void | createAggregator () |
| virtual void | createDisaggregator () |
| virtual bool | allowedToTransition (DtAggregateState targetAggregateState) const |
| Hook function for checking whether or not we are in a an allowable state for transition. | |
| virtual void | processSetDestroyed () |
| void | enableSystemsAndComponents (DtAggregateState aggregateState) |
| Enable/disable all systems and components specific to a given DtAggregateState. | |
| void | disableSystemsAndComponents (DtAggregateState aggregateState) |
| Enable/disable all systems and components specific to a given DtAggregateState. | |
Protected Attributes | |
| DtVrfObjectManager * | myObjectManager |
| DtAggregatedResolutionPSR * | myProcessState |
| Container for state data associated with this component. | |
| DtVrfAggregateStateRepository * | myAggregateStateRepository |
| DtAggregateModelResolutionDescriptor * | myAggregateModelResolutionDescriptor |
| std::vector< DtComponentSystem * > | myAggregatedSystemList |
| std::vector< DtSimComponent * > | myAggregatedComponentList |
| std::vector< DtComponentSystem * > | myDisaggregatedSystemList |
| std::vector< DtSimComponent * > | myDisaggregatedComponentList |
| DtAggregator * | myAggregator |
| DtDisaggregator * | myDisaggregator |
| bool | myFirstTick |
End User Description: This controller manages the switching of an aggregate between Aggregated (true aggregate) and disaggregated (pseudo aggregate) states.
This controller enables and disables other controllers on the DtVrfObject associated with each of these states. This controller also processes the set aggregate state message to trigger this process. Uses Descriptor Type: DtAggregateModelResolutionDescriptor
| DtAggregateModelResolutionController::DtAggregateModelResolutionController | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc = NULL, |
||
| DtReaderWriterRegistry * | parentRegistry = 0 |
||
| ) |
constructor
| virtual DtAggregateModelResolutionController::~DtAggregateModelResolutionController | ( | ) | [virtual] |
destructor
| DtAggregateModelResolutionController::DtAggregateModelResolutionController | ( | const DtAggregateModelResolutionController & | orig | ) | [protected] |
copy constructor - not implemented
| virtual bool DtAggregateModelResolutionController::init | ( | ) | [virtual] |
Calls createPSR()
Reimplemented from DtControllerComponent.
| virtual bool DtAggregateModelResolutionController::postAddComponentsInit | ( | ) | [virtual] |
Called after all components have been created, initialized and added to the component manager.
Walk through lists of components/systems and enable/disable components depending on what mode we are in (aggregated versus disaggregated). The descriptor contains information identifying which systems/components are specific to aggregated state versus disaggregated state.
Reimplemented from DtSimComponent.
| virtual DtString DtAggregateModelResolutionController::type | ( | ) | const [virtual] |
This returns the string DtTrueAggregateResolutionControllerType (defined above), used to uniquely identify the type of component.
Reimplemented from DtControllerComponent.
| virtual void DtAggregateModelResolutionController::tick | ( | ) | [virtual] |
Update control values.
Reimplemented from DtSimComponent.
| virtual bool DtAggregateModelResolutionController::createPSR | ( | ) | [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 DtAggregateModelResolutionController::enable | ( | ) | [virtual] |
Override to (re)add set data request callbacks.
Reimplemented from DtSimComponent.
| virtual void DtAggregateModelResolutionController::disable | ( | ) | [virtual] |
Override to remove set data request callbacks.
Reimplemented from DtSimComponent.
| virtual bool DtAggregateModelResolutionController::tickWhileDestroyed | ( | ) | const [virtual] |
This component needs to tick while destroyed (transitions between aggregate state may take place over mulitple ticks).
Reimplemented from DtSimComponent.
| static void DtAggregateModelResolutionController::setDestroyedCallback | ( | DtSimMessage * | msg, |
| void * | usrData | ||
| ) | [static] |
| static void DtAggregateModelResolutionController::setRestoreCallback | ( | DtSimMessage * | msg, |
| void * | usrData | ||
| ) | [static] |
| static void DtAggregateModelResolutionController::setAggregateStateCallback | ( | DtSimMessage * | msg, |
| void * | usrData | ||
| ) | [static] |
| virtual void DtAggregateModelResolutionController::processSetRestore | ( | DtSimMessage * | msg | ) | [virtual] |
| static void DtAggregateModelResolutionController::disaggregationCompleteCallback | ( | void * | usr | ) | [static] |
Called when a Pseudo Aggregate is fully created and ready.
| static DtSimComponent* DtAggregateModelResolutionController::creator | ( | const DtString & | name, |
| DtVrfObject * | owner, | ||
| DtSimManager * | simManager, | ||
| DtComponentDescriptor * | desc, | ||
| DtReaderWriterRegistry * | parentRegistry | ||
| ) | [static] |
This is called by the factory.
| DtAggregateModelResolutionController& DtAggregateModelResolutionController::operator= | ( | const DtAggregateModelResolutionController & | orig | ) | [protected] |
assignment operator - not implmented
| virtual void DtAggregateModelResolutionController::setRadio | ( | DtSimRadio * | radio | ) | [protected, virtual] |
Overrides this so it can register its interest in the set commands.
Reimplemented from DtControllerComponent.
| virtual void DtAggregateModelResolutionController::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 DtAggregateModelResolutionController::removeSetDataCallbacks | ( | ) | [protected] |
Callbacks are removed when component is disabled or destroyed.
Non-virtual because it is called from the destructor.
| virtual void DtAggregateModelResolutionController::processSetAggregateState | ( | DtSimMessage * | msg | ) | [protected, virtual] |
| virtual void DtAggregateModelResolutionController::startDisaggregation | ( | ) | [protected, virtual] |
Start the transition from aggregated to disaggregated state.
Registers disaggregationCompleteCallback with organization manager for notification when disaggregation operation is complete.
| virtual void DtAggregateModelResolutionController::startAggregation | ( | ) | [protected, virtual] |
Start the transition from disaggregated to aggregated state.
| virtual void DtAggregateModelResolutionController::onDisaggregationComplete | ( | ) | [protected, virtual] |
Hook function called when disaggregation process is complete.
| virtual bool DtAggregateModelResolutionController::toggleComponentsAndSystems | ( | enum DtAggregateState | newAggregateState | ) | [protected, virtual] |
Hands over existing task (if one exists) handled by current state components to components in new state.
| void DtAggregateModelResolutionController::enableSystemsAndComponents | ( | DtAggregateState | aggregateState | ) | [protected] |
Enable/disable all systems and components specific to a given DtAggregateState.
| void DtAggregateModelResolutionController::disableSystemsAndComponents | ( | DtAggregateState | aggregateState | ) | [protected] |
Enable/disable all systems and components specific to a given DtAggregateState.
| virtual void DtAggregateModelResolutionController::initAggregated | ( | ) | [protected, virtual] |
Initialize an aggregated entity directly from the params.
| void DtAggregateModelResolutionController::updateBoundingGeometry | ( | ) | [protected] |
Update the aggregated entity's Bounding Geometry.
| virtual void DtAggregateModelResolutionController::computeSubordinateObjectsMinMaxVectors | ( | DtSubordinateObjectsList & | subordinateObjectsList, |
| DtVector | positionOffset, | ||
| DtVector & | minVector, | ||
| DtVector & | maxVector | ||
| ) | [protected, virtual] |
helper recursive function
| virtual bool DtAggregateModelResolutionController::aggregationIsComplete | ( | ) | const [protected, virtual] |
| virtual void DtAggregateModelResolutionController::onAggregationComplete | ( | ) | [protected, virtual] |
Hook function that gets called when an aggregation transition completes.
Updates the transition mode, aggregate state, and bounding geometry of the entity.
| virtual void DtAggregateModelResolutionController::createAggregator | ( | ) | [protected, virtual] |
| virtual void DtAggregateModelResolutionController::createDisaggregator | ( | ) | [protected, virtual] |
| virtual bool DtAggregateModelResolutionController::allowedToTransition | ( | DtAggregateState | targetAggregateState | ) | const [protected, virtual] |
Hook function for checking whether or not we are in a an allowable state for transition.
Rules governing transitions: Must be in DtNotTransitioningState Transitions from DtDisaggregate state are only allowed if entity is not embarked.
| virtual void DtAggregateModelResolutionController::processSetDestroyed | ( | ) | [protected, virtual] |
Container for state data associated with this component.
This state is saved and restored as part of a scenario (or checkpoint).
DtVrfAggregateStateRepository* DtAggregateModelResolutionController::myAggregateStateRepository [protected] |
DtAggregateModelResolutionDescriptor* DtAggregateModelResolutionController::myAggregateModelResolutionDescriptor [protected] |
std::vector<DtComponentSystem*> DtAggregateModelResolutionController::myAggregatedSystemList [protected] |
std::vector<DtSimComponent*> DtAggregateModelResolutionController::myAggregatedComponentList [protected] |
std::vector<DtComponentSystem*> DtAggregateModelResolutionController::myDisaggregatedSystemList [protected] |
std::vector<DtSimComponent*> DtAggregateModelResolutionController::myDisaggregatedComponentList [protected] |