VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtLocalObjectManager Class Reference

class DtLocalObjectManager:

Instances of DtLocalObjectManager are responsible for the creation, maintainance, and removal of only vrf objects it created on the sim engine that owns the object manager.

Related examples
Other uses in examples

The use of the DtLocalObjectManager is discouraged unless you are specifically using this to manipulate local objects in a thread safe way (i.e. outside of the object manager's tick method). When looking up or seeing if objects are added, the DtSimObjectManager from the simulation services should be used instead as this will return a thread safe read only version of an object.

Inheritance diagram for DtLocalObjectManager:
Inheritance graph
[legend]

Classes

struct  PendingStruct
 

Public Types

typedef DtBoost::shared_ptr
< DtCreateQueueEntry
DtCreateQueueEntryPtr
 
typedef std::list
< DtCreateQueueEntryPtr
DtVrfObjectCreateQueue
 

Public Member Functions

 DtLocalObjectManager (DtSimulationServices *simServices)
 
virtual ~DtLocalObjectManager ()
 
virtual bool init ()
 
virtual DtVisualMetaDataManagervisualMetaDataManager () const
 
virtual DtFilename metaDataFilename (const DtObjectType &) const
 
virtual DtRwStringAttributeListcustomizedMarkingsFor (const DtObjectType &)
 
virtual bool add (DtLocalObject *simObject)
 
virtual bool completeObjectAddition (DtLocalObject *simObject)
 
virtual bool checkAndMoveIfUniqueObject (const DtVrfLocalObjectCreateInformation &)
 
virtual bool isValidState () const
 
virtual void setOwnershipTransferManager (DtOwnershipTransferManager *)
 
DtOwnershipTransferManagerownershipTransferManager () const
 
virtual DtString generateUniqueName (int maxLength, const DtString &root="Object") const
 
virtual DtString nextNameWithPrefix (const DtObjectType &, const DtString &potentialPrefix)
 
virtual DtString nextNameWithPrefix (unsigned int maxLength, const DtString &potentialPrefix)
 
virtual DtString nextName (const DtObjectType &objectType)
 
virtual DtString nextUnorganizedName ()
 
virtual void insertObjectCreatedThisTick (DtLocalObject *)
 
virtual void removeObjectCreatedThisTick (DtLocalObject *)
 
virtual void setRunFullyThreaded (bool b)
 
bool runFullyThreaded () const
 
virtual void setParameterDatabase (DtVrfParameterDb *parameterDatabase)
 
virtual DtVrfParameterDbparameterDatabase ()
 
virtual
makVrf::DtStateDataManager
stateDataManager () const
 
virtual void setStateDataManager (makVrf::DtStateDataManager *)
 
virtual void setCommunicationManager (DtCommunicationManager *)
 
DtCommunicationManagercommunicationManager () const
 
DtNetworkInterfaceManagernetworkInterfaceManager () const
 
makVrfEvents::DtEventManagereventManager () const
 
virtual void removeAndDelete (const DtUUID &objectName, bool andRemoveFromOrbat, bool andRemoveSubordinatres=true)
 
virtual void removeAndDelete (DtLocalObject *object, bool andRemoveFromOrbat, bool andRemoveSubordinatres=true)
 
bool removingAllObjects () const
 
virtual void removeAndDeleteAll (bool andDeleteFromOrbat=false)
 
virtual bool objectInRemovalQueue (const DtUUID &uuid)
 
virtual void registerInterfaceCallbacks ()
 
const DtSimulationServicessimulationServices () const
 
DtSimulationServicessimulationServices ()
 
virtual void processCreateVrfObject (DtSimMessage *msg)
 
virtual const
DtVrfObjectCreateQueue
objectCreateQueue () const
 
virtual void processCreateVrfObject (const DtVrfLocalObjectCreateInformation &ifCreateVrfObject)
 
virtual void processModifyVrfObject (DtSimMessage *msg)
 
virtual void processModifyVrfObject (DtIfModifyVrfObject modObj)
 
virtual void processModifyVrfOverlay (DtSimMessage *msg)
 
virtual void processDeleteVrfObject (DtSimMessage *msg)
 
virtual void processDeleteVrfObjectById (DtSimMessage *msg)
 
virtual void processAggregateAs (DtSimMessage *msg)
 
virtual void processSkipTask (DtSimMessage *msg)
 
virtual void queueSetSuperiorToForce (const DtUUID &, int force, int designator=0)
 
virtual void queueSetSuperior (const DtUUID &subordinate, const DtUUID &superior, int designator=0)
 
virtual void clearSubordinateOperations ()
 
virtual bool hasOutstandingSubordinateChanges () const
 
virtual void processSetThresholds (DtSimMessage *msg)
 
virtual void processDeleteDynamicTerrainServer (DtSimMessage *)
 
virtual void removeObjectSubordinates (DtLocalObject *object, bool andRemoveFromOrbat)
 
virtual void queueObjectForRemoval (const DtUUID &key, bool andRemoveFromOrbat=false)
 
virtual void removeObjectsQueuedForRemoval ()
 
virtual void tick ()
 
virtual DtLocalObjectcreateAndInitVrfObject (DtIfCreateVrfObject *creationInfo)
 
virtual DtLocalObjectcreateAndInitVrfObject (DtIfAggregateAs *aggInfo)
 
virtual DtLocalObjectcreateAndInitVrfObject (const DtObjectType &objectType, bool publishLocalObject=true, const DtString &objectName=DtString::nullString(), const DtString &objectLabel=DtString::nullString(), DtForceType forceType=DtForceOther, const DtList *vertices=0, const DtTaitBryan *orientation=0, bool projection=false, bool closedFigure=false, const DtAppearance &appearance=DtAppearance::nullAppearance(), bool createSubObjects=false, DtVrfObjectUserInitFcn userInit=0, void *userInitData=0, bool organize=true, const DtString &startingFormation=DtDefaultFormationString, DtAggregateCreationMode initialAggregateState=DtUseParameterDatabaseAggregateState, unsigned long requestId=0, const DtString &overlayParent="", const DtUUID &uuid=DtUUID::nullUUID(), bool addToOrbat=false)
 
virtual DtLocalObjectcreateAndInitVrfObject (const DtVrfLocalObjectCreateInformation &crt)
 
virtual DtLocalObjectcreateAndInitVrfObject (const DtObjectType &objectType, bool publishLocalObject=true, const DtString &objectName=DtString::nullString(), const DtString &objectLabel=DtString::nullString(), DtForceType forceType=DtForceOther, const DtVector &position=DtVector::zero(), const DtTaitBryan *orientation=0, bool projection=false, bool closedFigure=false, const DtAppearance &appearance=DtAppearance::nullAppearance(), bool createSubObjects=false, DtVrfObjectUserInitFcn userInitFcn=0, void *userInitData=0, bool organize=true, const DtString &startingFormation=DtDefaultFormationString, DtAggregateCreationMode initialAggregateState=DtUseParameterDatabaseAggregateState, unsigned long requestId=0, const DtString &overlayParent="", const DtUUID &startingUUID=DtUUID::nullUUID(), bool addToOrbat=false)
 
virtual void preallocateLuaScriptHandles (int)
 
virtual void addVrfObjectAboutToBeAddedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void addVrfObjectAddedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void addVrfObjectAboutToBeLoadedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void addVrfObjectAboutToBeRemovedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void removeVrfObjectAboutToBeAddedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void removeVrfObjectAboutToBeLoadedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void removeVrfObjectAddedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void removeVrfObjectAboutToBeRemovedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual int numLocalPublished () const
 
virtual bool objectNameExists (const DtString &) const
 
virtual DtLocalObjectcreateAndInitTopLevelVrfObject (DtForceType forceType)
 
virtual DtLocalObjectcreateAndInitTopLevelVrfObject (DtForceType forceType, const DtString &name)
 
virtual DtString topLevelName (DtForceType forceType)
 
virtual void objectNameChanged (const DtSimObject *, const DtString &oldName, const DtString &newName)
 
virtual void objectUUIDChanged (const DtUUID &oldUUID, const DtUUID &newUUID)
 
virtual DtLocalObjectaggregateAs (const DtObjectType &aggregateType, DtForceType force, const DtVector &dbPosition, DtReal heading, const std::vector< DtUUID > &subordinates=std::vector< DtUUID >(), const DtString &aggregateName=DtString::nullString(), bool addToOrbat=true)
 
virtual void sendCapableTasksAndSets (const std::vector< DtUUID > &, bool forceUpdate=false) const
 
virtual void setSimulationDateTimeBasedOnLocation (const DtVector &geocentricLocation, int timeOfDay)
 
virtual void setCoordinateSystem (const Coordinate_System *coordinateSystem)
 
virtual unsigned objectCount () const
 
virtual DtLocalObjectlookup (const DtUUID &) const
 
DtLocalObjectlookup (const std::string &) const
 
DtLocalObjectlookup (const DtString &) const
 
virtual bool uuidExists (const DtUUID &) const
 
virtual bool hasObjectType (const DtObjectType &) const
 
virtual bool markingTextExists (const DtString &) const
 
virtual const DtSimulationAddress & simulationAddress () const
 
virtual bool createSimObjectList ()
 
virtual const DtSimObjectMapobjectMap () const
 
virtual DtSimObjectMap localObjectMap () const
 
virtual bool hostingDynamicTerrainServer () const
 
virtual bool hasDynamicTerrainServer () const
 
virtual DtVrfParameterDbobjectParametersDB () const
 
virtual void addSimObjectQueuedForRemovalCallback (DtVrfObjectQueuedForRemocalCallbackFcn fcn, void *usr) const
 
virtual void removeSimObjectQueuedForRemovalCallback (DtVrfObjectQueuedForRemocalCallbackFcn fcn, void *usr) const
 
virtual void invokeSimObjectQueuedForRemovalCallbacks (const DtLocalObject *object)
 
virtual void addValidStateChangedCallbackFcn (DtValidStateChangedCallbackFcn fcn, void *usr) const
 
virtual void removeValidStateChangedCallbackFcn (DtValidStateChangedCallbackFcn fcn, void *usr) const
 
virtual void invokeValidStateChangedCallbacks ()
 
virtual void addSimObjectConvertedToLocalCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData)
 
virtual void removeSimObjectConvertedToLocalCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData)
 
virtual void addSimObjectConvertedToRemoteCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData)
 
virtual void removeSimObjectConvertedToRemoteCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData)
 
virtual void addSimObjectAboutToBeAddedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void addSimObjectAddedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void addSimObjectAboutToBeRemovedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void addSimObjectAboutToBeLoadedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void removeSimObjectAboutToBeAddedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void removeSimObjectAddedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void removeSimObjectAboutToBeLoadedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void removeSimObjectAboutToBeRemovedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
 
virtual void invokeSimObjectConvertedToLocalCallbacks (const DtLocalObject *simObject)
 
virtual void invokeSimObjectConvertedToRemoteCallbacks (const DtLocalObject *simObject)
 
virtual void invokeSimObjectAboutToBeAddedCallbacks (const DtLocalObject *simObject)
 
virtual void invokeSimObjectAddedCallbacks (const DtLocalObject *simObject)
 
virtual void invokeSimObjectAboutToBeRemovedCallbacks (const DtLocalObject *simObject)
 
virtual void invokeSimObjectAboutToBeLoadedCallbacks (const DtLocalObject *simObject)
 
virtual void closingScenario ()
 
virtual bool addUUIDMappingForObject (DtLocalObject *vrfObject)
 
virtual void removeUUIDMappingForObject (DtLocalObject *vrfObject)
 
virtual bool canSimulate () const
 
virtual void setCanSimulate (bool)
 
virtual void addStealthType (const DtEntityType &)
 
virtual void removeStealthType (const DtEntityType &)
 
virtual bool isStealthType (const DtEntityType &) const
 
std::vector< DtEntityType > & stealthTypes ()
 
const std::vector< DtEntityType > & stealthTypes () const
 
virtual DtLocalObjectgetObjectByType (const DtEntityType &) const
 
DtVrfNameGeneratorvrfNameGenerator () const
 
virtual void createForceLevelObjects ()
 
virtual bool addSubordinatesToAggregate (DtLocalObject *object, const std::vector< DtUUID > &subordinates, DtAggregateState desiredState=DtFullyDisaggregated)
 
virtual void convertToLocal (DtLocalObject *)
 
virtual void convertedToRemote (const DtLocalObject *)
 
virtual void removeVrfObject (const DtUUID &, bool queueDeletionOfVrfObject=false)
 
virtual void remove (DtLocalObject *simObject)
 
virtual void objRemovedThisTick (const DtUUID &object)
 
virtual void addQueueObjectToDelete (DtLocalObject *vrfobject)
 
virtual void objectDeleteThisTick (DtLocalObject *vrfobject)
 
virtual void processModifyVrfOverlayObject (DtIfModifyVrfOverlay *, DtLocalObject *)
 
virtual void deleteVrfObjectsToBeDeleted ()
 
virtual void clearRemoteComponentAttachmentSystem ()
 
void removeAllRemoteComponentAttachments ()
 
const DtSimObjectManagersimObjectManager () const
 
virtual void createRemoteComponentAttachmentManager ()
 
virtual bool isRemoteComponentAttachment (const DtUUID &) const
 
virtual bool initializeRemoteComponentAttachmentSystem (const DtFilename &fromFile)
 
DtRemoteComponentAttachmentManagerremoteComponentAttachmentManager ()
 
const
DtRemoteComponentAttachmentManager
remoteComponentAttachmentManager () const
 
virtual void addObjectNameChangedCallback (DtVrfObjectNameChangedCallbackFcn fcn, void *usr) const
 
virtual void removeObjectNameChangedCallback (DtVrfObjectNameChangedCallbackFcn fcn, void *usr) const
 
virtual void addObjectUUIDChangedCallback (DtVrfObjectUUIDChangedCallbackFcn fcn, void *usr) const
 
virtual void removeObjectUUIDChangedCallback (DtVrfObjectUUIDChangedCallbackFcn fcn, void *usr) const
 
virtual void setSimObjectType (const DtString &type)
 
virtual const DtStringsimObjectType () const
 
VRF4API_METHOD DtSimObjectReference lookupVrfObjectByUUID (const DtUUID &u) const
 
VRF4API_METHOD const
DtSimulationServices
simManager () const
 
VRF4API_METHOD
DtSimulationServices
simManager ()
 
VRF4API_METHOD
DtManagedObjectListConstPtr 
getList (const DtVrfObjectPredicate &predicate, bool reevaluateFlag=false, DtTime evaluationPeriod=0)
 
VRF4API_METHOD
DtVrfObjectPlanAdministrator
planAdministrator ()
 
VRF4API_METHOD DtSimObjectReference lookupVrfObjectByMarkingText (const DtString &) const
 
VRF4API_METHOD const
DtReaderWriter::SearchPaths
searchPaths () const
 

Static Public Member Functions

static void tickCallback (void *args)
 

Protected Types

typedef DtBoost::shared_ptr
< DtModifyQueueEntry
DtModifyQueueEntryPtr
 
typedef std::list
< DtModifyQueueEntryPtr
DtVrfObjectModifyQueue
 
typedef DtCallbackList< const
DtVrfObjectNameChangedCallbackInfo & > 
DtNameChangedCallbackList
 
typedef DtCallbackList< const
DtLocalObject * > 
DtObjectQueuedForRemovalCallbackList
 
typedef DtCallbackList< const
DtVrfObjectUUIDChangedCallbackInfo & > 
DtUUIDChangedCallbackList
 
typedef DtCallbackList< boolDtValidStateChangedCallbackList
 
typedef std::map< DtUUID,
PendingStruct
PendingSetSuperior
 
typedef std::map< DtUUID,
std::set< DtUUID > > 
PendingSuperiorsToSet
 
typedef std::map< DtUUID,
boost::signals2::connection > 
PostInitParamsConnections
 
typedef std::map< DtString,
DtRwStringAttributeList * > 
VisualMarkings
 

Protected Member Functions

virtual DtEntityIdentifier generateObjectIdentifier ()
 
virtual void objectHandoffHandling (DtLocalObject *, int flag)
 
virtual
DtOwnershipTransferManager
createOwnershipTransferManager ()
 
virtual bool shouldAddImmediately (const DtLocalObject *simObject) const
 
virtual void onQueueObjectForRemoval (DtLocalObject *vrfObject, bool andRemoveFromOrbat=false)
 
virtual const Coordinate_SystemcoordinateSystem () const
 
virtual Coordinate_SystemcoordinateSystem ()
 
virtual void advanceFrame ()
 
virtual bool processPendingSubordinateRequests ()
 
virtual void hookSuperiorToSubordinates (DtLocalObject *localObject)
 
virtual void processExtendedLabelsOperation (DtSimMessage *)
 
virtual void processRequestActivities (DtSimMessage *)
 
virtual void processRequestJoystickControls (DtSimMessage *)
 
virtual void sendObjectsCreatedMessage ()
 
virtual void sendObjectsDeletedMessage ()
 
virtual void placeObjectEvent (const makVrfEvents::DtEvent &)
 
virtual DtCreateQueueEntrycreateQueueEntryCreator (const DtVrfLocalObjectCreateInformation &msg)
 
virtual DtModifyQueueEntrymodifyQueueEntryCreator (const DtIfModifyVrfObject &msg)
 
virtual void postInitFromParamsCallback (DtLocalObject *, DtAggregateCreationMode)
 
virtual DtVrfNameGeneratorcreateNameGenerator ()
 
virtual DtObjectType potentialRandomObjectTypeFrom (const DtObjectType &original)
 
virtual void createSubObjectsFromParameters (DtLocalObject *parent, bool publishSubobjects, unsigned long requestId, const DtString &overlayParent, bool addToOrbat)
 
virtual std::list< DtVectorcalculateFormationOffsetsBasedOnFootprints (const DtList &) const
 
virtual std::vector
< Dt3dBoundingVolume > 
boundingVolumesOfChildren (const DtList &subObjects, int &totalLeafNodes) const
 
virtual DtLocalObjectcreateSubObjectFromParameterEntry (const DtVrfSubObjectParameterEntry &entry, const DtVector &positionOffsetFromParent, const DtLocalObject &parent, const DtString &formationName, bool publishSubObject, unsigned long requestId=0, const DtString &overlayParent="", const DtString &markingText="", const DtUUID &uuid=DtUUID::nullUUID(), bool addToOrbat=true)
 
