![]() |
VR-Forces 4.1 Class Documentation
|
Class DtDisaggregator is a helper class that knows how to transform an aggregate in the aggregate state (subordinates not explicitly modeled), into one that is in the disaggregate state (subordinates explicitly modeled as separate entities). More...
Public Member Functions | |
| DtDisaggregator (DtVrfObjectManager &vrfObjectManager) | |
| constructor | |
| virtual | ~DtDisaggregator () |
| destructor | |
| virtual bool | disaggregate (const DtVrfObject &aggregate, const DtSubordinateObjectsList &subordinateObjectsList, DtDisaggregationCompleteCallbackFcn completionCallback, void *userData) |
| Transform aggregate from aggregate state to disaggregate state. | |
Static Public Member Functions | |
| static void | orgMgrChangeSetCompleteCallback (void *usr) |
Protected Types | |
| typedef std::pair < DtDisaggregationCompleteCallbackFcn, void * > | DtDisaggregationCompleteCallbackInfoType |
Protected Member Functions | |
| virtual void | createAndInitSubordinates (const DtVrfObject &parent) |
| This is the main recursive function that utilizes the builder pattern it iterates through the list of subordinates creating the individual vrfObjects using the buildVrfObject() and adding a connection to a list using addSubordinateSuperiorConnection() | |
| virtual void | createAndInitSubordinates (const DtVrfObject &parent, const DtSubordinateObjectsList &subordinateObjectsList) |
| DtDisaggregator (const DtDisaggregator &orig) | |
| Not Implemented. | |
| DtDisaggregator & | operator= (const DtDisaggregator &orig) |
| Not Implemented. | |
| virtual DtVrfObject * | buildVrfObject (const DtObjectType &objectType, DtForceType forceType, const DtVector &geocentricPosition, const DtTaitBryan *orientation, bool publishLocalObject, bool createSubObjects, DtVrfObjectManager::DtAggregateCreationMode initialAggregateState, const DtString &formationName) |
| Creates a new DtVrfObject of the given entity and force type. | |
| virtual void | setDisaggregationCompleteCallbackInfo (DtDisaggregationCompleteCallbackFcn fcn, void *usr) |
| virtual void | clearDisaggregationCompleteCallbackInfo () |
| virtual void | onOrgMgrChangeSetComplete () |
| virtual bool | shouldCreate (const DtSubordinateEntry &subordinateDescriptor) const |
| virtual bool | computeSubordinatePositions (int numSubordinates, const DtString &formationName, const DtAggregateObjectParameters &aggregateParams, const DtVector &parentPosition, const DtDcm &parentOrientation, std::list< DtVector > &subordinateBodyPositions) const |
| virtual int | numSubordinatesToCreate (const DtSubordinateObjectsList &psrSubordObjList) const |
Protected Attributes | |
| DtVrfObjectManager & | myVrfObjectManager |
| Creator function to be registered with the DtDefaultVrfCreator from main.cxx static DtDisaggregator* creator(DtSimManager* simManager,. | |
| DtOrganizationChangeSet | myOrganizationChangeSet |
| int | myChangeSetRequestId |
| DtDisaggregationCompleteCallbackInfoType | myDisaggregationCompleteCallbackInfo |
Class DtDisaggregator is a helper class that knows how to transform an aggregate in the aggregate state (subordinates not explicitly modeled), into one that is in the disaggregate state (subordinates explicitly modeled as separate entities).
Note that it creates all subordinates at the location and heading of the aggregate.
|
protected |
| DtDisaggregator::DtDisaggregator | ( | DtVrfObjectManager & | vrfObjectManager | ) |
constructor
|
virtual |
destructor
|
protected |
Not Implemented.
|
virtual |
Transform aggregate from aggregate state to disaggregate state.
| aggregate | Aggregate to be transformed. |
| subordinateObjectsList | List containing details about subordinates to create. |
| completionCallback | Callback to be invoked upon completion of disaggregation operation (takes place over time). |
| userData | Pointer to user data that will be supplied in above callback. |
| recurse | If true, recursively disaggregate to leaf level. Otherwise disaggregate immediate subordinates only. |
|
static |
|
protectedvirtual |
This is the main recursive function that utilizes the builder pattern it iterates through the list of subordinates creating the individual vrfObjects using the buildVrfObject() and adding a connection to a list using addSubordinateSuperiorConnection()
|
protectedvirtual |
|
protected |
Not Implemented.
|
protectedvirtual |
Creates a new DtVrfObject of the given entity and force type.
| objectType | Type of entity to create |
| forceType | DIS/RPR force type of entity to create |
| geocentricPosition | Initial position, in geocentric coordinates |
| orientation | Initial orientation, expressed as a Tait-Bryan sequence of Euler angles, in radians |
| publishLocalObject | Flag indicating whether or not entity should be published on the network |
| createSubObjects | Flag indicating whether or not to create subordinate entities |
| formationName | name of formation to apply (if object is aggregate). formation names are defined in formType.h |
| initial | aggregate state (DtAggregated or DtDisaggregated) |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protected |
Creator function to be registered with the DtDefaultVrfCreator from main.cxx static DtDisaggregator* creator(DtSimManager* simManager,.
|
protected |
|
protected |
|
protected |