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();
146 virtual bool designatorInUse(
int designator)
const;
153 virtual bool findSubordinateItem(
const DtUUID&
id)
const;
155 virtual void subordinateDeleted(
const DtUUID&);
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
boost::signals2::signal< void(const DtUUID &)> signal_subordinateAdded
Definition: subordinateManager.h:149
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:163
DtSubordinateManager DtVrfSubordinateManager
Definition: subordinateManager.h:179
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:168
DtLocalObject * myOwner
Definition: subordinateManager.h:173
#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:150
boost::signals2::scoped_connection mySubordinateDeletedConnection
Definition: subordinateManager.h:176
boost::signals2::signal< void(const DtUUID &)> signal_subordinateRemoved
Definition: subordinateManager.h:148
Definition: noArgumentCallbackList.h:91
std::set< int > myAvailableDesignators
Definition: subordinateManager.h:165
tbb::spin_rw_mutex myMutex
Definition: subordinateManager.h:166
boost::signals2::scoped_connection myLocalObjectDeletedConnection
Definition: subordinateManager.h:175
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:90
const DtSimulationServices * mySimulationServices
Definition: subordinateManager.h:158
std::map< int, DtUUID > myUnitsByDesignator
Definition: subordinateManager.h:164
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:171
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