virtual void modifyInterfaceContentForNewObject (DtSimInterfaceContent *, DtLocalObject *, bool &isLocal) const
 
virtual void updateSubordianteFunction (DtLocalObject *agg, const std::vector< DtUUID > &subordiantes)
 

Static Protected Member Functions

static void modifyVrfObjectCallback (DtSimMessage *msg, void *usr)
 
static void modifyVrfOverlayCallback (DtSimMessage *msg, void *usr)
 
static void skipTaskCallback (DtSimMessage *msg, void *usr)
 
static void setThresholdsCallback (DtSimMessage *msg, void *usr)
 
static void deleteDynamicTerrainServerCallback (DtSimMessage *, void *)
 
static void createVrfObjectCallback (DtSimMessage *msg, void *usr)
 
static void deleteVrfObjectCallback (DtSimMessage *msg, void *usr)
 
static void deleteVrfObjectByIdCallback (DtSimMessage *msg, void *usr)
 
static void orderOfBattleOpCallback (DtSimMessage *msg, void *usr)
 
static void aggregateAsCallback (DtSimMessage *msg, void *usr)
 
static void extendedLabelsOperationCallback (DtSimMessage *msg, void *usr)
 
static void requestActivitiesCallback (DtSimMessage *msg, void *usr)
 
static void requestJoystickControlsCallback (DtSimMessage *msg, void *usr)
 

Protected Attributes

DtRemoteComponentAttachmentManagermyRemoteComponentAttachmentManager
 
tbb::mutex myTopLevelNodeCreationMutex
 
tbb::spin_rw_mutex mySimObjectListMutex
 
DtSimObjectMap mySimObjectList
 
DtVrfParameterDbmyParameterDatabase
 
DtSimObjectListActivityCallbackList myAboutToBeLoadedSimObjectCallbackList
 
DtSimObjectListActivityCallbackList myAboutToBeAddedSimObjectCallbackList
 
DtSimObjectListActivityCallbackList myAddedSimObjectCallbackList
 
DtSimObjectListActivityCallbackList myAboutToBeRemovedSimObjectCallbackList
 
DtSimObjectListActivityCallbackList mySimObjectConvertedToLocalCallbacks
 
DtSimObjectListActivityCallbackList mySimObjectConvertedToRemoteCallbacks
 
DtString mySimObjectType
 
DtSimulationServicesmySimulationServices
 
std::map< DtUUID, boolmyObjectsToRemoveQueue
 
DtVrfObjectCreateQueue myObjectsToCreateQueue
 
DtVrfObjectModifyQueue myObjectsToModifyQueue
 
const Coordinate_SystemmyCoordinateSystemPtr
 
double myTimeToPublishNextStateUpdate
 
DtLocalObjectmyDynamicTerrainServer
 
DtNameChangedCallbackList myObjectNameChangedCallbackList
 
DtObjectQueuedForRemovalCallbackList myObjectQueuedForRemovalCallbackList
 
DtUUIDChangedCallbackList myObjectUUIDChangedCallbackList
 
DtConsoleCommandOwnermyConsoleCommands
 
DtValidStateChangedCallbackList myValidStateChangedCallbackList
 
bool myCreatedCharacterManager
 
bool myCanSimulate
 
bool myWasValid
 
std::vector< DtEntityType > myStealthTypes
 
std::vector< DtLocalObject * > myVrfObjectsToDelete
 
bool myInitialTimeSetThisFrame
 
bool myRunFullyThreaded
 
tbb::spin_mutex myCompleteObjectAdditionMutex
 
std::set< DtLocalObject * > myCompleteObjectAddition
 
int myAppIdRangeMax
 
tbb::spin_mutex myObjectPublisherMutex
 
tbb::spin_mutex myRemovalQueueMutex
 
makVrf::DtStateDataManagermyStateDataManager
 
DtCommunicationManagermyCommunicationManager
 
bool myRemovingAllObjects
 
std::set< DtLocalObject * > myObjectsCreatedThisTick
 
std::set< DtStringmyObjectsDeletedThisTick
 
tbb::atomic< intmyNumLocalPublished
 
tbb::spin_mutex myObjectsCreatedThisTickMutex
 
tbb::spin_rw_mutex myObjectsToRemoveQueueMutex
 
tbb::spin_rw_mutex myObjectWasRemovedThisTickMutex
 
std::set< DtUUIDmyObjectWasRemovedThisTick
 
DtOwnershipTransferManagermyOwnershipTransferManager
 
tbb::spin_rw_mutex myQueueSetSuperiorMutex
 
std::map< int, DtUUIDmyForceLevelNodesByUUID
 
DtManagedObjectListConstPtr myForceLevelNodes
 
PendingSetSuperior myPendingSetSuperior
 
PendingSuperiorsToSet myPendingSuperiorsToSet
 
boost::signals2::scoped_connection myPlaceObjectEventConnection
 
PostInitParamsConnections myPostInitParamsConnections
 
tbb::spin_mutex myPostInitParamsConnectionsMutex
 
DtVrfNameGeneratormyNameGenerator
 
VisualMarkings myVisualMarkings
 
tbb::spin_rw_mutex myVisualMarkingsMutex
 

Private Member Functions

 DtLocalObjectManager ()
 
 DtLocalObjectManager (const DtLocalObjectManager &orig)
 
DtLocalObjectManageroperator= (const DtLocalObjectManager &orig)
 

Member Typedef Documentation

Returns the objects to create queue.

typedef DtBoost::shared_ptr<DtModifyQueueEntry> DtLocalObjectManager::DtModifyQueueEntryPtr
protected

Object modification queue; objects which are ground clamped are only moved once the terrain at the requested location has been paged in.

typedef std::map<DtUUID, std::set<DtUUID> > DtLocalObjectManager::PendingSuperiorsToSet
protected
typedef std::map<DtUUID, boost::signals2::connection> DtLocalObjectManager::PostInitParamsConnections
protected

Constructor & Destructor Documentation

DtLocalObjectManager::DtLocalObjectManager ( )
private

default constructor

DtLocalObjectManager::DtLocalObjectManager ( const DtLocalObjectManager orig)
private

copy constructor - not implemented - do not call

DtLocalObjectManager::DtLocalObjectManager ( DtSimulationServices simServices)

constructor

virtual DtLocalObjectManager::~DtLocalObjectManager ( )
virtual

destructor DMSO RTI Compatibility note: Because objects must send out DtIfVrfObjectDeleted messages before being deleted, calling this destructor from within a message callback may cause a concurrent access exception with the DMSO RTI.

Member Function Documentation

DtLocalObjectManager& DtLocalObjectManager::operator= ( const DtLocalObjectManager orig)
private

assignment operator - not implemented - do not call

virtual void DtLocalObjectManager::clearRemoteComponentAttachmentSystem ( )
virtual

Component Attachment to remote objects.

Empty any attachment info that's waiting to be applied to entities.

void DtLocalObjectManager::removeAllRemoteComponentAttachments ( )

Clear all remote component attachments.

const DtSimObjectManager* DtLocalObjectManager::simObjectManager ( ) const

Component Attachment to remote objects.

Empty any attachment info that's waiting to be applied to entities.

virtual void DtLocalObjectManager::createRemoteComponentAttachmentManager ( )
virtual

Creates the DtRemoteComponentAttachmentManager. Called from init(); Override to return customized type.

virtual bool DtLocalObjectManager::isRemoteComponentAttachment ( const DtUUID ) const
virtual

Returns true if the object is a remote component that is attached.

virtual bool DtLocalObjectManager::initializeRemoteComponentAttachmentSystem ( const DtFilename &  fromFile)
virtual

Purge the remote component attachment system, then reinitialize from the file.

DtRemoteComponentAttachmentManager * DtLocalObjectManager::remoteComponentAttachmentManager ( )
inline

Returns the remote component attachment manager.

References myRemoteComponentAttachmentManager.

const DtRemoteComponentAttachmentManager * DtLocalObjectManager::remoteComponentAttachmentManager ( ) const
inline

Component Attachment to remote objects.

Empty any attachment info that's waiting to be applied to entities.

References myRemoteComponentAttachmentManager.

virtual bool DtLocalObjectManager::init ( )
virtual

Initialization - must be called before any other member functions are called. Sets the type of objects to create to DtVrfObjectType.

Reimplemented in MyObjectManager.

virtual DtVisualMetaDataManager* DtLocalObjectManager::visualMetaDataManager ( ) const
virtual

If using the visual meta data, create and return the meta data manager.

virtual DtFilename DtLocalObjectManager::metaDataFilename ( const DtObjectType ) const
virtual

Given the object type, if it exists, return the meta data filename (resolved) of that object.

virtual DtRwStringAttributeList* DtLocalObjectManager::customizedMarkingsFor ( const DtObjectType )
virtual

Given the object type return a DtRwStringAttributeList object which will have a key/value list of annomations and the markings they are to be set to given the random configuration for the given object type. If there are no markings then NULL will be returned. The caller of this method must delete the memory returned.

virtual bool DtLocalObjectManager::add ( DtLocalObject simObject)
virtual

