![]() |
VR-Forces 4.10 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 Types | |
| typedef boost::unordered_map < DtUUID, DtOrganizationManagerNode * > | UUIDMap |
| typedef boost::unordered_map < int, DtOrganizationManagerNode * > | ForceMap |
Public Member Functions | |
| DtOrganizationView (DtVrfObjectManager *objMgr) | |
| Constructor. More... | |
| virtual | ~DtOrganizationView () |
| Destructor. More... | |
| virtual bool | init () |
| virtual DtOrgViewManagedObjectListConstPtr | getList (const DtUUID &aggregate, 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. More... | |
| virtual DtOrgViewManagedObjectListConstPtr | nullList () const |
| virtual void | objectUUIDChanged (const DtUUID &oldUUID, const DtUUID &newUUID) |
| Notification that UUID has changed for the given UUID to the new UUID. More... | |
| virtual DtOrganizationManagerNode * | lookupNode (const DtUUID &) const |
| Methods for inspecting the hierarchy. More... | |
| virtual DtOrganizationManagerNode * | lookupNodeByUUID (const DtUUID &) const |
| Looks up node by UUID. Call if you know this is a valid vrfUUID, else call lookupNode. More... | |
| virtual bool | removeNode (const DtUUID &) |
| Removes the node represented by the UUID. More... | |
| virtual bool | isSubordinateOfTopLevel (const DtUUID &) const |
| virtual const DtUUID & | superior (const DtUUID &) const |
| virtual DtSharedVrfObjectReference | superiorVrfObject (const DtUUID &) const |
| virtual bool | isSubordinateOf (const DtUUID &subordinate, const DtUUID &superior) const |
| virtual DtOrganizationManagerNode * | addEntity (const DtVrfObject *vrfObject) |
| Functions for manipulating the hierarchy. More... | |
| virtual void | removeEntity (const DtVrfObject *vrfObject) |
| Removes the node for this entity from the hierarchy. More... | |
| virtual void | updateAggregate (const DtVrfObject *vrfObject) |
| Updates the connections to the node corresponding to this aggregate. More... | |
| virtual void | updateEntity (const DtVrfObject *vrfObject) |
| Updates the connections to the node corresponding to this entity. More... | |
| virtual void | addNodeAddedCallback (DtOrgViewCallbackList::DtCallbackFunctionType fcn, void *userData) const |
| Callback for notification when a child is added to the list of child nodes. More... | |
| virtual void | removeNodeAddedCallback (DtOrgViewCallbackList::DtCallbackFunctionType fcn, void *userData) const |
| virtual void | addNodeRemovedCallback (DtOrgViewCallbackList::DtCallbackFunctionType fcn, void *userData) const |
| Callback for notification when a child is to be removed from the list of child nodes. More... | |
| virtual void | removeNodeRemovedCallback (DtOrgViewCallbackList::DtCallbackFunctionType fcn, void *userData) const |
| virtual void | addNodeAboutToBeRemovedCallback (DtOrgViewCallbackList::DtCallbackFunctionType fcn, void *userData) const |
| Callback for notification when a child is about to be removed from the list of child nodes. More... | |
| virtual void | removeNodeAboutToBeRemovedCallback (DtOrgViewCallbackList::DtCallbackFunctionType fcn, void *userData) const |
Static Public Member Functions | |
| static void | vrfObjectAddedCallback (const DtVrfObject *vrfObject, void *usr) |
| static void | vrfObjectAboutToBeRemovedCallback (const DtVrfObject *vrfObject, void *usr) |
Protected Member Functions | |
| DtOrganizationView (const DtOrganizationView &orig) | |
| Copy constructor not implemented. More... | |
| DtOrganizationView & | operator= (const DtOrganizationView &orig) |
| Assignment operator not implemented. More... | |
| virtual DtOrganizationManagerNode * | createOrganizationManagerNode () const |
| Creates a new node to put into the hierarchy. More... | |
| virtual void | processVrfObjectAdded (const DtVrfObject *vrfObject) |
| virtual void | processVrfObjectAboutToBeRemoved (const DtVrfObject *vrfObject) |
| Looks up vrfObject's superior. More... | |
| virtual bool | shouldBeAdded (const 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. More... | |
| virtual void | disconnectNodeParent (DtOrganizationManagerNode *node) |
| Removes the specified node from the child list of it's current parent, and sets it parent to NULL. More... | |
| 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. More... | |
| virtual void | disconnectNodeChildren (DtOrganizationManagerNode *node) |
| Disconnects all the children from this node. More... | |
| virtual void | connectNodeToTopLevel (DtOrganizationManagerNode *node, bool allowCreation=true) |
| Makes this node a child of the top level node corresponding to its force type. More... | |
| virtual bool | networkStateIsDifferentFromLocalState (const DtOrganizationManagerNode &node) const |
| virtual void | invokeNodeAddedCallbacks (const DtUUID &) |
| Invokes all callbacks registered for notification that a node has been added. More... | |
| virtual void | invokeNodeRemovedCallbacks (const DtUUID &) |
| Invokes all callbacks registered for notification that a node is removed. More... | |
| virtual void | invokeNodeAboutToBeRemovedCallbacks (const DtUUID &) |
| Invokes all callbacks registered for notification that a node is about to be removed. More... | |
| virtual DtOrganizationManagerNode * | findNode (DtSharedVrfObjectReference obj) const |
| Try and find the org manager node by uuid, entity identifier and then marking text. More... | |
| virtual DtSharedVrfObjectReference | findObject (const DtUUID &uuid) const |
| Try to find object by UUID. More... | |
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.
| typedef boost::unordered_map<DtUUID, DtOrganizationManagerNode*> DtOrganizationView::UUIDMap |
| typedef boost::unordered_map<int, DtOrganizationManagerNode*> DtOrganizationView::ForceMap |
|
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 |
Looks up node by UUID. Call if you know this is a valid vrfUUID, else call lookupNode.
Removes the node represented by the UUID.
|
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 |
|
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 |
Prints a node and all its children recursively.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
static |
|
static |
|
static |
|
static |
|
static |
|
virtual |
Callback for notification when a child is added to the list of child nodes.
|
virtual |
|
virtual |
Callback for notification when a child is to be removed from the list of child nodes.
This is called after it has been disconnected from parent nodes
|
virtual |
|
virtual |
Callback for notification when a child is about to be removed from the list of child nodes.
This is called before it has been disconnected from parent nodes
|
virtual |
|
virtual |
Notification that UUID has changed for the given UUID to the new UUID.
Should only be called for remote objects that are not published by vr-forces
|
protectedvirtual |
Creates a new node to put into the hierarchy.
|
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 |
|
protectedvirtual |
Invokes all callbacks registered for notification that a node has been added.
|
protectedvirtual |
Invokes all callbacks registered for notification that a node is removed.
This is called after it has been disconnected from parent nodes
|
protectedvirtual |
Invokes all callbacks registered for notification that a node is about to be removed.
This is called before it is disconnected from parent nodes
|
protectedvirtual |
Try and find the org manager node by uuid, entity identifier and then marking text.
|
protectedvirtual |
Try to find object by UUID.
|
protected |
|
protected |
Hash list of top level nodes hashed by force type.
|
protected |
Hash list associating entity identifiers with nodes.
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |