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;
842 virtual void createForceLevelObjects();
849 virtual bool addSubordinatesToAggregate(
DtLocalObject*
object,
850 const std::vector<DtUUID>& subordinates, DtAggregateState desiredState = DtFullyDisaggregated);
860 virtual void removeVrfObject(
const DtUUID&,
bool queueDeletionOfVrfObject =
false);
862 virtual DtEntityIdentifier generateObjectIdentifier();
864 virtual void objectHandoffHandling(
DtLocalObject*,
int flag);
872 virtual bool shouldAddImmediately(
const DtLocalObject* simObject)
const;
881 virtual void objRemovedThisTick(
const DtUUID&
object);
882 virtual void addQueueObjectToDelete(
DtLocalObject* vrfobject);
889 virtual void onQueueObjectForRemoval(
DtLocalObject* vrfObject,
bool andRemoveFromOrbat =
false);
895 virtual void advanceFrame();
898 virtual bool processPendingSubordinateRequests();
899 virtual void hookSuperiorToSubordinates(
DtLocalObject* localObject);
903 virtual void deleteVrfObjectsToBeDeleted();
910 static void modifyVrfObjectCallback(
DtSimMessage* msg,
void* usr);
911 static void modifyVrfOverlayCallback(
DtSimMessage* msg,
void* usr);
912 static void skipTaskCallback(
DtSimMessage* msg,
void* usr);
913 static void setThresholdsCallback(
DtSimMessage* msg,
void* usr);
914 static void deleteDynamicTerrainServerCallback(
DtSimMessage*,
void*);
916 #if DT_SINGLE_STATE_UPDATE_MESSAGE
917 static void vrfObjectStateUpdateCallback(
DtSimMessage* msg,
void* usr);
927 static void createVrfObjectCallback(
DtSimMessage* msg,
void* usr);
928 static void deleteVrfObjectCallback(
DtSimMessage* msg,
void* usr);
929 static void deleteVrfObjectByIdCallback(
DtSimMessage* msg,
void* usr);
930 static void orderOfBattleOpCallback(
DtSimMessage* msg,
void* usr);
931 static void aggregateAsCallback(
DtSimMessage* msg,
void* usr);
934 static void extendedLabelsOperationCallback(
DtSimMessage* msg,
void* usr);
935 virtual void processExtendedLabelsOperation(
DtSimMessage*);
938 static void requestActivitiesCallback(
DtSimMessage* msg,
void* usr);
942 static void requestJoystickControlsCallback(
DtSimMessage* msg,
void* usr);
943 virtual void processRequestJoystickControls(
DtSimMessage*);
945 virtual void sendObjectsCreatedMessage();
946 virtual void sendObjectsDeletedMessage();
971 virtual void createSubObjectsFromParameters(
DtLocalObject* parent,
972 bool publishSubobjects,
unsigned long requestId,
const DtString& overlayParent,
bool addToOrbat);
976 virtual std::list<DtVector> calculateFormationOffsetsBasedOnFootprints(
const DtList&)
const;
979 virtual std::vector<Dt3dBoundingVolume> boundingVolumesOfChildren(
const DtList& subObjects,
980 int& totalLeafNodes)
const;
992 bool publishSubObject,
unsigned long requestId = 0,
const DtString& overlayParent =
"",
994 bool addToOrbat =
true);
1000 virtual void updateSubordianteFunction(
DtLocalObject* agg,
const std::vector<DtUUID>& subordiantes);
1161 bool reevaluateFlag =
false,
DtTime evaluationPeriod = 0);
1179 #include "localObjectManager.inl"
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtUUID superior
Definition: localObjectManager.h:1127
Class Description: DtVrfSimulationObjectGroupGeometry is a specialized that class will calculate obje...
Definition: vrfSimulationObjectGroupGeometry.h:50
std::map< int, DtUUID > myForceLevelNodesByUUID
Definition: localObjectManager.h:1119
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:1080
class DtLocalObjectManager:
Definition: localObjectManager.h:151
DtString mySimObjectType
Type of DtSimObject to create. Types are defined in simObjectTypes.h.
Definition: localObjectManager.h:1044
class DtIfModifyVrfOverlay
Definition: ifModifyVrfOverlay.h:47
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:40
tbb::spin_rw_mutex myVisualMarkingsMutex
Definition: localObjectManager.h:1149
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:1058
DtSimulationServices * mySimulationServices
Definition: localObjectManager.h:1046
tbb::mutex myTopLevelNodeCreationMutex
Definition: localObjectManager.h:1006
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:1105
const char DtDefaultFormationString[]
Definition: extendedAggregateEnums.h:23
DtVrfObjectModifyQueue myObjectsToModifyQueue
Definition: localObjectManager.h:1060
Definition: localObjectManager.h:1122
DtSimObjectListActivityCallbackList myAboutToBeRemovedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1033
PendingStruct()
Definition: localObjectManager.h:1124
DtSimObjectListActivityCallbackList myAboutToBeLoadedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1018
void(* DtSimObjectListActivityCallbackFcn)(const DtLocalObject *simObject, void *usr)
Callback function definition.
Definition: simObjectListActivityCallbackInfo.h:17
double myTimeToPublishNextStateUpdate
Definition: localObjectManager.h:1064
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:1145
DtLocalObject * myDynamicTerrainServer
Definition: localObjectManager.h:1066
std::map< DtUUID, boost::signals2::connection > PostInitParamsConnections
Definition: localObjectManager.h:1141
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:1004
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:1148
makVrf::DtStateDataManager * myStateDataManager
Definition: localObjectManager.h:1102
Callback list for DtLocalObjectManager object list activity, such as adding and removing objects...
Definition: simObjectListActivityCallbackList.h:25
std::set< DtLocalObject * > myObjectsCreatedThisTick
Definition: localObjectManager.h:1106
PendingSuperiorsToSet myPendingSuperiorsToSet
Definition: localObjectManager.h:1137
tbb::spin_mutex myPostInitParamsConnectionsMutex
Definition: localObjectManager.h:1143
DtObjectQueuedForRemovalCallbackList myObjectQueuedForRemovalCallbackList
Definition: localObjectManager.h:1072
DtVrfObjectUUIDChangedCallbackInfo()
Definition: localObjectManager.h:121
Arguments passed by the DtLocalObjectManager::addUUIDChangedCallback callbacks.
Definition: localObjectManager.h:119
std::list< DtModifyQueueEntryPtr > DtVrfObjectModifyQueue
Definition: localObjectManager.h:1059
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:1095
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:30
int myAppIdRangeMax
Definition: localObjectManager.h:1097
Definition: ownershipTransferManager.h:26
DtNameChangedCallbackList myObjectNameChangedCallbackList
Definition: localObjectManager.h:1069
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:1054
std::set< DtString > myObjectsDeletedThisTick
Definition: localObjectManager.h:1107
bool myInitialTimeSetThisFrame
Definition: localObjectManager.h:1091
static const DtUUID & nullUUID()
DtCallbackList< const DtVrfObjectNameChangedCallbackInfo & > DtNameChangedCallbackList
Definition: localObjectManager.h:1068
Definition: coordSystem.h:54
bool myRunFullyThreaded
Definition: localObjectManager.h:1093
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:1010
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:51
Definition: createObjectServiceInterface.h:25
PendingStruct(const PendingStruct &orig)
Definition: localObjectManager.h:1126
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:1087
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:115
tbb::spin_rw_mutex mySimObjectListMutex
Hashlist of all DtLocalObject*s, keyed on DtUUID.
Definition: localObjectManager.h:1009
DtCommunicationManager * communicationManager() const
Definition: localObjectManager.h:281
DtVrfNameGenerator * vrfNameGenerator() const
Definition: localObjectManager.h:836
bool myWasValid
Definition: localObjectManager.h:1085
bool removingAllObjects() const
Whether ot not all objects are being removed.
Definition: localObjectManager.h:298
PostInitParamsConnections myPostInitParamsConnections
Definition: localObjectManager.h:1142
DtCommunicationManager * myCommunicationManager
Definition: localObjectManager.h:1103
Definition: echelonId.h:13
DtSimObjectListActivityCallbackList mySimObjectConvertedToRemoteCallbacks
List of DtSimObjectListActivityCallbackFcn*s for objects that have been converted to a remote object...
Definition: localObjectManager.h:1039
DtUUIDChangedCallbackList myObjectUUIDChangedCallbackList
Definition: localObjectManager.h:1075
tbb::spin_mutex myCompleteObjectAdditionMutex
Definition: localObjectManager.h:1094
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:45
DtSimObjectListActivityCallbackList myAddedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1028
std::map< DtString, DtRwStringAttributeList * > VisualMarkings
Definition: localObjectManager.h:1147
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:94
DtConsoleCommandOwner * myConsoleCommands
Definition: localObjectManager.h:1077
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:88
PendingSetSuperior myPendingSetSuperior
Definition: localObjectManager.h:1134
class DtCreateQueueEntry:
Definition: createQueueEntry.h:25
DtSimObjectListActivityCallbackList myAboutToBeAddedSimObjectCallbackList
List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for no...
Definition: localObjectManager.h:1023
DtManagedObjectListConstPtr myForceLevelNodes
Definition: localObjectManager.h:1120
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:1062
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtCallbackList< const DtVrfObjectUUIDChangedCallbackInfo & > DtUUIDChangedCallbackList
Definition: localObjectManager.h:1074
bool myCanSimulate
Definition: localObjectManager.h:1084
std::map< DtUUID, PendingStruct > PendingSetSuperior
Definition: localObjectManager.h:1133
tbb::spin_mutex myObjectsCreatedThisTickMutex
Definition: localObjectManager.h:1110
DtCallbackList< const DtLocalObject * > DtObjectQueuedForRemovalCallbackList
Definition: localObjectManager.h:1071
DtRemoteComponentAttachmentManager * remoteComponentAttachmentManager()
Returns the remote component attachment manager.
Definition: localObjectManager.h:1169
bool myCreatedCharacterManager
Definition: localObjectManager.h:1082
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:1116
tbb::spin_mutex myRemovalQueueMutex
Definition: localObjectManager.h:1100
std::map< DtUUID, std::set< DtUUID > > PendingSuperiorsToSet
Definition: localObjectManager.h:1136
std::vector< DtLocalObject * > myVrfObjectsToDelete
Definition: localObjectManager.h:1089
const DtLocalObject * myVrfObject
Definition: localObjectManager.h:125
Definition: simInterfaceContent.h:45
PendingStruct(const DtUUID &sup, int des)
Definition: localObjectManager.h:1125
int designator
Definition: localObjectManager.h:1130
tbb::spin_rw_mutex myObjectWasRemovedThisTickMutex
Definition: localObjectManager.h:1113
std::set< DtUUID > myObjectWasRemovedThisTick
Definition: localObjectManager.h:1114
boost::signals2::scoped_connection myPlaceObjectEventConnection
Definition: localObjectManager.h:1139
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:1013
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:1036
tbb::atomic< int > myNumLocalPublished
Entity Identifier to be consistent with current DtIfVrfObjectDeleted message.
Definition: localObjectManager.h:1109
DtCallbackList< bool > DtValidStateChangedCallbackList
Definition: localObjectManager.h:1079
#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:1099
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:1050
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:1118
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:1111
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73