![]() |
VR-Forces 4.1 Class Documentation
|
This class maintains a hierarchy of the existing organized entities for a simulation based on the contents of Aggregate State PDUs. More...

Public Member Functions | |
| DtOrganizationView (DtVrfObjectManager *objMgr) | |
| Constructor. | |
| virtual | ~DtOrganizationView () |
| Destructor. | |
| virtual bool | init () |
| virtual DtOrgViewManagedObjectListConstPtr | getList (const DtEntityIdentifier &aggregateId, const DtVrfObjectPredicate &predicate=DtVrfObjectPredicate::nullPredicate(), bool reevaluateFlag=false, DtTime evaluationPeriod=0.) const |
| Request a filtered list of subordinates for a given aggregate, based on user-supplied criteria. | |
| virtual DtOrganizationManagerNode * | lookupNode (const DtEntityIdentifier &id) const |
| Methods for inspecting the hierarchy. | |
| virtual bool | isSubordinateOfTopLevel (const DtEntityIdentifier &id) const |
| virtual const DtEntityIdentifier & | superior (const DtEntityIdentifier &id) const |
| virtual DtVrfObject * | superiorVrfObject (const DtEntityIdentifier &id) const |
| virtual bool | isSubordinateOf (const DtEntityIdentifier &subordinateId, const DtEntityIdentifier &superiorId) const |
| virtual DtOrganizationManagerNode * | addEntity (DtVrfObject *vrfObject) |
| Functions for manipulating the hierarchy. | |
| virtual void | removeEntity (DtVrfObject *vrfObject) |
| Removes the node for this entity from the hierarchy. | |
| virtual void | updateAggregate (DtVrfObject *vrfObject) |
| Updates the connections to the node corresponding to this aggregate. | |
| virtual void | updateEntity (DtVrfObject *vrfObject) |
| Updates the connections to the node corresponding to this entity. | |
| virtual void | addNodeAddedCallback (DtEntityIdentifierCallbackFunction fcn, void *userData) |
| Callback for notification when a child is added to the list of child nodes. | |
| virtual void | removeNodeAddedCallback (DtEntityIdentifierCallbackFunction fcn, void *userData) |
| Callback for notification when a child is added to the list of child nodes. | |
| virtual void | addNodeRemovedCallback (DtEntityIdentifierCallbackFunction fcn, void *userData) |
| Callback for notification when a child is about to be removed from the list of child nodes. | |
| virtual void | removeNodeRemovedCallback (DtEntityIdentifierCallbackFunction fcn, void *userData) |
| Callback for notification when a child is about to be removed from the list of child nodes. | |
Static Public Member Functions | |
| static void | vrfObjectAddedCallback (DtVrfObject *vrfObject, void *usr) |
| static void | vrfObjectAboutToBeRemovedCallback (DtVrfObject *vrfObject, void *usr) |
Protected Types | |
| typedef std::list < DtEntityIdentifierCallbackInfo > | DtEntityIdentifierCallbackInfoList |
Protected Member Functions | |
| DtOrganizationView (const DtOrganizationView &orig) | |
| Copy constructor not implemented. | |
| DtOrganizationView & | operator= (const DtOrganizationView &orig) |
| Assignment operator not implemented. | |
| virtual void | processVrfObjectAdded (DtVrfObject *vrfObject) |
| virtual void | processVrfObjectAboutToBeRemoved (DtVrfObject *vrfObject) |
| Looks up vrfObject's superior. | |
| virtual bool | shouldBeAdded (DtVrfObject *vrfObject) const |
| virtual void | findAndConnectNodeParent (DtOrganizationManagerNode *node) |
| Searches the existing hierarchy for an aggregate which claims this node, and connects it as a child. | |
| virtual void | disconnectNodeParent (DtOrganizationManagerNode *node) |
| Removes the specified node from the child list of it's current parent, and sets it parent to NULL. | |
| virtual void | findAndConnectNodeChildren (DtOrganizationManagerNode *node) |
| Looks up this vrfObject, and searches the existing hierarchy for any nodes specified in the subordinate manger of this object and connects them to this node as children. | |
| virtual void | disconnectNodeChildren (DtOrganizationManagerNode *node) |
| Disconnects all the children from this node. | |
| virtual void | connectNodeToTopLevel (DtOrganizationManagerNode *node, bool allowCreation=true) |
| Makes this node a child of the top level node corresponding to its force type. | |
| virtual void | printNode (DtOrganizationManagerNode *node, int indentLevel=0) const |
| Prints a node and all it's children recursively. | |
| virtual bool | networkStateIsDifferentFromLocalState (const DtOrganizationManagerNode &node) const |
| virtual void | invokeNodeAddedCallbacks (const DtEntityIdentifier &entId) const |
| Invokes all callbacks registered for notification that a node has been added. | |
| virtual void | invokeNodeRemovedCallbacks (const DtEntityIdentifier &entId) const |
| Invokes all callbacks registered for notification that a node is about to be removed. | |
Protected Attributes | |
| DtVrfObjectManager * | myObjectManager |
| DtHashList | myTopLevelNodes |
| Hash list of top level nodes hashed by force type. (. | |
| DtHashList | myIdHashList |
| Hash list associating entity identifiers with nodes. | |
| DtEntityIdentifierCallbackInfoList | myNodeAddedCallbackList |
| DtEntityIdentifierCallbackInfoList | myNodeRemovedCallbackList |
| DtOrgViewManagedObjectListManager * | myManagedObjectListManager |
| virtual DtOrganizationManagerNode * | locateSuperiorNodeForGlobalId (const DtGlobalObjectDesignator &globalId) const |
| Methods mainly used internally. | |
| virtual bool | isLocal (DtOrganizationManagerNode *node) const |
| virtual void | printHierarchy () const |
| Prints a text representation of the current hierarchy for debugging. | |
| virtual DtVrfObjectManager * | objectManager () |
| Methods mainly used internally. | |
| virtual DtVrfObject * | topLevelObjectForForce (const DtForceType &force) |
| virtual DtOrganizationManagerNode * | topLevelNodeForForce (DtForceType force) |
| virtual const DtHashList & | nodes () const |
| static bool | isTopLevelEntity (const DtEntityType &objectType) |
| Methods mainly used internally. | |
| static bool | isOrganizedAggregate (DtVrfObject *vrfObject) |
| static bool | isOrganizedEntity (DtVrfObject *vrfObject) |
This class maintains a hierarchy of the existing organized entities for a simulation based on the contents of Aggregate State PDUs.
It is the central point for making inquiries about the organization of entities in the simulation.
|
protected |
|
protected |
Copy constructor not implemented.
| DtOrganizationView::DtOrganizationView | ( | DtVrfObjectManager * | objMgr | ) |
Constructor.
| objMgr | The object manager that maintains the list of all entities and objects in the simulation. |
|
virtual |
Destructor.
|
protected |
Assignment operator not implemented.
|
virtual |
Reimplemented in DtOrganizationManager.
|
virtual |
Methods for inspecting the hierarchy.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Functions for manipulating the hierarchy.
Creates and adds a new node for this entity.
Reimplemented in DtOrganizationManager.
|
virtual |
Removes the node for this entity from the hierarchy.
Reimplemented in DtOrganizationManager.
|
virtual |
Updates the connections to the node corresponding to this aggregate.
Reimplemented in DtOrganizationManager.
|
virtual |
Updates the connections to the node corresponding to this entity.
Reimplemented in DtOrganizationManager.
|
virtual |
Request a filtered list of subordinates for a given aggregate, based on user-supplied criteria.
The list returned is a shared pointer, and may be used by other requesters of the same list. The list will be released when all references go out of scope.
|
virtual |
Methods mainly used internally.
Searches the current nodes for an aggregate which is claiming the specified global ID as it's subordinate, and returns that node.
|
virtual |
|
virtual |
Prints a text representation of the current hierarchy for debugging.
|
virtual |
Methods mainly used internally.
Searches the current nodes for an aggregate which is claiming the specified global ID as it's subordinate, and returns that node.
|
virtual |
|
virtual |
|
virtual |
|
static |
Methods mainly used internally.
Searches the current nodes for an aggregate which is claiming the specified global ID as it's subordinate, and returns that node.
|
static |
|
static |
|
static |
|
static |
|
virtual |
Callback for notification when a child is added to the list of child nodes.
|
virtual |
Callback for notification when a child is added to the list of child nodes.
|
virtual |
Callback for notification when a child is about to be removed from the list of child nodes.
|
virtual |
Callback for notification when a child is about to be removed from the list of child nodes.
|
protectedvirtual |
|
protectedvirtual |
Looks up vrfObject's superior.
If it exists, removes vrfObject from superior's subordinate manager. Then calls removeEntity().
|
protectedvirtual |
|
protectedvirtual |
Searches the existing hierarchy for an aggregate which claims this node, and connects it as a child.
|
protectedvirtual |
Removes the specified node from the child list of it's current parent, and sets it parent to NULL.
|
protectedvirtual |
Looks up this vrfObject, and searches the existing hierarchy for any nodes specified in the subordinate manger of this object and connects them to this node as children.
|
protectedvirtual |
Disconnects all the children from this node.
|
protectedvirtual |
Makes this node a child of the top level node corresponding to its force type.
If allowCreation is true, this function will create the appropriate top level entity if it doesn't already exist.
|
protectedvirtual |
Prints a node and all it's children recursively.
|
protectedvirtual |
|
protectedvirtual |
Invokes all callbacks registered for notification that a node has been added.
|
protectedvirtual |
Invokes all callbacks registered for notification that a node is about to be removed.
|
protected |
|
protected |
Hash list of top level nodes hashed by force type. (.
|
protected |
Hash list associating entity identifiers with nodes.
|
protected |
|
protected |
|
protected |