Adds the object to the internal list. If the UUID is not valid (or duplicate) the object will not be added to the internal list, however, the UUID changed callback will be added to add it to internal lists on change.

virtual bool DtLocalObjectManager::completeObjectAddition ( DtLocalObject simObject)
virtual

Called when the object is ready to simulate and add as part of the simulation.

virtual bool DtLocalObjectManager::checkAndMoveIfUniqueObject ( const DtVrfLocalObjectCreateInformation )
virtual

If the object being added is a unique object, and, that object already exists, move it to the new location and do not add the new object. Returns true if the object is unique and has been moved. The unique check will pass with the same entity type and force already existing.

virtual bool DtLocalObjectManager::isValidState ( ) const
virtual

Returns true if the simulation is in a valid state to reflect objects or run (physical world is valid)

virtual void DtLocalObjectManager::setOwnershipTransferManager ( DtOwnershipTransferManager )
virtual

Sets the object transfer manager. Will set the current event manager into the supplied manager and this class will take ownership of the new manager. Will delete the current manager.

DtOwnershipTransferManager* DtLocalObjectManager::ownershipTransferManager ( ) const
virtual DtString DtLocalObjectManager::generateUniqueName ( int  maxLength,
const DtString root = "Object" 
) const
virtual

TODO these exist in createService.

Generates a name string which does not belong to any other object in the simulation, and does not exceed the maxLength. The optional root argument will be used as a starting point for the generated name.

virtual DtString DtLocalObjectManager::nextNameWithPrefix ( const DtObjectType ,
const DtString potentialPrefix 
)
virtual

Returns a new unique name given the prefix (stripped of numbers, if there are some at the end) that conforms to the maximum length.

virtual DtString DtLocalObjectManager::nextNameWithPrefix ( unsigned int  maxLength,
const DtString potentialPrefix 
)
virtual

Returns a new unique name given the prefix (stripped of numbers, if there are some at the end) that conforms to the maximum length.

virtual DtString DtLocalObjectManager::nextName ( const DtObjectType objectType)
virtual

Returns an unused name appropriate for the specified object type. Constructs a base for the name from the echelon and catagory strings specified in the parameters for the object type, and calls generateUniqueName(). If there are no parameters, or catagory and echelon are both unspecified, returns generateUniqueName() with the default prefix.

Note
maxNameLengthForType() will be called to determine the max size of the name.
virtual DtString DtLocalObjectManager::nextUnorganizedName ( )
virtual
virtual void DtLocalObjectManager::insertObjectCreatedThisTick ( DtLocalObject )
virtual
virtual void DtLocalObjectManager::removeObjectCreatedThisTick ( DtLocalObject )
virtual
virtual void DtLocalObjectManager::setRunFullyThreaded ( bool  b)
virtual

Whether or not to run the back-end fully threaded.

bool DtLocalObjectManager::runFullyThreaded ( ) const
virtual void DtLocalObjectManager::setParameterDatabase ( DtVrfParameterDb parameterDatabase)
virtual

Parameter database used in creation and initialization of DtLocalObjects.

virtual DtVrfParameterDb* DtLocalObjectManager::parameterDatabase ( )
virtual
virtual makVrf::DtStateDataManager* DtLocalObjectManager::stateDataManager ( ) const
virtual
virtual void DtLocalObjectManager::setStateDataManager ( makVrf::DtStateDataManager )
virtual
virtual void DtLocalObjectManager::setCommunicationManager ( DtCommunicationManager )
virtual
DtCommunicationManager* DtLocalObjectManager::communicationManager ( ) const
inline
DtNetworkInterfaceManager* DtLocalObjectManager::networkInterfaceManager ( ) const
makVrfEvents::DtEventManager* DtLocalObjectManager::eventManager ( ) const
virtual void DtLocalObjectManager::removeAndDelete ( const DtUUID objectName,
bool  andRemoveFromOrbat,
bool  andRemoveSubordinatres = true 
)
virtual

Calls queueObjectForRemoval to schedule object for removal from object manager and deletion. If andRemoveFromOrbat is true will also remove the object (if it exists) from the orbat manager. Specifically did not have these as default parameters to stress the fact that this prototype has changed and to force the developer to choose what to do.

virtual void DtLocalObjectManager::removeAndDelete ( DtLocalObject object,
bool  andRemoveFromOrbat,
bool  andRemoveSubordinatres = true 
)
virtual
bool DtLocalObjectManager::removingAllObjects ( ) const
inline

Whether ot not all objects are being removed.

virtual void DtLocalObjectManager::removeAndDeleteAll ( bool  andDeleteFromOrbat = false)
virtual

Calls invokeAllObjectManagerRemoveAllCallbacks() and then queues all simulated objects for removal.

virtual bool DtLocalObjectManager::objectInRemovalQueue ( const DtUUID uuid)
virtual

Return true if this object is scheduled for removal.

virtual void DtLocalObjectManager::registerInterfaceCallbacks ( )
virtual

Registers callbacks on the sim manager's interface message executive for create-entity, remove-entity, request-entity-name and order-of-battle op messages (like read and write).

If you override this make sure you call the base function, or the entity manager will stop responding to those messages. Called by init().

const DtSimulationServices* DtLocalObjectManager::simulationServices ( ) const

Get a const pointer to the simulation services.

DtSimulationServices* DtLocalObjectManager::simulationServices ( )

Get a pointer to the simulation services.

virtual void DtLocalObjectManager::processCreateVrfObject ( DtSimMessage msg)
virtual

Registered with the message executive to handle the CreateVrfObject message. Checks to make sure the content type is DtIfCreateVrfObject and that the message was addressed to the back-end which owns this object manager. If so the DtIfCreateVrfObject is passed to createQueueEntryCreator to create a DtCreateQueueEntry, and then isReadyForExecution is called on it to see if all the required terrain has been paged in. If the data is not available, the DtCreateQueueEntry is added to the myObjectsToCreateQueue and will eventually be handled by tick.

virtual const DtVrfObjectCreateQueue& DtLocalObjectManager::objectCreateQueue ( ) const
virtual
virtual void DtLocalObjectManager::processCreateVrfObject ( const DtVrfLocalObjectCreateInformation ifCreateVrfObject)
virtual

The ifCreateVrfObject is passed to createAndInitVrfObject and if the create is successful, DtLocalObjectstateRepository::place is called to give the entity its initial position and orientation. The non-blocking place call is made with the expectation that DtCreateQueueEntry has queued the create until the terrain is available. If place() returns the dataAvailable parameter as false a warning will be printed.

virtual void DtLocalObjectManager::processModifyVrfObject ( DtSimMessage msg)
virtual

Registered with the message executive to handle the ModifyVrfObject message. Checks to make sure the content type is DtIfCreateVrfObject and if so the DtIfModifyVrfObject is passed to modifyQueueEntryCreator to create a DtModifyQueueEntry, and then isReadyForExecution is called on it to see if all the required terrain has been paged in. If the data is not available, the DtModifyQueueEntry is added to the myObjectsToModifyQueue and will eventually be handled by tick.

virtual void DtLocalObjectManager::processModifyVrfObject ( DtIfModifyVrfObject  modObj)
virtual

The object identifier in the DtIfModifyVrfObject is used to look up a DtLocalObject. If it doesn't exist or if it exists but is remote, the message is ignored. If it is a valid local object, setFromMessageContent is called on the object. If the object has a state repository of type DtVrfOverlayObjectStateRepository and isOverlayParentSpecified is true in the DtIfModifyVrfObject, setParentName is called on the object.

virtual void DtLocalObjectManager::processModifyVrfOverlay ( DtSimMessage msg)
virtual

Registered with the message executive to handle the ModifyVrfOverlay message.

virtual void DtLocalObjectManager::processDeleteVrfObject ( DtSimMessage msg)
virtual

Registered with the message executive to handle the DeleteVrfObject message.

virtual void DtLocalObjectManager::processDeleteVrfObjectById ( DtSimMessage msg)
virtual

Registered with the message executive to handle the DeleteVrfObjectById message.

virtual void DtLocalObjectManager::processAggregateAs ( DtSimMessage msg)
virtual

Registered with the message executive to handle the AggregateAs message.

virtual void DtLocalObjectManager::processSkipTask ( DtSimMessage msg)
virtual

Registered with the message executive to handle the SkipTask message.

virtual void DtLocalObjectManager::queueSetSuperiorToForce ( const DtUUID ,
int  force,
int  designator = 0 
)
virtual

Operations to set superior and keep track if superior is not yet created.

virtual void DtLocalObjectManager::queueSetSuperior ( const DtUUID subordinate,
const DtUUID superior,
int  designator = 0 
)
virtual
virtual void DtLocalObjectManager::clearSubordinateOperations ( )
virtual
virtual bool DtLocalObjectManager::hasOutstandingSubordinateChanges ( ) const
virtual
virtual void DtLocalObjectManager::processSetThresholds ( DtSimMessage msg)
virtual

Called by setThresholdsCallback. Iterates over the object manager setting the threshold values for all entities to -1 (to force them to pick up the new defaults) and then makes the static DtThresholder calls to change the defaults.

virtual void DtLocalObjectManager::processDeleteDynamicTerrainServer ( DtSimMessage )
virtual

If hosting the server queue it for removal.

