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: uuid.h:59
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
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:90
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:25
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
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:137
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.
Definition: localObject.h:98