29 #include <vlpi/appearance.h>
30 #include <vlutil/vlConfig.h>
31 #include <vlutil/vlFilename.h>
32 #include <vlutil/vlHashlist.h>
33 #include <vlutil/vlList.h>
34 #include <vlutil/vlSmartPointers.h>
43 #include <tbb/mutex.h>
44 #include <tbb/queuing_mutex.h>
46 #include <tbb/spin_mutex.h>
47 #include <tbb/spin_rw_mutex.h>
53 #include <boost/signals2.hpp>
56 #define DT_SINGLE_STATE_UPDATE_MESSAGE 0
64 class DtSimObjectSubComponentTypes;
69 class DtBaseEntityStateRepository;
71 class DtVrfObjectManagerTickArguments;
72 class DtSimTickArguments;
76 class DtLocalObjectstateRepository;
88 class DtVrfObjectTransferManager;
93 namespace makVrfEvents
102 class DtStateDataManager;
185 virtual void clearRemoteComponentAttachmentSystem();
188 void removeAllRemoteComponentAttachments();
194 virtual void createRemoteComponentAttachmentManager();
197 virtual bool isRemoteComponentAttachment(
const DtUUID&)
const;
200 virtual bool initializeRemoteComponentAttachmentSystem(
const DtFilename& fromFile);
216 virtual DtFilename metaDataFilename(
const DtEntityType&)
const;
229 virtual bool completeObjectAddition(
DtLocalObject* simObject);
236 virtual bool isValidState()
const;
250 virtual DtString generateUniqueName(
int maxLength,
const DtString& root =
"Object")
const;
253 virtual DtString nextNameWithPrefix(
const DtEntityType&,
const DtString& potentialPrefix);
256 virtual DtString nextNameWithPrefix(
unsigned int maxLength,
const DtString& potentialPrefix);
265 virtual DtString nextName(
const DtEntityType& objectType);
267 virtual DtString nextUnorganizedName();
271 virtual void queueObjectsToUpgrade(
const std::vector<DtLocalObject*>&);
274 boost::signals2::signal <void (DtLocalObjectUpgrader*, const std::vector<DtLocalObject*>&)> signal_preObjectsUpgrade;
275 boost::signals2::signal <void (DtLocalObjectUpgrader*, const std::vector<DtLocalObject*>&)> signal_postObjectsUpgrade;
286 virtual void setRunFullyThreaded(
bool b);
287 bool runFullyThreaded()
const;
300 return myCommunicationManager;
311 virtual void removeAndDelete(
const DtUUID& objectName,
bool andRemoveFromOrbat,
bool andRemoveSubordinatres =
true);
312 virtual void removeAndDelete(
DtLocalObject*
object,
bool andRemoveFromOrbat,
bool andRemoveSubordinatres =
true);
317 return myRemovingAllObjects;
322 virtual void removeAndDeleteAll(
bool andDeleteFromOrbat =
false,
const std::set<DtUUID>& except = std::set<DtUUID>());
325 virtual bool objectInRemovalQueue(
const DtUUID& uuid);
333 virtual void registerInterfaceCallbacks();
383 virtual void processModifyVrfOverlay(
DtSimMessage* msg);
389 virtual void processDeleteVrfObjectById(
DtSimMessage* msg);
399 virtual void queueSetSuperiorToForce(
const DtUUID&,
int force,
int designator = 0);
400 virtual void queueSetSuperior(
const DtUUID& subordinate,
const DtUUID& superior,
int designator = 0);
401 virtual void clearSubordinateOperations();
402 virtual bool hasOutstandingSubordinateChanges()
const;
411 virtual void processDeleteDynamicTerrainServer(
DtSimMessage*);
415 virtual void removeObjectSubordinates(
DtLocalObject*
object,
bool andRemoveFromOrbat);
419 virtual void queueObjectForRemoval(
const DtUUID& key,
bool andRemoveFromOrbat =
false);
422 virtual void removeObjectsQueuedForRemoval();
449 const DtEntityType& objectType,
450 bool publishLocalObject =
true,
451 const DtString& objectName = DtString::nullString(),
452 const DtString& objectLabel = DtString::nullString(),
453 DtForceType forceType = DtForceOther,
454 const DtList* vertices = 0,
455 const DtTaitBryan* orientation = 0,
456 bool projection =
false,
457 bool closedFigure =
false,
458 const DtAppearance& appearance = DtAppearance::nullAppearance(),
459 bool createSubObjects =
false,
461 void* userInitData = 0,
462 bool organize =
true,
466 unsigned long requestId = 0,
469 bool addToOrbat =
false,
470 bool clampToGround =
true,
471 const DtString& globalId = DtString::nullString());
483 const DtEntityType& objectType,
484 bool publishLocalObject =
true,
485 const DtString& objectName = DtString::nullString(),
486 const DtString& objectLabel = DtString::nullString(),
487 DtForceType forceType = DtForceOther,
488 const DtVector& position = DtVector::zero(),
489 const DtTaitBryan* orientation = 0,
490 bool projection =
false,
491 bool closedFigure =
false,
492 const DtAppearance& appearance = DtAppearance::nullAppearance(),
493 bool createSubObjects =
false,
495 void* userInitData = 0,
496 bool organize =
true,
500 unsigned long requestId = 0,
const DtString& overlayParent =
"",
502 bool addToOrbat =
false,
503 bool clampToGround =
true);
506 virtual void preallocateLuaScriptHandles(
int);
510 static void tickCallback(
void* args);
515 virtual void addVrfObjectAboutToBeAddedCallback(
518 bool invertFilter =
false)
const;
523 virtual void addVrfObjectAddedCallback(
526 bool invertFilter =
false)
const;
531 virtual void addVrfObjectAboutToBeLoadedCallback(
534 bool invertFilter =
false)
const;
540 virtual void addVrfObjectAboutToBeRemovedCallback(
543 bool invertFilter =
false)
const;
547 virtual void removeVrfObjectAboutToBeAddedCallback(
550 bool invertFilter =
false)
const;
554 virtual void removeVrfObjectAboutToBeLoadedCallback(
557 bool invertFilter =
false)
const;
561 virtual void removeVrfObjectAddedCallback(
564 bool invertFilter =
false)
const;
568 virtual void removeVrfObjectAboutToBeRemovedCallback(
571 bool invertFilter =
false)
const;
574 virtual int numLocalPublished()
const;
579 virtual bool objectNameExists(
const DtString&)
const;
582 virtual DtLocalObject* createAndInitTopLevelVrfObject(DtForceType forceType);
585 virtual DtLocalObject* createAndInitTopLevelVrfObject(DtForceType forceType,
588 virtual DtString topLevelName(DtForceType forceType);
597 virtual void objectUUIDChanged(
const DtUUID& oldUUID,
const DtUUID& newUUID);
630 const DtEntityType& aggregateType,
632 const DtVector& dbPosition,
634 const std::vector<DtUUID>& subordinates = std::vector<DtUUID>(),
635 const DtString& aggregateName = DtString::nullString(),
636 bool addToOrbat =
true);
639 virtual void sendCapableTasksAndSets(
const std::vector<DtUUID>&,
bool forceUpdate =
false)
const;
645 virtual void setSimulationDateTimeBasedOnLocation(
const DtVector& geocentricLocation,
int timeOfDay);
651 virtual unsigned objectCount()
const;
655 return myForceLevelNodesByUUID;
682 virtual bool uuidExists(
const DtUUID&)
const;
685 virtual bool hasObjectType(
const DtEntityType&)
const;
689 virtual bool markingTextExists(
const DtString&)
const;
692 virtual const DtSimulationAddress& simulationAddress()
const;
695 virtual bool createSimObjectList();
703 virtual bool hostingDynamicTerrainServer()
const;
706 virtual bool hasDynamicTerrainServer()
const;
712 virtual void addSimObjectQueuedForRemovalCallback(
714 virtual void removeSimObjectQueuedForRemovalCallback(
716 virtual void invokeSimObjectQueuedForRemovalCallbacks(
720 virtual void addValidStateChangedCallbackFcn(
722 virtual void removeValidStateChangedCallbackFcn(
724 virtual void invokeValidStateChangedCallbacks();
737 virtual void addSimObjectAboutToBeAddedCallback(
740 bool invertFilter =
false)
const;
745 virtual void addSimObjectAddedCallback(
748 bool invertFilter =
false)
const;
753 virtual void addSimObjectAboutToBeRemovedCallback(
756 bool invertFilter =
false)
const;
761 virtual void addSimObjectAboutToBeLoadedCallback(
764 bool invertFilter =
false)
const;
768 virtual void removeSimObjectAboutToBeAddedCallback(
771 bool invertFilter =
false)
const;
775 virtual void removeSimObjectAddedCallback(
778 bool invertFilter =
false)
const;
782 virtual void removeSimObjectAboutToBeLoadedCallback(
785 bool invertFilter =
false)
const;
789 virtual void removeSimObjectAboutToBeRemovedCallback(
792 bool invertFilter =
false)
const;
795 virtual void invokeSimObjectConvertedToLocalCallbacks(
799 virtual void invokeSimObjectConvertedToRemoteCallbacks(
805 virtual void invokeSimObjectAboutToBeAddedCallbacks(
811 virtual void invokeSimObjectAddedCallbacks(
817 virtual void invokeSimObjectAboutToBeRemovedCallbacks(
823 virtual void invokeSimObjectAboutToBeLoadedCallbacks(
829 virtual void setSimObjectType(
const DtString& type);
830 virtual const DtString& simObjectType()
const;
834 virtual void closingScenario(
const std::set<DtUUID>& except = std::set<DtUUID>());
838 virtual bool addUUIDMappingForObject(
DtLocalObject* vrfObject);
841 virtual void removeUUIDMappingForObject(
DtLocalObject* vrfObject);
845 virtual bool canSimulate()
const;
849 virtual void setCanSimulate(
bool);
853 virtual void addStealthType(
const DtEntityType&);
854 virtual void removeStealthType(
const DtEntityType&);
855 virtual bool isStealthType(
const DtEntityType&)
const;
857 const std::vector<DtEntityType>&
stealthTypes()
const {
return myStealthTypes; };
860 virtual DtLocalObject* getObjectByType(
const DtEntityType&)
const;
863 return myNameGenerator;
867 virtual void createForceLevelObjects();
873 virtual bool addSubordinatesToAggregate(
DtLocalObject*
object,
874 const std::vector<DtUUID>& subordinates, DtAggregateState desiredState = DtFullyDisaggregated);
884 virtual void removeVrfObject(
const DtUUID&,
bool queueDeletionOfVrfObject =
false);
886 virtual DtEntityIdentifier generateObjectIdentifier();
888 virtual void objectHandoffHandling(
DtLocalObject*,
int flag);
896 virtual bool shouldAddImmediately(
const DtLocalObject* simObject)
const;
905 virtual void objRemovedThisTick(
const DtUUID&
object);
906 virtual void addQueueObjectToDelete(
DtLocalObject* vrfobject);
910 virtual void upgradeObjects();
914 static void renderImguiCallback(
void* args);
915 virtual void updateImgui();
920 virtual void onQueueObjectForRemoval(
DtLocalObject* vrfObject,
bool andRemoveFromOrbat =
false);
926 virtual void advanceFrame();
929 virtual bool processPendingSubordinateRequests();
930 virtual void hookSuperiorToSubordinates(
DtLocalObject* localObject);
934 virtual void deleteVrfObjectsToBeDeleted();
941 static void modifyVrfObjectCallback(
DtSimMessage* msg,
void* usr);
942 static void modifyVrfOverlayCallback(
DtSimMessage* msg,
void* usr);
943 static void skipTaskCallback(
DtSimMessage* msg,
void* usr);
944 static void setThresholdsCallback(
DtSimMessage* msg,
void* usr);
945 static void deleteDynamicTerrainServerCallback(
DtSimMessage*,
void*);
947 #if DT_SINGLE_STATE_UPDATE_MESSAGE
948 static void vrfObjectStateUpdateCallback(
DtSimMessage* msg,
void* usr);
958 static void createVrfObjectCallback(
DtSimMessage* msg,
void* usr);
959 static void deleteVrfObjectCallback(
DtSimMessage* msg,
void* usr);
960 static void deleteVrfObjectByIdCallback(
DtSimMessage* msg,
void* usr);
961 static void orderOfBattleOpCallback(
DtSimMessage* msg,
void* usr);
962 static void aggregateAsCallback(
DtSimMessage* msg,
void* usr);
965 static void extendedLabelsOperationCallback(
DtSimMessage* msg,
void* usr);
966 virtual void processExtendedLabelsOperation(
DtSimMessage*);
969 static void requestActivitiesCallback(
DtSimMessage* msg,
void* usr);
973 static void requestJoystickControlsCallback(
DtSimMessage* msg,
void* usr);
974 virtual void processRequestJoystickControls(
DtSimMessage*);
976 virtual void sendObjectsCreatedMessage();
977 virtual void sendObjectsDeletedMessage();
993 virtual DtEntityType potentialRandomObjectTypeFrom(
const DtEntityType& original);
1002 virtual void createSubObjectsFromParameters(
DtLocalObject* parent,
1003 bool publishSubobjects,
unsigned long requestId,
const DtString& overlayParent,
bool addToOrbat,
bool clampToGround);
1007 virtual std::list<DtVector> calculateFormationOffsetsBasedOnFootprints(
const DtList&)
const;
1010 virtual std::vector<Dt3dBoundingVolume> boundingVolumesOfChildren(
const DtList& subObjects,
1011 int& totalLeafNodes)
const;
1023 bool publishSubObject,
unsigned long requestId = 0,
const DtString& overlayParent =
"",
1025 bool addToOrbat =
true,
bool clampToGround =
true);
1031 virtual void updateSubordianteFunction(
DtLocalObject* agg,
const std::vector<DtUUID>& subordiantes);
1196 bool reevaluateFlag =
false,
DtTime evaluationPeriod = 0);
1214 #include "localObjectManager.inl"
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtUUID superior
Definition: localObjectManager.h:1158
Class Description: DtVrfSimulationObjectGroupGeometry is a specialized that class will calculate obje...
Definition: vrfSimulationObjectGroupGeometry.h:50
std::map< int, DtUUID > myForceLevelNodesByUUID
Definition: localObjectManager.h:1150
This singleton class keeps track of components that should be added to remote, non VR-Forces entities...
Definition: remoteComponentAttachmentManager.h:35
DtValidStateChangedCallbackList myValidStateChangedCallbackList
Definition: localObjectManager.h:1111
class DtLocalObjectManager:
Definition: localObjectManager.h:157
DtString mySimObjectType
Type of DtSimObject to create. Types are defined in simObjectTypes.h.
Definition: localObjectManager.h:1075
class DtIfModifyVrfOverlay
Definition: ifModifyVrfOverlay.h:47
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:41
tbb::spin_rw_mutex myVisualMarkingsMutex
Definition: localObjectManager.h:1180
DtSimulationServices * mySimulationServices
Definition: localObjectManager.h:1077
tbb::mutex myTopLevelNodeCreationMutex
Definition: localObjectManager.h:1037
DtString myNewName
Definition: localObjectManager.h:120
bool(* DtSimObjectUserInitFcn)(DtLocalObject *object, void *usr)
User action function definition for createAndInitSimObject()
Definition: localObjectManager.h:109
bool myRemovingAllObjects
Definition: localObjectManager.h:1136
const char DtDefaultFormationString[]
Definition: extendedAggregateEnums.h:23
DtVrfObjectModifyQueue myObjectsToModifyQueue
Definition: localObjectManager.h:1091
Definition: localObjectManager.h:1153
DtSimObjectListActivityCallbackList myAboutToBeRemovedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1064
PendingStruct()
Definition: localObjectManager.h:1155
DtSimObjectListActivityCallbackList myAboutToBeLoadedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1049
void(* DtSimObjectListActivityCallbackFcn)(const DtLocalObject *simObject, void *usr)
Callback function definition.
Definition: simObjectListActivityCallbackInfo.h:16
double myTimeToPublishNextStateUpdate
Definition: localObjectManager.h:1095
The DtEventManager handles the sending and receipt of system events (fire, detonate, command, etc). It provides a thread-safe way for the sim engine to send and receive such events, between both components within this sim engine and other remote applications.
Definition: eventManager.h:33
DtVrfNameGenerator * myNameGenerator
Definition: localObjectManager.h:1176
DtLocalObject * myDynamicTerrainServer
Definition: localObjectManager.h:1097
std::map< DtUUID, boost::signals2::connection > PostInitParamsConnections
Definition: localObjectManager.h:1172
DtRemoteComponentAttachmentManager * myRemoteComponentAttachmentManager
List of components to attach to remote, non-vrf entities.
Definition: localObjectManager.h:1035
DtCallbackList< const DtLocalObject * >::DtCallbackFunctionType DtVrfObjectQueuedForRemocalCallbackFcn
Definition: localObjectManager.h:137
DtVrfSubObjectParameterEntry.
Definition: vrfSubObjectParameterEntry.h:27
VisualMarkings myVisualMarkings
Definition: localObjectManager.h:1179
std::shared_ptr< const DtManagedObjectList > DtManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList. These lists are used within VR-Fo...
Definition: managedObjectList.h:35
static DtEntityType DtAllEntityType(-1,-1,-1,-1,-1,-1,-1)
This file includes entity types that are used in the system as predefined types that are referenced i...
makVrf::DtStateDataManager * myStateDataManager
Definition: localObjectManager.h:1133
Callback list for DtLocalObjectManager object list activity, such as adding and removing objects...
Definition: simObjectListActivityCallbackList.h:25
std::set< DtLocalObject * > myObjectsCreatedThisTick
Definition: localObjectManager.h:1137
PendingSuperiorsToSet myPendingSuperiorsToSet
Definition: localObjectManager.h:1168
tbb::spin_mutex myPostInitParamsConnectionsMutex
Definition: localObjectManager.h:1174
DtObjectQueuedForRemovalCallbackList myObjectQueuedForRemovalCallbackList
Definition: localObjectManager.h:1103
DtVrfObjectUUIDChangedCallbackInfo()
Definition: localObjectManager.h:127
Arguments passed by the DtLocalObjectManager::addUUIDChangedCallback callbacks.
Definition: localObjectManager.h:125
std::list< DtModifyQueueEntryPtr > DtVrfObjectModifyQueue
Definition: localObjectManager.h:1090
class DtIfModifyVrfObject:
Definition: ifModifyVrfObject.h:50
const std::vector< DtEntityType > & stealthTypes() const
Definition: localObjectManager.h:857
std::set< DtLocalObject * > myCompleteObjectAddition
Definition: localObjectManager.h:1126
Renders a list of local entities, and also windows for any entities selected from that list...
Definition: imGuiLocalObjectList.h:30
Contains the DtVrfObjectPredicate class declaration.
Definition: vrfObjectPredicate.h:20
Manages loading and destruction of the geometric models for objects. Will reference the object parame...
Definition: objectGeometricModelsManager.h:34
int myAppIdRangeMax
Definition: localObjectManager.h:1128
Definition: ownershipTransferManager.h:30
DtNameChangedCallbackList myObjectNameChangedCallbackList
Definition: localObjectManager.h:1100
void(* DtVrfObjectListActivityCallbackFcn)(const DtLocalObject *vrfObject, void *usr)
Callback function definition (for callbacks registered on DtLocalObject* additions to and removals fr...
Definition: simObjectListActivityCallbackList.h:19
DtVrfObjectCreateQueue myObjectsToCreateQueue
Object creation queue; objects are only created once the terrain at the requested location has been p...
Definition: localObjectManager.h:1085
std::set< DtString > myObjectsDeletedThisTick
Definition: localObjectManager.h:1138
bool myInitialTimeSetThisFrame
Definition: localObjectManager.h:1122
static const DtUUID & nullUUID()
DtCallbackList< const DtVrfObjectNameChangedCallbackInfo & > DtNameChangedCallbackList
Definition: localObjectManager.h:1099
Definition: coordSystem.h:54
bool myRunFullyThreaded
Definition: localObjectManager.h:1124
std::map< DtEntityIdentifier, DtLocalObject * > DtEntityIdMap
Definition: localObjectManager.h:105
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
std::set< DtUUID > myObjectsToUpgrade
Definition: localObjectManager.h:1182
DtSimObjectMap mySimObjectList
Definition: localObjectManager.h:1041
std::map< DtUUID, DtLocalObject * > DtSimObjectMap
Definition: localObjectManager.h:106
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:54
Definition: createObjectServiceInterface.h:25
PendingStruct(const PendingStruct &orig)
Definition: localObjectManager.h:1157
File: simMsg.h.
Definition: simMessage.h:35
class DtVertexList:
Definition: vertexList.h:22
The DtLocalObjectUpgrader class will be responsible for starting the process of upgrading objects fro...
Definition: localObjectUpgrader.h:32
DtCallbackList< const DtVrfObjectUUIDChangedCallbackInfo & >::DtCallbackFunctionType DtVrfObjectUUIDChangedCallbackFcn
Definition: localObjectManager.h:136
DtUUID myNewUUID
Definition: localObjectManager.h:130
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
const int DtSimMaxForceTypes
The enumeration in DIS only specifies 4 types, but it goes across the network in an 8-bit field...
Definition: localObjectManager.h:114
DtCallbackList< const DtVrfObjectNameChangedCallbackInfo & >::DtCallbackFunctionType DtVrfObjectNameChangedCallbackFcn
Callback signature for DtLocalObjectManager::addNameChangedCallback().
Definition: localObjectManager.h:135
std::shared_ptr< DtModifyQueueEntry > DtModifyQueueEntryPtr
Object modification queue; objects which are ground clamped are only moved once the terrain at the re...
Definition: localObjectManager.h:1089
Definition: noArgumentCallbackList.h:90
std::shared_ptr< DtCreateQueueEntry > DtCreateQueueEntryPtr
Returns the objects to create queue.
Definition: localObjectManager.h:352
std::vector< DtEntityType > myStealthTypes
Definition: localObjectManager.h:1118
A utility class for use with DtConsoleCommandManager. This class takes ownership of an arbitrary numb...
Definition: consoleCommandManager.h:168
const DtSimObject * myVrfObject
Definition: localObjectManager.h:121
tbb::spin_rw_mutex mySimObjectListMutex
Hashlist of all DtLocalObject*s, keyed on DtUUID.
Definition: localObjectManager.h:1040
DtCommunicationManager * communicationManager() const
Definition: localObjectManager.h:298
DtVrfNameGenerator * vrfNameGenerator() const
Definition: localObjectManager.h:861
boost::signals2::signal< void(DtLocalObject *)> signal_localObjectCreated
Signal sent after a local object is created. Can aboid some timing issues with creating a network pub...
Definition: localObjectManager.h:278
bool myWasValid
Definition: localObjectManager.h:1116
bool removingAllObjects() const
Whether ot not all objects are being removed.
Definition: localObjectManager.h:315
PostInitParamsConnections myPostInitParamsConnections
Definition: localObjectManager.h:1173
DtCommunicationManager * myCommunicationManager
Definition: localObjectManager.h:1134
Definition: echelonId.h:13
DtSimObjectListActivityCallbackList mySimObjectConvertedToRemoteCallbacks
List of DtSimObjectListActivityCallbackFcn*s for objects that have been converted to a remote object...
Definition: localObjectManager.h:1070
std::atomic< int > myNumLocalPublished
Entity Identifier to be consistent with current DtIfVrfObjectDeleted message.
Definition: localObjectManager.h:1140
DtUUIDChangedCallbackList myObjectUUIDChangedCallbackList
Definition: localObjectManager.h:1106
tbb::spin_mutex myCompleteObjectAdditionMutex
Definition: localObjectManager.h:1125
The DtVrfObjectPlanAdministrator performs plan-related tasks that must be done in a centralized manne...
Definition: vrfObjectPlanAdministrator.h:44
DtImGuiLocalObjectList * myImGuiLocalObjectList
Definition: localObjectManager.h:1184
The DtNetworkInterfaceManager manages all network interfaces utilized by the sim engine. Often there is only one, but it is possible for there to be multiple. Each network interface is an instance of a subclass of DtNetworkManagerInterface. As state data is created or removed, the DtNetworkInterfaceManager will notify each of its network interfaces, so that they may create object network interfaces to output required state data to the network.
Definition: networkInterfaceManager.h:47
DtSimObjectListActivityCallbackList myAddedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1059
std::map< DtString, DtRwStringAttributeList * > VisualMarkings
Definition: localObjectManager.h:1178
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
DtConsoleCommandOwner * myConsoleCommands
Definition: localObjectManager.h:1108
This class is the central access point for all current-frame state of all objects in the simulation i...
Definition: simObjectManager.h:32
DtCallbackList< bool >::DtCallbackFunctionType DtValidStateChangedCallbackFcn
Definition: localObjectManager.h:138
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:80
PendingSetSuperior myPendingSetSuperior
Definition: localObjectManager.h:1165
class DtCreateQueueEntry:
Definition: createQueueEntry.h:25
DtSimObjectListActivityCallbackList myAboutToBeAddedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1054
DtManagedObjectListConstPtr myForceLevelNodes
Definition: localObjectManager.h:1151
Definition: modifyQueueEntry.h:24
std::vector< DtEntityType > & stealthTypes()
Definition: localObjectManager.h:856
const std::map< int, DtUUID > & forceLevelNodes() const
Definition: localObjectManager.h:653
std::list< DtCreateQueueEntryPtr > DtVrfObjectCreateQueue
Definition: localObjectManager.h:353
const Coordinate_System * myCoordinateSystemPtr
Definition: localObjectManager.h:1093
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtCallbackList< const DtVrfObjectUUIDChangedCallbackInfo & > DtUUIDChangedCallbackList
Definition: localObjectManager.h:1105
bool myCanSimulate
Definition: localObjectManager.h:1115
std::map< DtUUID, PendingStruct > PendingSetSuperior
Definition: localObjectManager.h:1164
tbb::spin_mutex myObjectsCreatedThisTickMutex
Definition: localObjectManager.h:1141
DtCallbackList< const DtLocalObject * > DtObjectQueuedForRemovalCallbackList
Definition: localObjectManager.h:1102
DtRemoteComponentAttachmentManager * remoteComponentAttachmentManager()
Returns the remote component attachment manager.
Definition: localObjectManager.h:1204
bool myCreatedCharacterManager
Definition: localObjectManager.h:1113
DtOwnershipTransferManager * myOwnershipTransferManager
Definition: localObjectManager.h:1147
tbb::spin_mutex myRemovalQueueMutex
Definition: localObjectManager.h:1131
std::map< DtUUID, std::set< DtUUID > > PendingSuperiorsToSet
Definition: localObjectManager.h:1167
std::vector< DtLocalObject * > myVrfObjectsToDelete
Definition: localObjectManager.h:1120
const DtLocalObject * myVrfObject
Definition: localObjectManager.h:131
Definition: simInterfaceContent.h:45
PendingStruct(const DtUUID &sup, int des)
Definition: localObjectManager.h:1156
int designator
Definition: localObjectManager.h:1161
tbb::spin_rw_mutex myObjectWasRemovedThisTickMutex
Definition: localObjectManager.h:1144
std::set< DtUUID > myObjectWasRemovedThisTick
Definition: localObjectManager.h:1145
boost::signals2::scoped_connection myPlaceObjectEventConnection
Definition: localObjectManager.h:1170
This is the FIXED length portion of a DtIfAggregateAs message content when placed on the network...
Definition: ifAggregateAs.h:39
DtVrfParameterDb * myParameterDatabase
Parameter database used in creation and initialization of DtLocalObjects.
Definition: localObjectManager.h:1044
Arguments passed by the DtLocalObjectManager::addNameChangedCallback callbacks.
Definition: localObjectManager.h:117
DtSimObjectListActivityCallbackList mySimObjectConvertedToLocalCallbacks
List of DtSimObjectListActivityCallbackFcn*s for objects that have been converted to a local object...
Definition: localObjectManager.h:1067
DtCallbackList< bool > DtValidStateChangedCallbackList
Definition: localObjectManager.h:1110
#define VRF4API_METHOD
Include this header file to allow for the definition/usage of the ability to mark something as deprec...
Definition: vrf4XAPI.h:23
tbb::spin_mutex myObjectPublisherMutex
Definition: localObjectManager.h:1130
A DtRwActivities list will contain a list of activities (key/value pair) by entity type that will sup...
Definition: rwActivities.h:20
DtAggregateCreationMode
Defines how the initial DtAggregateState should be set upon creation of an aggregate entity...
Definition: createObjectServiceInterface.h:23
DtUUID myOldUUID
Definition: localObjectManager.h:127
std::map< DtUUID, bool > myObjectsToRemoveQueue
Objects queued for removal; processed each tick by removeObjectsQueuedForRemoval. ...
Definition: localObjectManager.h:1081
DtString myOldName
Definition: localObjectManager.h:119
class DtRwStringAttributeList:
Definition: rwStringAttributeList.h:29
The DtVrfNameGenerator class will generate a unique name by object type.
Definition: vrfNameGenerator.h:20
tbb::spin_rw_mutex myQueueSetSuperiorMutex
Definition: localObjectManager.h:1149
class DtIfCreateVrfObject:
Definition: ifCreateVrfObject.h:77
A locally simulated VRF object.
Definition: localObject.h:98
tbb::spin_rw_mutex myObjectsToRemoveQueueMutex
Definition: localObjectManager.h:1142
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73