virtual void DtLocalObjectManager::removeObjectSubordinates ( DtLocalObject object,
bool  andRemoveFromOrbat 
)
virtual

Queues all the subordinates of this object for removal, or sends deleteObject messages for any of the remote subordinates.

virtual void DtLocalObjectManager::queueObjectForRemoval ( const DtUUID key,
bool  andRemoveFromOrbat = false 
)
virtual

Schedule a given vrf object to be removed. Object will be removed at at the end of this tick. Calls onQueueObjectForRemoval().

virtual void DtLocalObjectManager::removeObjectsQueuedForRemoval ( )
virtual

Removes all vrf objects on the list at the end of each tick.

virtual void DtLocalObjectManager::tick ( )
virtual

Processes all pending object creations on the myObjectsToCreateQueue by checking DtCreateQueueEntry::isReadyForCreation which if true causes the create message to be passed on to processCreateVrfObject. Calls the tick() function on all of the DtLocalObject objects. Ticks the vrf object manager. Calls removeObjectQueuedForRemoval() at the end of this function. If you override the tick(), make sure that you call down to the base class version. Make sure that the call to the base class version occurs at the end of your derived tick().

Reimplemented in MyObjectManager.

virtual DtLocalObject* DtLocalObjectManager::createAndInitVrfObject ( DtIfCreateVrfObject creationInfo)
virtual

Create a new local vrf object from an interface message.

virtual DtLocalObject* DtLocalObjectManager::createAndInitVrfObject ( DtIfAggregateAs aggInfo)
virtual
virtual DtLocalObject* DtLocalObjectManager::createAndInitVrfObject ( const DtObjectType objectType,
bool  publishLocalObject = true,
const DtString objectName = DtString::nullString(),
const DtString objectLabel = DtString::nullString(),
DtForceType  forceType = DtForceOther,
const DtList *  vertices = 0,
const DtTaitBryan *  orientation = 0,
bool  projection = false,
bool  closedFigure = false,
const DtAppearance &  appearance = DtAppearance::nullAppearance(),
bool  createSubObjects = false,
DtVrfObjectUserInitFcn  userInit = 0,
void *  userInitData = 0,
bool  organize = true,
const DtString startingFormation = DtDefaultFormationString,
DtAggregateCreationMode  initialAggregateState = DtUseParameterDatabaseAggregateState,
unsigned long  requestId = 0,
const DtString overlayParent = "",
const DtUUID uuid = DtUUID::nullUUID(),
bool  addToOrbat = false 
)
virtual

Creates a new local vrf object and adds it to our list of managed vrf objects. The vertices argument is a list of DtVectors, specifying the object geometry in geocentric coordinates. Use this form of createAndInitVrfObject() to create control objects whose object geometry is made up of multiple vertices, such as routes, control areas, and minefields).

Parameters
startingFormationThe name of the starting formation, if this new entity is an aggregate. Defaults to DtDefaultFormationString.
virtual DtLocalObject* DtLocalObjectManager::createAndInitVrfObject ( const DtVrfLocalObjectCreateInformation crt)
virtual
virtual DtLocalObject* DtLocalObjectManager::createAndInitVrfObject ( const DtObjectType objectType,
bool  publishLocalObject = true,
const DtString objectName = DtString::nullString(),
const DtString objectLabel = DtString::nullString(),
DtForceType  forceType = DtForceOther,
const DtVector position = DtVector::zero(),
const DtTaitBryan *  orientation = 0,
bool  projection = false,
bool  closedFigure = false,
const DtAppearance &  appearance = DtAppearance::nullAppearance(),
bool  createSubObjects = false,
DtVrfObjectUserInitFcn  userInitFcn = 0,
void *  userInitData = 0,
bool  organize = true,
const DtString startingFormation = DtDefaultFormationString,
DtAggregateCreationMode  initialAggregateState = DtUseParameterDatabaseAggregateState,
unsigned long  requestId = 0,
const DtString overlayParent = "",
const DtUUID startingUUID = DtUUID::nullUUID(),
bool  addToOrbat = false 
)
virtual

Creates a new local vrf object and adds it to our list of managed vrf objects. The position argument is the location of the object in geocentric coordinates. Use this form of createAndInitVrfObject() to create objects with simple object geometry (single vertex defining object geometry), such as entities and waypoints.

Parameters
startingFormationThe name of the starting formation, if this new entity is an aggregate. Defaults to DtDefaultFormationString.
virtual void DtLocalObjectManager::preallocateLuaScriptHandles ( int  )
virtual

Preallocates a number of lua script handles.

static void DtLocalObjectManager::tickCallback ( void *  args)
static

This callback is registered on the sim manager's tick list. The sim manager calls this function when it is ticked.

