13 #include <vlutil/vlConfig.h>
16 #include <vlutil/vlList.h>
17 #include <vlpi/disEnums.h>
21 #include <tbb/spin_rw_mutex.h>
65 virtual bool addSubordinate(
const DtUUID& subordinate,
int designator = 0);
68 virtual bool addSubordinateBefore (
const DtUUID& subordinate,
69 const DtUUID& beforeObject,
int designator = 0);
73 virtual bool addSubordinateAfter (
const DtUUID& subordinate,
74 const DtUUID& afterObject,
int designator = 0);
77 virtual bool removeSubordinate(
const DtUUID& subordinate);
81 virtual void removeAllSubordinates();
84 virtual int numSubordinates()
const;
87 virtual void resetDesignatorsToSubordinateOrder();
96 virtual bool isSubordinate(
const DtUUID&
id)
const;
100 virtual int designatorForSubordinate(
const DtUUID&
id)
const;
109 virtual bool setDesignator(
const DtUUID&
id,
int designator);
113 virtual int maxUsedDesignator()
const;
118 virtual void reorderToDesignatorOrder();
121 virtual void designatorOrderedList(std::vector<DtUUID>&
122 designatorOrderedList)
const;
126 virtual void setSubordinateOrder(
const std::vector<DtUUID>&
130 virtual int nextAvailableDesignator(
int cur = 0)
const;
134 return myNeedsReorderToDesignatorOrder;
143 virtual void invalidate();
150 virtual bool findSubordinateItem(
const DtUUID&
id)
const;
152 virtual void subordinateDeleted(
const DtUUID&);
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
boost::signals2::signal< void(const DtUUID &)> signal_subordinateAdded
Definition: subordinateManager.h:146
Objects may contain a collection of other objects, such as overlays or pseudo-aggregate entities...
Definition: subordinateManager.h:43
std::map< DtUUID, int > myDesignatorsByUUID
The table of entity id's and designators is used to associate a designator with each entity...
Definition: subordinateManager.h:160
DtSubordinateManager DtVrfSubordinateManager
Definition: subordinateManager.h:176
bool needsReorderToDesignatorOrder() const
Definition: subordinateManager.h:132
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
bool myNeedsReorderToDesignatorOrder
Definition: subordinateManager.h:165
DtLocalObject * myOwner
Definition: subordinateManager.h:170
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
boost::signals2::signal< void()> signal_designatorOrderChanged
Definition: subordinateManager.h:147
boost::signals2::scoped_connection mySubordinateDeletedConnection
Definition: subordinateManager.h:173
boost::signals2::signal< void(const DtUUID &)> signal_subordinateRemoved
Definition: subordinateManager.h:145
Definition: noArgumentCallbackList.h:91
std::set< int > myAvailableDesignators
Definition: subordinateManager.h:162
tbb::spin_rw_mutex myMutex
Definition: subordinateManager.h:163
boost::signals2::scoped_connection myLocalObjectDeletedConnection
Definition: subordinateManager.h:172
This is a convenience list that will add DtSimObjectReference objects and modify the list as objects ...
Definition: simObjectReferenceList.h:22
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:89
const DtSimulationServices * mySimulationServices
Definition: subordinateManager.h:155
std::map< int, DtUUID > myUnitsByDesignator
Definition: subordinateManager.h:161
DtCallbackList< const DtSubordinateManager & > DtSubordinateManagerCallabackList
Definition: subordinateManager.h:32
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:121
DtSimObjectReferenceList mySubordinates
This is a list of the subordinates in order that they were added to the manager – which may not be th...
Definition: subordinateManager.h:168
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86