17 #include <vlutil/vlList.h>
18 #include <vlutil/vlHashlist.h>
19 #include <vl/globalObjectDesignator.h>
20 #include <vlpi/disEnums.h>
25 #include <boost/unordered_map.hpp>
51 typedef boost::unordered_map<DtUUID, DtOrganizationManagerNode*>
UUIDMap;
52 typedef boost::unordered_map<int, DtOrganizationManagerNode*>
ForceMap;
73 virtual bool removeNode(
const DtUUID&);
77 virtual bool isSubordinateOfTopLevel(
const DtUUID&)
const;
86 virtual bool isSubordinateOf(
const DtUUID& subordinate,
87 const DtUUID& superior)
const;
97 virtual void removeEntity(
const DtVrfObject *vrfObject);
100 virtual void updateAggregate(
const DtVrfObject *vrfObject);
103 virtual void updateEntity(
const DtVrfObject *vrfObject);
115 bool reevaluateFlag =
false,
DtTime evaluationPeriod = 0.)
const;
131 virtual void printHierarchy()
const;
135 int indentLevel = 0)
const;
147 virtual const UUIDMap& nodes()
const;
149 static bool isTopLevelEntity(
const DtEntityType &
objectType);
154 static bool isOrganizedAggregate(
const DtVrfObject *vrfObject);
157 static bool isOrganizedEntity(
const DtVrfObject *vrfObject);
161 static void vrfObjectAddedCallback(
const DtVrfObject *vrfObject,
void* usr);
162 static void vrfObjectAboutToBeRemovedCallback(
const DtVrfObject *vrfObject,
168 virtual void addNodeAddedCallback(
170 virtual void removeNodeAddedCallback(
177 virtual void addNodeRemovedCallback(
179 virtual void removeNodeRemovedCallback(
186 virtual void addNodeAboutToBeRemovedCallback(
188 virtual void removeNodeAboutToBeRemovedCallback(
194 virtual void objectUUIDChanged(
const DtUUID& oldUUID,
const DtUUID& newUUID);
200 virtual void processVrfObjectAdded(
const DtVrfObject *vrfObject);
204 virtual void processVrfObjectAboutToBeRemoved(
const DtVrfObject *vrfObject);
207 virtual bool shouldBeAdded(
const DtVrfObject *vrfObject)
const;
229 bool allowCreation =
true);
234 virtual bool networkStateIsDifferentFromLocalState(
239 virtual void invokeNodeAddedCallbacks(
const DtUUID&);
243 virtual void invokeNodeRemovedCallbacks(
const DtUUID&);
247 virtual void invokeNodeAboutToBeRemovedCallbacks(
const DtUUID&);
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
Definition: organizationManagerNode.h:64
UUIDMap myIdHashList
Hash list associating entity identifiers with nodes.
Definition: organizationView.h:262
Definition: reflectedExtAggregate.h:35
boost::unordered_map< int, DtOrganizationManagerNode * > ForceMap
Definition: organizationView.h:52
DtBoost::shared_ptr< const DtOrgViewManagedObjectList > DtOrgViewManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList.
Definition: orgViewManagedObjectList.h:34
This class maintains a hierarchy of the existing organized entities for a simulation based on the con...
Definition: organizationView.h:42
DtOrgViewCallbackList myNodeAddedCallbackList
Definition: organizationView.h:264
DtOrgViewCallbackList myNodeRemovedCallbackList
Definition: organizationView.h:265
*virtual const DtObjectType & objectType() const
DtOrgViewManagedObjectListManager * myManagedObjectListManager
Definition: organizationView.h:268
DtSharedVrfObjectReference class will allocate an empty DtVrfObjectReference if one is not assigned s...
Definition: vrfObjectReference.h:102
This class creates and provides DtOrgViewManagedObjectList classes.
Definition: orgViewManagedObjectListManager.h:33
Instances of DtVrfObjectPredicate are used to evaluate a condition, given a DtVrfObject as an argumen...
Definition: vrfObjectPredicate.h:21
DT_DLL_shape DtNetworkNode * findNode(DtVectorNetwork *vecNwk, unsigned int firstNode, DtPoint &p, DtSpecificationID ID)
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
File: simMsg.h.
Definition: simMessage.h:35
DtVrfObjectManager * myObjectManager
Definition: organizationView.h:256
boost::unordered_map< DtUUID, DtOrganizationManagerNode * > UUIDMap
Definition: organizationView.h:51
class DtVrfObjectManager:
Definition: vrfObjectManager.h:201
Definition: orgManagerOperations.h:18
static const DtVrfObjectPredicate & nullPredicate()
Returns an instance of a DtNullVrfObjectPredicate.
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtOrgViewCallbackList myNodeAboutToBeRemovedCallbackList
Definition: organizationView.h:266
ForceMap myTopLevelNodes
Hash list of top level nodes hashed by force type.
Definition: organizationView.h:259
void(* DtCallbackFunctionType)(const DtUUID &, void *)
The function signature of the callback function.
Definition: noArgumentCallbackList.h:95
DtCallbackList< const DtUUID & > DtOrgViewCallbackList
Definition: organizationView.h:34