virtual void DtLocalObjectManager::addVrfObjectAboutToBeAddedCallback ( DtVrfObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Registers a callback for notification when a new DtLocalObject is about to be added. Specify a DtObjectType filter to restrict notification to particular types of DtLocalObjects.

virtual void DtLocalObjectManager::addVrfObjectAddedCallback ( DtVrfObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Registers a callback for notification when a new DtLocalObject is added. Specify a DtObjectType filter to restrict notification to particular types of DtLocalObjects.

virtual void DtLocalObjectManager::addVrfObjectAboutToBeLoadedCallback ( DtVrfObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Registers a callback for notification when a new DtLocalObject is about to be load from the order of battle file. Specify a DtObjectType filter to restrict notification to particular types of DtLocalObjects.

virtual void DtLocalObjectManager::addVrfObjectAboutToBeRemovedCallback ( DtVrfObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Registers a callback for notification when a DtLocalObject going to be removed. Specify a DtObjectType filter to restrict notification to particular types of DtLocalObjects.

virtual void DtLocalObjectManager::removeVrfObjectAboutToBeAddedCallback ( DtVrfObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Remove a previously register callback for notification when a new DtLocalObject is about to load from the order of battle file.

virtual void DtLocalObjectManager::removeVrfObjectAboutToBeLoadedCallback ( DtVrfObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Remove a previously register callback for notification when a new DtLocalObject is about to load from the order of battle file.

virtual void DtLocalObjectManager::removeVrfObjectAddedCallback ( DtVrfObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Remove a previously register callback for notification when a new DtLocalObject is added.

virtual void DtLocalObjectManager::removeVrfObjectAboutToBeRemovedCallback ( DtVrfObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Remove a previously register callback for notification when a DtLocalObject is removed.

virtual int DtLocalObjectManager::numLocalPublished ( ) const
virtual

Return the number of local published objects.

virtual bool DtLocalObjectManager::objectNameExists ( const DtString ) const
virtual

Checks to see if the name exists. Use this call if you do not want to create a temporary node that will be returned for awaiting the appearance of that named object.

virtual DtLocalObject* DtLocalObjectManager::createAndInitTopLevelVrfObject ( DtForceType  forceType)
virtual

Creates and adds a top-level superior of a given force type.

virtual DtLocalObject* DtLocalObjectManager::createAndInitTopLevelVrfObject ( DtForceType  forceType,
const DtString name 
)
virtual

Creates and adds a top-level superior of a given name (should be of the form "1 Force", "2 Force", etc.)

virtual DtString DtLocalObjectManager::topLevelName ( DtForceType  forceType)
virtual

returns the name string for a top-level object of a given force type.

virtual void DtLocalObjectManager::objectNameChanged ( const DtSimObject ,
const DtString oldName,
const DtString newName 
)
virtual

This is called by a DtLocalObject when it's named changes. This should not be called by the user under normal circumstances.

virtual void DtLocalObjectManager::objectUUIDChanged ( const DtUUID oldUUID,
const DtUUID newUUID 
)
virtual

This is called by a DtLocalObject when it's UUID changes. This should not be called by the user under normal circumstances.

virtual void DtLocalObjectManager::addObjectNameChangedCallback ( DtVrfObjectNameChangedCallbackFcn  fcn,
void *  usr 
) const
virtual

Callback that is invoked whenever an object is renamed.

virtual void DtLocalObjectManager::removeObjectNameChangedCallback ( DtVrfObjectNameChangedCallbackFcn  fcn,
void *  usr 
) const
virtual

Callback that is invoked whenever an object is renamed.

virtual void DtLocalObjectManager::addObjectUUIDChangedCallback ( DtVrfObjectUUIDChangedCallbackFcn  fcn,
void *  usr 
) const
virtual

Callback that is invoked whenever an object uuid is changed. This will happen when an object is loaded from an oob. If you are registering uuids for an object before the get self you will need to register this to capture the change from the initial to the new UUID.

virtual void DtLocalObjectManager::removeObjectUUIDChangedCallback ( DtVrfObjectUUIDChangedCallbackFcn  fcn,
void *  usr 
) const
virtual

Callback that is invoked whenever an object uuid is changed. This will happen when an object is loaded from an oob. If you are registering uuids for an object before the get self you will need to register this to capture the change from the initial to the new UUID.

virtual DtLocalObject* DtLocalObjectManager::aggregateAs ( const DtObjectType aggregateType,
DtForceType  force,
const DtVector dbPosition,
DtReal  heading,
const std::vector< DtUUID > &  subordinates = std::vector< DtUUID >(),
const DtString aggregateName = DtString::nullString(),
bool  addToOrbat = true 
)
virtual

Creates a new aggregate. aggregateType is the extended DIS/RPR entity type enumeration (defined in objTypeEnums.h) object type of the new aggregate. force is the DIS/RPR enumerated force type (extended to allow up to 255 force types. dbPosition is the position of the new aggregate, in database coordinates (in meters). heading is the heading of the new aggregate, measured clockwise from north (in degrees). subordinateNames is an optional list of object names of existing entities and/or aggregates to be organized under the new aggregate. This list is an ordered list (from most significant to least) list of object names of entities/aggregates to be added to the new aggregate. When the aggregateAs call returns, the process has been set in motion but it's not complete. Aggregation requires the organization managers and controllers to be actively ticked in order to work.

virtual void DtLocalObjectManager::sendCapableTasksAndSets ( const std::vector< DtUUID > &  ,
bool  forceUpdate = false 
) const
virtual

Given the list of entities, for those that are local, send off the capable tasks and sets of them.

virtual void DtLocalObjectManager::setSimulationDateTimeBasedOnLocation ( const DtVector geocentricLocation,
int  timeOfDay 
)
virtual

Given the objects geocentric location, set the simulation date/time based on the running computers current date and the supplied UTC time. The time will be calculated as local to the geodetic coordinates of the supplied location. The time setting will be a rough approximation as daylight savings times and other time zone nuances will not be taken into account.

virtual void DtLocalObjectManager::setCoordinateSystem ( const Coordinate_System coordinateSystem)
virtual

Set the coordinate system on all vrf objects.

virtual unsigned DtLocalObjectManager::objectCount ( ) const
virtual

Returns the number of DtLocalObject* items in the list.

virtual DtLocalObject* DtLocalObjectManager::lookup ( const DtUUID ) const
virtual

Replacement for looking up object by name. Looks up object by the given UUID of the object. Returns the objects shared UUID pointer. This pointer can be used for access to the object itself. If the object in the pointer is 0 then the object has been deleted. If object does not exist will return an object ready to be filled in when the object shows up. Be sure to check isValid of the returned member to make sure it is a valid object.

Simple usage example: DtLocalObject* obj = ...lookup(aUuid); if (!obj) { std::cout << "Error, no object\n" } obj-> etc.

DtLocalObject* DtLocalObjectManager::lookup ( const std::string &  ) const

Will convert the std::string to a UUID.

DtLocalObject* DtLocalObjectManager::lookup ( const DtString ) const

Will convert the DtString to a UUID.

virtual bool DtLocalObjectManager::uuidExists ( const DtUUID ) const
virtual

Returns true if the given uuid exists. Call this if you do not want to create a shared reference object with a non-existent marking text.

virtual bool DtLocalObjectManager::hasObjectType ( const DtObjectType ) const
virtual

Returns true if there is an object that has the exact object type (not matching type)

virtual bool DtLocalObjectManager::markingTextExists ( const DtString ) const
virtual

Returns true if the given marking text exists. Call this if you do not want to create a shared reference object with a non-existant marking text.

virtual const DtSimulationAddress& DtLocalObjectManager::simulationAddress ( ) const
virtual

Get the DIS/RPR simulation address from our exercise connection.

virtual bool DtLocalObjectManager::createSimObjectList ( )
virtual

Called by init().

virtual const DtSimObjectMap& DtLocalObjectManager::objectMap ( ) const
virtual

Map of all vrf objects maintained by the vrf object manager. Only iterators should need to access this.

virtual DtSimObjectMap DtLocalObjectManager::localObjectMap ( ) const
virtual
virtual bool DtLocalObjectManager::hostingDynamicTerrainServer ( ) const
virtual

Returns true if this back-end is hosting a dynamic terrain server.

virtual bool DtLocalObjectManager::hasDynamicTerrainServer ( ) const
virtual

Returns true if this back-end has any kind (remote or local) terrain server.

virtual DtVrfParameterDb* DtLocalObjectManager::objectParametersDB ( ) const
virtual
Deprecated:
To be removed after VR-Forces version 3.11
virtual void DtLocalObjectManager::addSimObjectQueuedForRemovalCallback ( DtVrfObjectQueuedForRemocalCallbackFcn  fcn,
void *  usr 
) const
virtual

Add callback for when an object is queued for removal.

virtual void DtLocalObjectManager::removeSimObjectQueuedForRemovalCallback ( DtVrfObjectQueuedForRemocalCallbackFcn  fcn,
void *  usr 
) const
virtual
virtual void DtLocalObjectManager::invokeSimObjectQueuedForRemovalCallbacks ( const DtLocalObject object)
virtual
virtual void DtLocalObjectManager::addValidStateChangedCallbackFcn ( DtValidStateChangedCallbackFcn  fcn,
void *  usr 
) const
virtual

Add callback for when an the valid state has changed.

virtual void DtLocalObjectManager::removeValidStateChangedCallbackFcn ( DtValidStateChangedCallbackFcn  fcn,
void *  usr 
) const
virtual
virtual void DtLocalObjectManager::invokeValidStateChangedCallbacks ( )
virtual
virtual void DtLocalObjectManager::addSimObjectConvertedToLocalCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData 
)
virtual

Add a callback for when a sim object has been taken over by this back-end.

virtual void DtLocalObjectManager::removeSimObjectConvertedToLocalCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData 
)
virtual
virtual void DtLocalObjectManager::addSimObjectConvertedToRemoteCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData 
)
virtual

Add a callback for when a sim object has been given up by this back-end.

virtual void DtLocalObjectManager::removeSimObjectConvertedToRemoteCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData 
)
virtual
virtual void DtLocalObjectManager::addSimObjectAboutToBeAddedCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

  Registers a callback for notification when a new DtSimObject is about to

be added. Specify a DtObjectType filter to restrict notification to particular types of DtSimObjects.

virtual void DtLocalObjectManager::addSimObjectAddedCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Registers a callback for notification when a new DtSimObject is added. Specify a DtObjectType filter to restrict notification to particular types of DtSimObjects.

virtual void DtLocalObjectManager::addSimObjectAboutToBeRemovedCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Registers a callback for notification when a new DtSimObject is added. Specify a DtObjectType filter to restrict notification to particular types of DtSimObjects.

virtual void DtLocalObjectManager::addSimObjectAboutToBeLoadedCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Registers a callback for notification when a new DtSimObject is about to be loaded from an order of battle file. Specify a DtObjectType filter to restrict notification to particular types of DtSimObjects.

virtual void DtLocalObjectManager::removeSimObjectAboutToBeAddedCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Remove a previously register callback for notification when a new DtSimObject is about to be added.

virtual void DtLocalObjectManager::removeSimObjectAddedCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Remove a previously register callback for notification when a new DtSimObject is added.

virtual void DtLocalObjectManager::removeSimObjectAboutToBeLoadedCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Remove a previously register callback for notification when a new DtSimObject is about to be loaded from the order of battle file.

virtual void DtLocalObjectManager::removeSimObjectAboutToBeRemovedCallback ( DtSimObjectListActivityCallbackFcn  fcn,
void *  usrData,
const DtObjectType filter = DtObjectType::anyType(),
bool  invertFilter = false 
) const
virtual

Remove a previously register callback for notification when a DtSimObject is removed.

virtual void DtLocalObjectManager::invokeSimObjectConvertedToLocalCallbacks ( const DtLocalObject simObject)
virtual

Called by convertToLocal().

virtual void DtLocalObjectManager::invokeSimObjectConvertedToRemoteCallbacks ( const DtLocalObject simObject)
virtual

Called by convertedToRemote().

virtual void DtLocalObjectManager::invokeSimObjectAboutToBeAddedCallbacks ( const DtLocalObject simObject)
virtual

Called by add(). Calls appropriate registered callback function. (those callback function whose filters match the object type of the entity being added).

virtual void DtLocalObjectManager::invokeSimObjectAddedCallbacks ( const DtLocalObject simObject)
virtual

Called by add(). Calls appropriate registered callback function. (those callback function whose filters match the object type of the entity being added).

virtual void DtLocalObjectManager::invokeSimObjectAboutToBeRemovedCallbacks ( const DtLocalObject simObject)
virtual

Called by remove(). Calls appropriate registered callback function. (those callback function whose filters match the object type of the entity being removed).

virtual void DtLocalObjectManager::invokeSimObjectAboutToBeLoadedCallbacks ( const DtLocalObject simObject)
virtual

Called by createAndInit in the DtLocalObject. Calls appropriate registered callback function. (those callback function whose filters match the object type of the entity being loaded from the order of battle file).

virtual void DtLocalObjectManager::setSimObjectType ( const DtString type)
virtual

The type of DtLocalObjects to create. By default, the type to create is DtVrfObjectType. Types are defined in vrfObjTypes.h.

virtual const DtString& DtLocalObjectManager::simObjectType ( ) const
virtual

The type of DtLocalObjects to create. By default, the type to create is DtVrfObjectType. Types are defined in vrfObjTypes.h.

virtual void DtLocalObjectManager::closingScenario ( )
virtual

Called when the scenario is closing. Do some cleanup.

virtual bool DtLocalObjectManager::addUUIDMappingForObject ( DtLocalObject vrfObject)
virtual

Used by the object during initialization will add a pointer to this object before the full add in case it needs to be referenced during initialization by uuid.

virtual void DtLocalObjectManager::removeUUIDMappingForObject ( DtLocalObject vrfObject)
virtual

Called only when there is a failure to add during initialization of object.

virtual bool DtLocalObjectManager::canSimulate ( ) const
virtual

Returns true if this simulation is ready to be simulated. This will be the case when the organization manager has processed all pending operations.

virtual void DtLocalObjectManager::setCanSimulate ( bool  )
virtual

Sets whether or not this object manager can simulate. If it cannot simulate will not tick nor will it allow anything to be created.

virtual void DtLocalObjectManager::addStealthType ( const DtEntityType &  )
virtual

Since the stealth type might be able to be configured in the future, use this call to maintain a list of valid stealth types. Default is 12, 0, 0, 0, 0, 0, 0.

virtual void DtLocalObjectManager::removeStealthType ( const DtEntityType &  )
virtual
virtual bool DtLocalObjectManager::isStealthType ( const DtEntityType &  ) const
virtual
std::vector<DtEntityType>& DtLocalObjectManager::stealthTypes ( )
inline
const std::vector<DtEntityType>& DtLocalObjectManager::stealthTypes ( ) const
inline
virtual DtLocalObject* DtLocalObjectManager::getObjectByType ( const DtEntityType &  ) const
virtual

Returns a local object (first) by object type. This iterates over the list so can potentially be slowish.

DtVrfNameGenerator* DtLocalObjectManager::vrfNameGenerator ( ) const
inline
virtual void DtLocalObjectManager::createForceLevelObjects ( )
virtual

Looks at the hostility manager for all the forces available, and, if not yet created, creates force level root nodes for them.

virtual bool DtLocalObjectManager::addSubordinatesToAggregate ( DtLocalObject object,
const std::vector< DtUUID > &  subordinates,
DtAggregateState  desiredState = DtFullyDisaggregated 
)
virtual

Called by aggregateAs and createAndInitVrfObject(DtIfAggregateAs*). Adds the given list of subordinates to the given object. Returns false if object does not have supertype 'DtObjectTypePseudoAggregate'.

virtual void DtLocalObjectManager::convertToLocal ( DtLocalObject )
virtual

Object handoff calls. Called at completion of conversion from local/remote. Will probably change to new object manager (whenever we have that)

virtual void DtLocalObjectManager::convertedToRemote ( const DtLocalObject )
virtual
virtual void DtLocalObjectManager::removeVrfObject ( const DtUUID ,
bool  queueDeletionOfVrfObject = false 
)
virtual

Removes the vrf object from internal lists. If queueDeletionOfVrfObject is true, add the actual vrf object to a queue to be deleted in the next tick.

virtual DtEntityIdentifier DtLocalObjectManager::generateObjectIdentifier ( )
protectedvirtual
virtual void DtLocalObjectManager::objectHandoffHandling ( DtLocalObject ,
int  flag 
)
protectedvirtual
virtual DtOwnershipTransferManager* DtLocalObjectManager::createOwnershipTransferManager ( )
protectedvirtual

Returns an instance of a new ownership transfer manager.

virtual bool DtLocalObjectManager::shouldAddImmediately ( const DtLocalObject simObject) const
protectedvirtual

During the add process whether or not this object should be added immediately to the object list or can be deferred for the next tick. This will immediately add non published objects, top level objects, global terrain and global weather.

virtual void DtLocalObjectManager::remove ( DtLocalObject simObject)
virtual

  TODO this must be removed, the current createObjectService is using it to remove from the DtRwList of the vrfObjectManager

Protected here because callers should be calling removeAndDelete to safely get their object queued for removal and deletion.

virtual void DtLocalObjectManager::objRemovedThisTick ( const DtUUID object)
virtual
virtual void DtLocalObjectManager::addQueueObjectToDelete ( DtLocalObject vrfobject)
virtual
virtual void DtLocalObjectManager::objectDeleteThisTick ( DtLocalObject vrfobject)
virtual
virtual void DtLocalObjectManager::processModifyVrfOverlayObject ( DtIfModifyVrfOverlay ,
DtLocalObject  
)
virtual
virtual void DtLocalObjectManager::onQueueObjectForRemoval ( DtLocalObject vrfObject,
bool  andRemoveFromOrbat = false 
)
protectedvirtual

Hook function called from queueObjectForRemoval(). Calls vrfObject's.

virtual const Coordinate_System* DtLocalObjectManager::coordinateSystem ( ) const
protectedvirtual
virtual Coordinate_System* DtLocalObjectManager::coordinateSystem ( )
protectedvirtual
virtual void DtLocalObjectManager::advanceFrame ( )
protectedvirtual

Called to advance frame (which will delete objects queued for deletion)

virtual bool DtLocalObjectManager::processPendingSubordinateRequests ( )
protectedvirtual
virtual void DtLocalObjectManager::hookSuperiorToSubordinates ( DtLocalObject localObject)
protectedvirtual
virtual void DtLocalObjectManager::deleteVrfObjectsToBeDeleted ( )
virtual

Iterate over myVrfObjectsToDelete to delete those objects.

static void DtLocalObjectManager::modifyVrfObjectCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected

These callbacks are registered on the simManagers Message executive. They call a corresponding virtual function to do the actual work, e.g. processCreateVrfObject().

static void DtLocalObjectManager::modifyVrfOverlayCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
static void DtLocalObjectManager::skipTaskCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
static void DtLocalObjectManager::setThresholdsCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
static void DtLocalObjectManager::deleteDynamicTerrainServerCallback ( DtSimMessage ,
void *   
)
staticprotected
static void DtLocalObjectManager::createVrfObjectCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected

These callbacks are registered on the simManagers Message executive. Each registers a corresponding post-drain callback to actually carry out the work to be done. Those callbacks get placed on the exercise connection's post drain input callback list. This ensures that no RTI services get invoked from within a given RTI service call (we can't make RTI calls from within the above message callbacks directly, such as creating or deleting publishers associated with objects).

static void DtLocalObjectManager::deleteVrfObjectCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
static void DtLocalObjectManager::deleteVrfObjectByIdCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
static void DtLocalObjectManager::orderOfBattleOpCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
static void DtLocalObjectManager::aggregateAsCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected
static void DtLocalObjectManager::extendedLabelsOperationCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected

Callback to set/retrieve status of extended labels.

virtual void DtLocalObjectManager::processExtendedLabelsOperation ( DtSimMessage )
protectedvirtual
static void DtLocalObjectManager::requestActivitiesCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected

Callback to retrieve all activities.

virtual void DtLocalObjectManager::processRequestActivities ( DtSimMessage )
protectedvirtual
static void DtLocalObjectManager::requestJoystickControlsCallback ( DtSimMessage msg,
void *  usr 
)
staticprotected

Callback to retrieve current joystick controls.

virtual void DtLocalObjectManager::processRequestJoystickControls ( DtSimMessage )
protectedvirtual
virtual void DtLocalObjectManager::sendObjectsCreatedMessage ( )
protectedvirtual
virtual void DtLocalObjectManager::sendObjectsDeletedMessage ( )
protectedvirtual
virtual void DtLocalObjectManager::placeObjectEvent ( const makVrfEvents::DtEvent )
protectedvirtual
virtual DtCreateQueueEntry* DtLocalObjectManager::createQueueEntryCreator ( const DtVrfLocalObjectCreateInformation msg)
protectedvirtual

Creates a new DtCreateQueueEntry*, override this function to use a subclassed type.

virtual DtModifyQueueEntry* DtLocalObjectManager::modifyQueueEntryCreator ( const DtIfModifyVrfObject msg)
protectedvirtual

Creates a new DtModifyQueueEntry*, override this function to use a subclassed type.

virtual void DtLocalObjectManager::postInitFromParamsCallback ( DtLocalObject ,
DtAggregateCreationMode   
)
protectedvirtual
virtual DtVrfNameGenerator* DtLocalObjectManager::createNameGenerator ( )
protectedvirtual
virtual DtObjectType DtLocalObjectManager::potentialRandomObjectTypeFrom ( const DtObjectType original)
protectedvirtual
virtual void DtLocalObjectManager::createSubObjectsFromParameters ( DtLocalObject parent,
bool  publishSubobjects,
unsigned long  requestId,
const DtString overlayParent,
bool  addToOrbat 
)
protectedvirtual

Iterates through list of DtVrfSubObjectParameterEntry*s in the parent object's parameter entry (DtVrfObjectParameters::subordinateObjects()). Calls createSubObjectFromParameterEntry() for each item in the subordinateObjects() list to create the subordinate, and then calls myOrganizationManager->queueSetSuperior() to arrange for new subordinate to set of parent's subordinates.

virtual std::list<DtVector> DtLocalObjectManager::calculateFormationOffsetsBasedOnFootprints ( const DtList &  ) const
protectedvirtual

Given the potential list of subordinates, iterate over list and look up parameter data for potential footprint sizes. Results are the body offsets of the immediate subordinates based on potential leaf node footprint sizes.

virtual std::vector<Dt3dBoundingVolume> DtLocalObjectManager::boundingVolumesOfChildren ( const DtList &  subObjects,
int totalLeafNodes 
) const
protectedvirtual

Return a list of the bounding volumes of all the children.

virtual DtLocalObject* DtLocalObjectManager::createSubObjectFromParameterEntry ( const DtVrfSubObjectParameterEntry entry,
const DtVector positionOffsetFromParent,
const DtLocalObject parent,
const DtString formationName,
bool  publishSubObject,
unsigned long  requestId = 0,
const DtString overlayParent = "",
const DtString markingText = "",
const DtUUID uuid = DtUUID::nullUUID(),
bool  addToOrbat = true 
)
protectedvirtual

Returns a newly created DtLocalObject, given the information passed in through the entry parameter. Calls the non-blocking form of place() on the state repository of each object created with the expectation that processCreateVrfObject has queued the create until the terrain is available. If place() returns the dataAvailable parameter as false a warning will be printed to the console.

virtual void DtLocalObjectManager::modifyInterfaceContentForNewObject ( DtSimInterfaceContent ,
DtLocalObject ,
bool isLocal 
) const
protectedvirtual

Given a list of interface content messages from a create message, inspect and modify as need be for information obtained from the newly created object (such as object name)

virtual void DtLocalObjectManager::updateSubordianteFunction ( DtLocalObject agg,
const std::vector< DtUUID > &  subordiantes 
)
protectedvirtual
VRF4API_METHOD DtSimObjectReference DtLocalObjectManager::lookupVrfObjectByUUID ( const DtUUID u) const

Deprecated methods. Please see the localObjectManager.inl file for how you would convert your code.

VRF4API_METHOD const DtSimulationServices* DtLocalObjectManager::simManager ( ) const

Deprecated methods. Please see the localObjectManager.inl file for how you would convert your code.

VRF4API_METHOD DtSimulationServices* DtLocalObjectManager::simManager ( )

Deprecated methods. Please see the localObjectManager.inl file for how you would convert your code.

VRF4API_METHOD DtManagedObjectListConstPtr DtLocalObjectManager::getList ( const DtVrfObjectPredicate predicate,
bool  reevaluateFlag = false,
DtTime  evaluationPeriod = 0 
)
VRF4API_METHOD DtVrfObjectPlanAdministrator* DtLocalObjectManager::planAdministrator ( )

Deprecated methods. Please see the localObjectManager.inl file for how you would convert your code.

VRF4API_METHOD DtSimObjectReference DtLocalObjectManager::lookupVrfObjectByMarkingText ( const DtString ) const

Deprecated methods. Please see the localObjectManager.inl file for how you would convert your code.

VRF4API_METHOD const DtReaderWriter::SearchPaths& DtLocalObjectManager::searchPaths ( ) const

Deprecated methods. Please see the localObjectManager.inl file for how you would convert your code.

Member Data Documentation

DtRemoteComponentAttachmentManager* DtLocalObjectManager::myRemoteComponentAttachmentManager
protected

List of components to attach to remote, non-vrf entities.

Referenced by remoteComponentAttachmentManager().

tbb::mutex DtLocalObjectManager::myTopLevelNodeCreationMutex
protected
tbb::spin_rw_mutex DtLocalObjectManager::mySimObjectListMutex
mutableprotected

Hashlist of all DtLocalObject*s, keyed on DtUUID.

DtSimObjectMap DtLocalObjectManager::mySimObjectList
protected
DtVrfParameterDb* DtLocalObjectManager::myParameterDatabase
protected

Parameter database used in creation and initialization of DtLocalObjects.

DtSimObjectListActivityCallbackList DtLocalObjectManager::myAboutToBeLoadedSimObjectCallbackList
mutableprotected

List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for notification of when a new DtSimObject is about to load it's data from the order of battle file.

DtSimObjectListActivityCallbackList DtLocalObjectManager::myAboutToBeAddedSimObjectCallbackList
mutableprotected

List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for notification of when a new DtSimObject is about to be added.

DtSimObjectListActivityCallbackList DtLocalObjectManager::myAddedSimObjectCallbackList
mutableprotected

List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for notification of when a new DtSimObject has been added.

DtSimObjectListActivityCallbackList DtLocalObjectManager::myAboutToBeRemovedSimObjectCallbackList
mutableprotected

List of DtSimObjectListActivityCallbackFcn*s. Clients register callback functions on this list for notification of when a DtSimObject is about to be removed.

DtSimObjectListActivityCallbackList DtLocalObjectManager::mySimObjectConvertedToLocalCallbacks
mutableprotected

List of DtSimObjectListActivityCallbackFcn*s for objects that have been converted to a local object.

DtSimObjectListActivityCallbackList DtLocalObjectManager::mySimObjectConvertedToRemoteCallbacks
mutableprotected

List of DtSimObjectListActivityCallbackFcn*s for objects that have been converted to a remote object.

DtString DtLocalObjectManager::mySimObjectType
protected

Type of DtSimObject to create. Types are defined in simObjectTypes.h.

DtSimulationServices* DtLocalObjectManager::mySimulationServices
protected
std::map<DtUUID, bool> DtLocalObjectManager::myObjectsToRemoveQueue
protected

Objects queued for removal; processed each tick by removeObjectsQueuedForRemoval.

DtVrfObjectCreateQueue DtLocalObjectManager::myObjectsToCreateQueue
protected

Object creation queue; objects are only created once the terrain at the requested location has been paged in.

DtVrfObjectModifyQueue DtLocalObjectManager::myObjectsToModifyQueue
protected
const Coordinate_System* DtLocalObjectManager::myCoordinateSystemPtr
protected
double DtLocalObjectManager::myTimeToPublishNextStateUpdate
protected
DtLocalObject* DtLocalObjectManager::myDynamicTerrainServer
protected
DtNameChangedCallbackList DtLocalObjectManager::myObjectNameChangedCallbackList
mutableprotected
DtObjectQueuedForRemovalCallbackList DtLocalObjectManager::myObjectQueuedForRemovalCallbackList
mutableprotected
DtUUIDChangedCallbackList DtLocalObjectManager::myObjectUUIDChangedCallbackList
mutableprotected
DtConsoleCommandOwner* DtLocalObjectManager::myConsoleCommands
protected
DtValidStateChangedCallbackList DtLocalObjectManager::myValidStateChangedCallbackList
mutableprotected
bool DtLocalObjectManager::myCreatedCharacterManager
protected
bool DtLocalObjectManager::myCanSimulate
protected
bool DtLocalObjectManager::myWasValid
protected
std::vector<DtEntityType> DtLocalObjectManager::myStealthTypes
protected
std::vector<DtLocalObject*> DtLocalObjectManager::myVrfObjectsToDelete
protected
bool DtLocalObjectManager::myInitialTimeSetThisFrame
protected
bool DtLocalObjectManager::myRunFullyThreaded
protected
tbb::spin_mutex DtLocalObjectManager::myCompleteObjectAdditionMutex
protected
std::set<DtLocalObject*> DtLocalObjectManager::myCompleteObjectAddition
protected
int DtLocalObjectManager::myAppIdRangeMax
protected
tbb::spin_mutex DtLocalObjectManager::myObjectPublisherMutex
protected
tbb::spin_mutex DtLocalObjectManager::myRemovalQueueMutex
protected
makVrf::DtStateDataManager* DtLocalObjectManager::myStateDataManager
protected
DtCommunicationManager* DtLocalObjectManager::myCommunicationManager
protected
bool DtLocalObjectManager::myRemovingAllObjects
protected
std::set<DtLocalObject*> DtLocalObjectManager::myObjectsCreatedThisTick
protected
std::set<DtString> DtLocalObjectManager::myObjectsDeletedThisTick
protected
tbb::atomic<int> DtLocalObjectManager::myNumLocalPublished
protected

Entity Identifier to be consistent with current DtIfVrfObjectDeleted message.

tbb::spin_mutex DtLocalObjectManager::myObjectsCreatedThisTickMutex
protected
tbb::spin_rw_mutex DtLocalObjectManager::myObjectsToRemoveQueueMutex
mutableprotected
tbb::spin_rw_mutex DtLocalObjectManager::myObjectWasRemovedThisTickMutex
protected
std::set<DtUUID> DtLocalObjectManager::myObjectWasRemovedThisTick
protected
DtOwnershipTransferManager* DtLocalObjectManager::myOwnershipTransferManager
protected
tbb::spin_rw_mutex DtLocalObjectManager::myQueueSetSuperiorMutex
mutableprotected
std::map<int, DtUUID> DtLocalObjectManager::myForceLevelNodesByUUID
protected
DtManagedObjectListConstPtr DtLocalObjectManager::myForceLevelNodes
protected
PendingSetSuperior DtLocalObjectManager::myPendingSetSuperior
protected
PendingSuperiorsToSet DtLocalObjectManager::myPendingSuperiorsToSet
protected
boost::signals2::scoped_connection DtLocalObjectManager::myPlaceObjectEventConnection
protected
PostInitParamsConnections DtLocalObjectManager::myPostInitParamsConnections
protected
tbb::spin_mutex DtLocalObjectManager::myPostInitParamsConnectionsMutex
protected
DtVrfNameGenerator* DtLocalObjectManager::myNameGenerator
protected
VisualMarkings DtLocalObjectManager::myVisualMarkings
protected
tbb::spin_rw_mutex DtLocalObjectManager::myVisualMarkingsMutex
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)