26 #include <tbb/spin_mutex.h>
27 #include <tbb/recursive_mutex.h>
28 #include <tbb/queuing_mutex.h>
29 #include <tbb/atomic.h>
30 #include <boost/unordered_set.hpp>
31 #include <boost/signals2.hpp>
32 #include <boost/unordered_map.hpp>
35 #include <vlpi/appearance.h>
36 #include <vlutil/vlFilename.h>
37 #include <vlutil/vlList.h>
38 #include <vlutil/vlHashlist.h>
39 #include <vlutil/vlConfig.h>
40 #include <vlutil/vlSmartPointers.h>
46 #include <tbb/spin_rw_mutex.h>
47 #include <tbb/spin_mutex.h>
48 #include <tbb/mutex.h>
52 #define DT_SINGLE_STATE_UPDATE_MESSAGE 0
60 class DtSimObjectSubComponentTypes;
65 class DtBaseEntityStateRepository;
67 class DtVrfObjectManagerTickArguments;
68 class DtSimTickArguments;
72 class DtLocalObjectstateRepository;
84 class DtVrfObjectTransferManager;
87 namespace makVrfEvents
96 class DtStateDataManager;
179 virtual void clearRemoteComponentAttachmentSystem();
182 void removeAllRemoteComponentAttachments();
188 virtual void createRemoteComponentAttachmentManager();
191 virtual bool isRemoteComponentAttachment(
const DtUUID&)
const;
194 virtual bool initializeRemoteComponentAttachmentSystem(
const DtFilename& fromFile);
210 virtual DtFilename metaDataFilename(
const DtObjectType&)
const;
223 virtual bool completeObjectAddition(
DtLocalObject* simObject);
230 virtual bool isValidState()
const;
244 virtual DtString generateUniqueName(
int maxLength,
const DtString& root =
"Object")
const;
250 virtual DtString nextNameWithPrefix(
unsigned int maxLength,
const DtString& potentialPrefix);
261 virtual DtString nextUnorganizedName();
269 virtual void setRunFullyThreaded(
bool b);
270 bool runFullyThreaded()
const;
283 return myCommunicationManager;
294 virtual void removeAndDelete(
const DtUUID& objectName,
bool andRemoveFromOrbat,
bool andRemoveSubordinatres =
true);
295 virtual void removeAndDelete(
DtLocalObject*
object,
bool andRemoveFromOrbat,
bool andRemoveSubordinatres =
true);
300 return myRemovingAllObjects;
305 virtual void removeAndDeleteAll(
bool andDeleteFromOrbat =
false);
308 virtual bool objectInRemovalQueue(
const DtUUID& uuid);
316 virtual void registerInterfaceCallbacks();
366 virtual void processModifyVrfOverlay(
DtSimMessage* msg);
372 virtual void processDeleteVrfObjectById(
DtSimMessage* msg);
382 virtual void queueSetSuperiorToForce(
const DtUUID&,
int force,
int designator = 0);
383 virtual void queueSetSuperior(
const DtUUID& subordinate,
const DtUUID& superior,
int designator = 0);
384 virtual void clearSubordinateOperations();
385 virtual bool hasOutstandingSubordinateChanges()
const;
394 virtual void processDeleteDynamicTerrainServer(
DtSimMessage*);
398 virtual void removeObjectSubordinates(
DtLocalObject*
object,
bool andRemoveFromOrbat);
402 virtual void queueObjectForRemoval(
const DtUUID& key,
bool andRemoveFromOrbat =
false);
405 virtual void removeObjectsQueuedForRemoval();
433 bool publishLocalObject =
true,
434 const DtString& objectName = DtString::nullString(),
435 const DtString& objectLabel = DtString::nullString(),
436 DtForceType forceType = DtForceOther,
437 const DtList* vertices = 0,
438 const DtTaitBryan* orientation = 0,
439 bool projection =
false,
440 bool closedFigure =
false,
441 const DtAppearance& appearance = DtAppearance::nullAppearance(),
442 bool createSubObjects =
false,
444 void* userInitData = 0,
445 bool organize =
true,
449 unsigned long requestId = 0,
452 bool addToOrbat =
false);
465 bool publishLocalObject =
true,
466 const DtString& objectName = DtString::nullString(),
467 const DtString& objectLabel = DtString::nullString(),
468 DtForceType forceType = DtForceOther,
469 const DtVector& position = DtVector::zero(),
470 const DtTaitBryan* orientation = 0,
471 bool projection =
false,
472 bool closedFigure =
false,
473 const DtAppearance& appearance = DtAppearance::nullAppearance(),
474 bool createSubObjects =
false,
476 void* userInitData = 0,
477 bool organize =
true,
481 unsigned long requestId = 0,
const DtString& overlayParent =
"",
483 bool addToOrbat =
false);
486 virtual void preallocateLuaScriptHandles(
int);
490 static void tickCallback(
void* args);
495 virtual void addVrfObjectAboutToBeAddedCallback(
498 bool invertFilter =
false)
const;
503 virtual void addVrfObjectAddedCallback(
506 bool invertFilter =
false)
const;
511 virtual void addVrfObjectAboutToBeLoadedCallback(
514 bool invertFilter =
false)
const;
520 virtual void addVrfObjectAboutToBeRemovedCallback(
523 bool invertFilter =
false)
const;
527 virtual void removeVrfObjectAboutToBeAddedCallback(
530 bool invertFilter =
false)
const;
534 virtual void removeVrfObjectAboutToBeLoadedCallback(
537 bool invertFilter =
false)
const;
541 virtual void removeVrfObjectAddedCallback(
544 bool invertFilter =
false)
const;
548 virtual void removeVrfObjectAboutToBeRemovedCallback(
551 bool invertFilter =
false)
const;
554 virtual int numLocalPublished()
const;
559 virtual bool objectNameExists(
const DtString&)
const;
562 virtual DtLocalObject* createAndInitTopLevelVrfObject(DtForceType forceType);
565 virtual DtLocalObject* createAndInitTopLevelVrfObject(DtForceType forceType,
568 virtual DtString topLevelName(DtForceType forceType);
577 virtual void objectUUIDChanged(
const DtUUID& oldUUID,
const DtUUID& newUUID);
614 const std::vector<DtUUID>& subordinates = std::vector<DtUUID>(),
615 const DtString& aggregateName = DtString::nullString(),
616 bool addToOrbat =
true);
619 virtual void sendCapableTasksAndSets(
const std::vector<DtUUID>&,
bool forceUpdate =
false)
const;
625 virtual void setSimulationDateTimeBasedOnLocation(
const DtVector& geocentricLocation,
int timeOfDay);
631 virtual unsigned objectCount()
const;
657 virtual bool uuidExists(
const DtUUID&)
const;
664 virtual bool markingTextExists(
const DtString&)
const;
667 virtual const DtSimulationAddress& simulationAddress()
const;
670 virtual bool createSimObjectList();
678 virtual bool hostingDynamicTerrainServer()
const;
681 virtual bool hasDynamicTerrainServer()
const;
687 virtual void addSimObjectQueuedForRemovalCallback(
689 virtual void removeSimObjectQueuedForRemovalCallback(
691 virtual void invokeSimObjectQueuedForRemovalCallbacks(
695 virtual void addValidStateChangedCallbackFcn(
697 virtual void removeValidStateChangedCallbackFcn(
699 virtual void invokeValidStateChangedCallbacks();
712 virtual void addSimObjectAboutToBeAddedCallback(
715 bool invertFilter =
false)
const;
720 virtual void addSimObjectAddedCallback(
723 bool invertFilter =
false)
const;
728 virtual void addSimObjectAboutToBeRemovedCallback(
731 bool invertFilter =
false)
const;
736 virtual void addSimObjectAboutToBeLoadedCallback(
739 bool invertFilter =
false)
const;
743 virtual void removeSimObjectAboutToBeAddedCallback(
746 bool invertFilter =
false)
const;
750 virtual void removeSimObjectAddedCallback(
753 bool invertFilter =
false)
const;
757 virtual void removeSimObjectAboutToBeLoadedCallback(
760 bool invertFilter =
false)
const;
764 virtual void removeSimObjectAboutToBeRemovedCallback(
767 bool invertFilter =
false)
const;
770 virtual void invokeSimObjectConvertedToLocalCallbacks(
774 virtual void invokeSimObjectConvertedToRemoteCallbacks(
780 virtual void invokeSimObjectAboutToBeAddedCallbacks(
786 virtual void invokeSimObjectAddedCallbacks(
792 virtual void invokeSimObjectAboutToBeRemovedCallbacks(
798 virtual void invokeSimObjectAboutToBeLoadedCallbacks(
804 virtual void setSimObjectType(
const DtString& type);
805 virtual const DtString& simObjectType()
const;
809 virtual void closingScenario();
813 virtual bool addUUIDMappingForObject(
DtLocalObject* vrfObject);
816 virtual void removeUUIDMappingForObject(
DtLocalObject* vrfObject);
820 virtual bool canSimulate()
const;
824 virtual void setCanSimulate(
bool);
828 virtual void addStealthType(
const DtEntityType&);
829 virtual void removeStealthType(
const DtEntityType&);
830 virtual bool isStealthType(
const DtEntityType&)
const;
832 const std::vector<DtEntityType>&
stealthTypes()
const {
return myStealthTypes; };
835 virtual DtLocalObject* getObjectByType(
const DtEntityType&)
const;
838 return myNameGenerator;
846 virtual bool addSubordinatesToAggregate(
DtLocalObject*
object,
847 const std::vector<DtUUID>& subordinates, DtAggregateState desiredState = DtFullyDisaggregated);
857 virtual void removeVrfObject(
const DtUUID&,
bool queueDeletionOfVrfObject =
false);
859 virtual DtEntityIdentifier generateObjectIdentifier();
861 virtual void objectHandoffHandling(
DtLocalObject*,
int flag);
869 virtual bool shouldAddImmediately(
const DtLocalObject* simObject)
const;
878 virtual void objRemovedThisTick(
const DtUUID&
object);
879 virtual void addQueueObjectToDelete(
DtLocalObject* vrfobject);
886 virtual void onQueueObjectForRemoval(
DtLocalObject* vrfObject,
bool andRemoveFromOrbat =
false);
892 virtual void advanceFrame();
895 virtual bool processPendingSubordinateRequests();
896 virtual void hookSuperiorToSubordinates(
DtLocalObject* localObject);
900 virtual void deleteVrfObjectsToBeDeleted();
907 static void modifyVrfObjectCallback(
DtSimMessage* msg,
void* usr);
908 static void modifyVrfOverlayCallback(
DtSimMessage* msg,
void* usr);
909 static void skipTaskCallback(
DtSimMessage* msg,
void* usr);
910 static void setThresholdsCallback(
DtSimMessage* msg,
void* usr);
911 static void deleteDynamicTerrainServerCallback(
DtSimMessage*,
void*);
913 #if DT_SINGLE_STATE_UPDATE_MESSAGE
914 static void vrfObjectStateUpdateCallback(
DtSimMessage* msg,
void* usr);
924 static void createVrfObjectCallback(
DtSimMessage* msg,
void* usr);
925 static void deleteVrfObjectCallback(
DtSimMessage* msg,
void* usr);
926 static void deleteVrfObjectByIdCallback(
DtSimMessage* msg,
void* usr);
927 static void orderOfBattleOpCallback(
DtSimMessage* msg,
void* usr);
928 static void aggregateAsCallback(
DtSimMessage* msg,
void* usr);
931 static void extendedLabelsOperationCallback(
DtSimMessage* msg,
void* usr);
932 virtual void processExtendedLabelsOperation(
DtSimMessage*);
935 static void requestActivitiesCallback(
DtSimMessage* msg,
void* usr);
939 static void requestJoystickControlsCallback(
DtSimMessage* msg,
void* usr);
940 virtual void processRequestJoystickControls(
DtSimMessage*);
942 virtual void sendObjectsCreatedMessage();
943 virtual void sendObjectsDeletedMessage();
968 virtual void createSubObjectsFromParameters(
DtLocalObject* parent,
969 bool publishSubobjects,
unsigned long requestId,
const DtString& overlayParent,
bool addToOrbat);
973 virtual std::list<DtVector> calculateFormationOffsetsBasedOnFootprints(
const DtList&)
const;
976 virtual std::vector<Dt3dBoundingVolume> boundingVolumesOfChildren(
const DtList& subObjects,
977 int& totalLeafNodes)
const;
989 bool publishSubObject,
unsigned long requestId = 0,
const DtString& overlayParent =
"",
991 bool addToOrbat =
true);
997 virtual void updateSubordianteFunction(
DtLocalObject* agg,
const std::vector<DtUUID>& subordiantes);
1158 bool reevaluateFlag =
false,
DtTime evaluationPeriod = 0);
1176 #include "localObjectManager.inl"
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
DtUUID superior
Definition: localObjectManager.h:1124
Class Description: DtVrfSimulationObjectGroupGeometry is a specialized that class will calculate obje...
Definition: vrfSimulationObjectGroupGeometry.h:50
std::map< int, DtUUID > myForceLevelNodesByUUID
Definition: localObjectManager.h:1116
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:1077
class DtLocalObjectManager:
Definition: localObjectManager.h:151
DtString mySimObjectType
Type of DtSimObject to create. Types are defined in simObjectTypes.h.
Definition: localObjectManager.h:1041
class DtIfModifyVrfOverlay
Definition: ifModifyVrfOverlay.h:47
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:38
tbb::spin_rw_mutex myVisualMarkingsMutex
Definition: localObjectManager.h:1146
DtBoost::shared_ptr< DtModifyQueueEntry > DtModifyQueueEntryPtr
Object modification queue; objects which are ground clamped are only moved once the terrain at the re...
Definition: localObjectManager.h:1055
DtSimulationServices * mySimulationServices
Definition: localObjectManager.h:1043
tbb::mutex myTopLevelNodeCreationMutex
Definition: localObjectManager.h:1003
DtString myNewName
Definition: localObjectManager.h:114
bool(* DtSimObjectUserInitFcn)(DtLocalObject *object, void *usr)
User action function definition for createAndInitSimObject()
Definition: localObjectManager.h:103
bool myRemovingAllObjects
Definition: localObjectManager.h:1102
const char DtDefaultFormationString[]
Definition: extendedAggregateEnums.h:23
DtVrfObjectModifyQueue myObjectsToModifyQueue
Definition: localObjectManager.h:1057
Definition: localObjectManager.h:1119
DtSimObjectListActivityCallbackList myAboutToBeRemovedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1030
PendingStruct()
Definition: localObjectManager.h:1121
DtSimObjectListActivityCallbackList myAboutToBeLoadedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1015
void(* DtSimObjectListActivityCallbackFcn)(const DtLocalObject *simObject, void *usr)
Callback function definition.
Definition: simObjectListActivityCallbackInfo.h:17
double myTimeToPublishNextStateUpdate
Definition: localObjectManager.h:1061
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:1142
DtLocalObject * myDynamicTerrainServer
Definition: localObjectManager.h:1063
std::map< DtUUID, boost::signals2::connection > PostInitParamsConnections
Definition: localObjectManager.h:1138
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
DtRemoteComponentAttachmentManager * myRemoteComponentAttachmentManager
List of components to attach to remote, non-vrf entities.
Definition: localObjectManager.h:1001
DtCallbackList< const DtLocalObject * >::DtCallbackFunctionType DtVrfObjectQueuedForRemocalCallbackFcn
Definition: localObjectManager.h:131
DtBoost::shared_ptr< DtCreateQueueEntry > DtCreateQueueEntryPtr
Returns the objects to create queue.
Definition: localObjectManager.h:335
DtVrfSubObjectParameterEntry.
Definition: vrfSubObjectParameterEntry.h:27
VisualMarkings myVisualMarkings
Definition: localObjectManager.h:1145
makVrf::DtStateDataManager * myStateDataManager
Definition: localObjectManager.h:1099
Callback list for DtLocalObjectManager object list activity, such as adding and removing objects...
Definition: simObjectListActivityCallbackList.h:25
std::set< DtLocalObject * > myObjectsCreatedThisTick
Definition: localObjectManager.h:1103
PendingSuperiorsToSet myPendingSuperiorsToSet
Definition: localObjectManager.h:1134
tbb::spin_mutex myPostInitParamsConnectionsMutex
Definition: localObjectManager.h:1140
DtObjectQueuedForRemovalCallbackList myObjectQueuedForRemovalCallbackList
Definition: localObjectManager.h:1069
DtVrfObjectUUIDChangedCallbackInfo()
Definition: localObjectManager.h:121
Arguments passed by the DtLocalObjectManager::addUUIDChangedCallback callbacks.
Definition: localObjectManager.h:119
std::list< DtModifyQueueEntryPtr > DtVrfObjectModifyQueue
Definition: localObjectManager.h:1056
class DtIfModifyVrfObject:
Definition: ifModifyVrfObject.h:50
Definition: objectType.h:27
const std::vector< DtEntityType > & stealthTypes() const
Definition: localObjectManager.h:832
std::set< DtLocalObject * > myCompleteObjectAddition
Definition: localObjectManager.h:1092
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:29
int myAppIdRangeMax
Definition: localObjectManager.h:1094
Definition: ownershipTransferManager.h:26
DtNameChangedCallbackList myObjectNameChangedCallbackList
Definition: localObjectManager.h:1066
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:1051
std::set< DtString > myObjectsDeletedThisTick
Definition: localObjectManager.h:1104
bool myInitialTimeSetThisFrame
Definition: localObjectManager.h:1088
static const DtUUID & nullUUID()
DtCallbackList< const DtVrfObjectNameChangedCallbackInfo & > DtNameChangedCallbackList
Definition: localObjectManager.h:1065
Definition: coordSystem.h:54
bool myRunFullyThreaded
Definition: localObjectManager.h:1090
std::map< DtEntityIdentifier, DtLocalObject * > DtEntityIdMap
Definition: localObjectManager.h:99
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtSimObjectMap mySimObjectList
Definition: localObjectManager.h:1007
std::map< DtUUID, DtLocalObject * > DtSimObjectMap
Definition: localObjectManager.h:100
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:50
Definition: createObjectServiceInterface.h:25
PendingStruct(const PendingStruct &orig)
Definition: localObjectManager.h:1123
File: simMsg.h.
Definition: simMessage.h:35
class DtVertexList:
Definition: vertexList.h:22
DtCallbackList< const DtVrfObjectUUIDChangedCallbackInfo & >::DtCallbackFunctionType DtVrfObjectUUIDChangedCallbackFcn
Definition: localObjectManager.h:130
DtUUID myNewUUID
Definition: localObjectManager.h:124
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:108
DtCallbackList< const DtVrfObjectNameChangedCallbackInfo & >::DtCallbackFunctionType DtVrfObjectNameChangedCallbackFcn
Callback signature for DtLocalObjectManager::addNameChangedCallback().
Definition: localObjectManager.h:129
Definition: noArgumentCallbackList.h:91
std::vector< DtEntityType > myStealthTypes
Definition: localObjectManager.h:1084
A utility class for use with DtConsoleCommandManager. This class takes ownership of an arbitrary numb...
Definition: consoleCommandManager.h:166
const DtSimObject * myVrfObject
Definition: localObjectManager.h:115
tbb::spin_rw_mutex mySimObjectListMutex
Hashlist of all DtLocalObject*s, keyed on DtUUID.
Definition: localObjectManager.h:1006
DtCommunicationManager * communicationManager() const
Definition: localObjectManager.h:281
DtVrfNameGenerator * vrfNameGenerator() const
Definition: localObjectManager.h:836
bool myWasValid
Definition: localObjectManager.h:1082
bool removingAllObjects() const
Whether ot not all objects are being removed.
Definition: localObjectManager.h:298
PostInitParamsConnections myPostInitParamsConnections
Definition: localObjectManager.h:1139
DtCommunicationManager * myCommunicationManager
Definition: localObjectManager.h:1100
Definition: echelonId.h:13
DtSimObjectListActivityCallbackList mySimObjectConvertedToRemoteCallbacks
List of DtSimObjectListActivityCallbackFcn*s for objects that have been converted to a remote object...
Definition: localObjectManager.h:1036
DtUUIDChangedCallbackList myObjectUUIDChangedCallbackList
Definition: localObjectManager.h:1072
tbb::spin_mutex myCompleteObjectAdditionMutex
Definition: localObjectManager.h:1091
The DtVrfObjectPlanAdministrator performs plan-related tasks that must be done in a centralized manne...
Definition: vrfObjectPlanAdministrator.h:44
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:44
DtSimObjectListActivityCallbackList myAddedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1025
std::map< DtString, DtRwStringAttributeList * > VisualMarkings
Definition: localObjectManager.h:1144
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
DtConsoleCommandOwner * myConsoleCommands
Definition: localObjectManager.h:1074
This class is the central access point for all current-frame state of all objects in the simulation i...
Definition: simObjectManager.h:42
DtCallbackList< bool >::DtCallbackFunctionType DtValidStateChangedCallbackFcn
Definition: localObjectManager.h:132
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:79
PendingSetSuperior myPendingSetSuperior
Definition: localObjectManager.h:1131
class DtCreateQueueEntry:
Definition: createQueueEntry.h:25
DtSimObjectListActivityCallbackList myAboutToBeAddedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1020
DtManagedObjectListConstPtr myForceLevelNodes
Definition: localObjectManager.h:1117
Definition: modifyQueueEntry.h:24
std::vector< DtEntityType > & stealthTypes()
Definition: localObjectManager.h:831
std::list< DtCreateQueueEntryPtr > DtVrfObjectCreateQueue
Definition: localObjectManager.h:336
const Coordinate_System * myCoordinateSystemPtr
Definition: localObjectManager.h:1059
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtCallbackList< const DtVrfObjectUUIDChangedCallbackInfo & > DtUUIDChangedCallbackList
Definition: localObjectManager.h:1071
bool myCanSimulate
Definition: localObjectManager.h:1081
std::map< DtUUID, PendingStruct > PendingSetSuperior
Definition: localObjectManager.h:1130
tbb::spin_mutex myObjectsCreatedThisTickMutex
Definition: localObjectManager.h:1107
DtCallbackList< const DtLocalObject * > DtObjectQueuedForRemovalCallbackList
Definition: localObjectManager.h:1068
DtRemoteComponentAttachmentManager * remoteComponentAttachmentManager()
Returns the remote component attachment manager.
Definition: localObjectManager.h:1166
bool myCreatedCharacterManager
Definition: localObjectManager.h:1079
DtBoost::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
DtOwnershipTransferManager * myOwnershipTransferManager
Definition: localObjectManager.h:1113
tbb::spin_mutex myRemovalQueueMutex
Definition: localObjectManager.h:1097
std::map< DtUUID, std::set< DtUUID > > PendingSuperiorsToSet
Definition: localObjectManager.h:1133
std::vector< DtLocalObject * > myVrfObjectsToDelete
Definition: localObjectManager.h:1086
const DtLocalObject * myVrfObject
Definition: localObjectManager.h:125
Definition: simInterfaceContent.h:45
PendingStruct(const DtUUID &sup, int des)
Definition: localObjectManager.h:1122
int designator
Definition: localObjectManager.h:1127
tbb::spin_rw_mutex myObjectWasRemovedThisTickMutex
Definition: localObjectManager.h:1110
std::set< DtUUID > myObjectWasRemovedThisTick
Definition: localObjectManager.h:1111
boost::signals2::scoped_connection myPlaceObjectEventConnection
Definition: localObjectManager.h:1136
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:1010
Arguments passed by the DtLocalObjectManager::addNameChangedCallback callbacks.
Definition: localObjectManager.h:111
DtSimObjectListActivityCallbackList mySimObjectConvertedToLocalCallbacks
List of DtSimObjectListActivityCallbackFcn*s for objects that have been converted to a local object...
Definition: localObjectManager.h:1033
tbb::atomic< int > myNumLocalPublished
Entity Identifier to be consistent with current DtIfVrfObjectDeleted message.
Definition: localObjectManager.h:1106
DtCallbackList< bool > DtValidStateChangedCallbackList
Definition: localObjectManager.h:1076
#define VRF4API_METHOD
Include this header file to allow for the definition/usage of the ability to mark something as deprec...
Definition: vrf4XAPI.h:22
tbb::spin_mutex myObjectPublisherMutex
Definition: localObjectManager.h:1096
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
static const DtObjectType & anyType()
DtUUID myOldUUID
Definition: localObjectManager.h:121
std::map< DtUUID, bool > myObjectsToRemoveQueue
Objects queued for removal; processed each tick by removeObjectsQueuedForRemoval. ...
Definition: localObjectManager.h:1047
DtString myOldName
Definition: localObjectManager.h:113
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:1115
class DtIfCreateVrfObject:
Definition: ifCreateVrfObject.h:77
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
tbb::spin_rw_mutex myObjectsToRemoveQueueMutex
Definition: localObjectManager.h:1108
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:71