VR-Forces 4.2 Class Documentation
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes
MyObjectManager Class Reference
Inheritance diagram for MyObjectManager:
Inheritance graph
[legend]

Public Member Functions

 MyObjectManager (DtSimManager *simManager, int entityAdvisory)
virtual ~MyObjectManager ()
virtual void tick ()
 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.
 MyObjectManager (DtSimManager *simManager, int entityAdvisory)
virtual ~MyObjectManager ()
virtual bool init ()
 Initialization - must be called after create() and before any other member functions are called.
virtual void processTestSettingsChanged (const DtTestSettings *settings)
virtual void processUpdateTestSettings (DtTestSettings *settings)
- Public Member Functions inherited from DtVrfObjectManager
 DtVrfObjectManager (DtSimManager *simManager, int entityAdvisory=100)
 constructor
virtual ~DtVrfObjectManager ()
 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.
virtual bool create ()
 Virtual construction - must be called before any other member functions are called.
virtual bool createObjectNameHashlist ()
virtual bool createGlobalIdHashlist ()
virtual void createDIGuyCharacterManager (const DtFilename &diGuyDataFile, const DtFilename &diGuyAnimationsFile)
 If Using DI-Guy Need to create the character manager.
virtual bool add (DtVrfObject *simObject)
 Creates a DtEntityIdentifierHashKey for the object and then adds it to mySimObjectList.
virtual void setParameterDatabase (DtVrfParameterDb *parameterDatabase)
 Parameter database used in creation and initialization of DtVrfObjects.
virtual DtVrfParameterDbparameterDatabase ()
virtual DtVrfObjectlookupVrfObject (const DtEntityIdentifier &key)
 Looks up a DtVrfObject, given a DtEntityIdentifier.
virtual const DtVrfObjectlookupVrfObject (const DtEntityIdentifier &key) const
virtual DtVrfObjectlookupVrfObjectByGlobalId (const DtGlobalObjectDesignator &globalId)
virtual const DtVrfObjectlookupVrfObjectByGlobalId (const DtGlobalObjectDesignator &globalId) const
virtual DtVrfObjectlookupVrfObjectByName (const DtString &name, bool warnOnFailure=true)
virtual const DtVrfObjectlookupVrfObjectByName (const DtString &name, bool warnOnFailure=true) const
virtual const DtVrfObjectlookupVrfObjectByEchelonIdString (const DtString &echIdString) const
virtual DtVrfObjectlookupVrfObjectByEchelonIdString (const DtString &echIdString)
virtual const DtVrfObjectlookupVrfObjectByEchelonId (const DtEchelonId &echId) const
virtual DtVrfObjectlookupVrfObjectByEchelonId (const DtEchelonId &echId)
virtual DtVrfObjectlookupVrfObjectByObjectId (const DtObjectId &id) const
virtual DtGlobalObjectDesignator lookupGlobalId (const DtObjectId &id) const
virtual DtObjectId lookupObjectId (const DtGlobalObjectDesignator &globalId)
virtual DtManagedObjectListConstPtr getList (const DtVrfObjectPredicate &predicate, bool reevaluateFlag=false, DtTime evaluationPeriod=0)
 Wraps DtManagedObjectListManager::getList().
virtual const
DtVrfObjectFilterIterator
vrfIterator (const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false) const
virtual const
DtVrfObjectFilterIterator
vrfIterator (const DtVrfObjectPredicate &predicate) const
virtual const
DtVrfObjectFilterIterator
vrfIterator (DtFilterFcn filter, bool invertFilter=false, void *usrData=0) const
 typedef bool (DtFilterFcn)(const DtVrfObject object, void* usr); ACTUAL DEFINITION IN fltrFcnInf.h, provided here for readability.
virtual void removeAndDelete (const DtString &objectName)
 Calls queueObjectForRemoval to schedule object for removal from object manager and deletion.
virtual void removeAndDelete (const DtEntityIdentifier &key)
virtual void removeAndDelete (DtVrfObject *object)
virtual void removeAndDeleteAllLocals ()
 Queues all locally simulated objects for removal.
virtual void removeAndDeleteAll ()
 Calls invokeAllObjectManagerRemoveAllCallbacks() and then queues all simulated objects for removal.
virtual void setExerciseConnection (DtExerciseConn *connection)
 Calls createRemoteEntitiesList(), createRemoteAggregatesList(), and createRemoteEnvironmentalsList().
virtual void createRemoteEnvironmentalsList (DtExerciseConn *exConn)
virtual
DtReflectedControlObjectList * 
reflectedEnvironmentProcessList () const
 Get the reflected environment process list.
virtual
DtReflectedControlObjectList * 
createReflectedControlObjectList (DtExerciseConn *exConn)
 Called to create the reflected environmental list.
virtual void registerInterfaceCallbacks ()
 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).
virtual const DtSimManagersimManager () const
 Get a const pointer to the simulation manager.
virtual DtSimManagersimManager ()
 Get a pointer to the simulation manager.
virtual void processCreateVrfObject (DtSimMessage *msg)
 Registered with the message executive to handle the CreateVrfObject message.
virtual void processCreateVrfObject (DtIfCreateVrfObject ifCreateVrfObject)
 The ifCreateVrfObject is passed to createAndInitVrfObject and if the create is successful, DtVrfObjectStateRepository::place is called to give the entity its initial position and orientation.
virtual void processModifyVrfObject (DtSimMessage *msg)
 Registered with the message executive to handle the ModifyVrfObject message.
virtual void processModifyVrfObject (DtIfModifyVrfObject modObj)
 The object identifier in the DtIfModifyVrfObject is used to look up a DtVrfObject.
virtual void processModifyVrfOverlay (DtSimMessage *msg)
 Registered with the message executive to handle the ModifyVrfOverlay message.
virtual void processDeleteVrfObject (DtSimMessage *msg)
 Registered with the message executive to handle the DeleteVrfObject message.
virtual void processDeleteVrfObjectById (DtSimMessage *msg)
 Registered with the message executive to handle the DeleteVrfObjectById message.
virtual void processVrfObjectDeleted (DtSimMessage *msg)
 Registered with the message executive to handle the VrfObjectDeleted message.
virtual void processOrderOfBattleOp (DtSimMessage *msg)
 Registered with the message executive to handle the OrderOfBattleOp message.
virtual void processAutoReorganize (DtSimMessage *msg)
 Registered with the message executive to handle the AutoReorganize message.
virtual void processAggregateAs (DtSimMessage *msg)
 Registered with the message executive to handle the AggregateAs message.
virtual void processSkipTask (DtSimMessage *msg)
 Registered with the message executive to handle the SkipTask message.
virtual void processSetThresholds (DtSimMessage *msg)
 Called by setThresholdsCallback.
virtual void processCreateControlObject (DtSimMessage *msg)
 Obsolete as of version 2.0.
virtual void processCreateEntity (DtSimMessage *msg)
virtual void processRemoveEntity (DtSimMessage *msg)
virtual void processRequestEntityName (DtSimMessage *msg)
virtual void processEntityAddedCallback (DtReflectedExtEntity *entity)
 These functions override the base class versions to check to see if reflected object being added is from one of our own locally simulated objects.
virtual void processAggregateAddedCallback (DtReflectedExtAggregate *aggregate)
virtual void processEntityRemovedCallback (DtReflectedExtEntity *entity)
 Override the base class version to schedule object for removal, rather than removing right away.
virtual void processAggregateRemovedCallback (DtReflectedExtAggregate *aggregate)
virtual void processDesignatorAddedCallback (DtReflectedDesignator *des)
virtual void processDesignatorRemovedCallback (DtReflectedDesignator *des)
virtual void processDesignatorChangedCallback (DtReflectedDesignator *des)
DtBoolean processDesignatorDiscoveryCriteria (DtReflectedDesignator *des)
virtual void processActiveSonarAddedCallback (DtReflectedActiveSonar *des)
virtual void processActiveSonarRemovedCallback (DtReflectedActiveSonar *des)
virtual void processActiveSonarChangedCallback (DtReflectedActiveSonar *des)
DtBoolean processActiveSonarDiscoveryCriteria (DtReflectedActiveSonar *des)
virtual ReflectedActiveSonars findActiveSonarsForHostEntity (const DtVrfObject *host) const
virtual void processPropulsionNoiseAddedCallback (DtReflectedPropulsionNoise *des)
virtual void processPropulsionNoiseRemovedCallback (DtReflectedPropulsionNoise *des)
virtual void processPropulsionNoiseChangedCallback (DtReflectedPropulsionNoise *des)
DtBoolean processPropulsionNoiseDiscoveryCriteria (DtReflectedPropulsionNoise *des)
virtual bool hasEnabledActiveSonar (const DtVrfObject *host) const
virtual
DtReflectedPropulsionNoise * 
propulsionNoiseForHost (const DtVrfObject *host) const
virtual void processAggregateChanged (DtReflectedExtAggregate *aggregate)
 Override the base class version to make a call to DtOrganizationManager.
virtual void processEnvProcessAddedCallback (DtReflectedEnvironmentProcess *envProcess)
virtual void processEnvProcessRemovedCallback (DtReflectedEnvironmentProcess *envProcess)
virtual bool processEnvProcessDiscoveryCriteria (DtReflectedEnvironmentProcess *envProcess)
virtual void removeObjectSubordinates (DtVrfObject *object)
 Queues all the subordinates of this object for removal, or sends deleteObject messages for any of the remote subordinates.
virtual void queueObjectForRemoval (const DtEntityIdentifier &key)
 Schedule a given vrf object to be removed.
virtual void removeObjectsQueuedForRemoval ()
 Removes all vrf objects on the list at the end of each tick.
virtual DtVrfObjectcreateAndInitVrfObject (DtIfCreateVrfObject *creationInfo)
 Create a new local vrf object from an interface message.
virtual DtVrfObjectcreateAndInitVrfObject (DtIfAggregateAs *aggInfo)
virtual DtVrfObjectcreateAndInitVrfObject (DtReflectedEntity *entity)
 Create a new remote vrf object from a network packet.
virtual DtVrfObjectcreateAndInitVrfObject (DtReflectedAggregate *aggregate, int superType=DtObjectTypeAggregate)
virtual DtVrfObjectcreateAndInitVrfObject (DtReflectedEnvironmentProcess *envProcess)
virtual DtVrfObjectcreateAndInitVrfObject (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(), const DtString &readerWriterName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0, bool createSubObjects=false, DtVrfObjectUserInitFcn userInit=0, void *userInitData=0, bool organize=true, const DtString &startingFormation=DtDefaultFormationString, DtVrfObjectManager::DtAggregateCreationMode initialAggregateState=DtVrfObjectManager::DtUseParameterDatabaseAggregateState)
 Creates a new local vrf object and adds it to our list of managed vrf objects.
virtual DtVrfObjectcreateAndInitVrfObject (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(), const DtString &readerWriterName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0, bool createSubObjects=false, DtVrfObjectUserInitFcn userInitFcn=0, void *userInitData=0, bool organize=true, const DtString &startingFormation=DtDefaultFormationString, DtVrfObjectManager::DtAggregateCreationMode initialAggregateState=DtVrfObjectManager::DtUseParameterDatabaseAggregateState)
 Creates a new local vrf object and adds it to our list of managed vrf objects.
virtual void createSubObjectsFromParameters (DtVrfObject *parent, bool publishSubobjects)
 Iterates through list of DtVrfSubObjectParameterEntry*s in the parent object's parameter entry (DtVrfObjectParameters::subordinateObjects()).
virtual DtVrfObjectcreateSubObjectFromParameterEntry (const DtVrfSubObjectParameterEntry &entry, const DtVector &positionOffsetFromParent, const DtVrfObject &parent, const DtString &formationName, bool publishSubObject)
 Returns a newly created DtVrfObject, given the information passed in through the entry parameter.
virtual bool readOrderOfBattleFile (const DtString &filename)
 Read/write order of battle file.
virtual bool writeOrderOfBattleFile (const DtString &filename)
virtual bool objectShouldBeSavedToOrderOfBattle (const DtVrfObject *vrfObject)
 Called by writeOrderOfBattleFile to determine if an entity should be saved to the order of battle file by making sure it is a local object with a VR-Forces globalId.
virtual DtlObjPtr getData (DtlObjPtr args, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings)
 This method must be overridden by a subclass.
virtual void addVrfObjectAboutToBeAddedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Registers a callback for notification when a new DtVrfObject is about to be added.
virtual void addVrfObjectAddedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Registers a callback for notification when a new DtVrfObject is added.
virtual void addVrfObjectAboutToBeLoadedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Registers a callback for notification when a new DtVrfObject is about to be load from the order of battle file.
virtual void addVrfObjectAboutToBeRemovedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Registers a callback for notification when a DtVrfObject going to be removed.
virtual void removeVrfObjectAboutToBeAddedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Remove a previously register callback for notification when a new DtVrfObject is about to load from the order of battle file.
virtual void removeVrfObjectAboutToBeLoadedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Remove a previously register callback for notification when a new DtVrfObject is about to load from the order of battle file.
virtual void removeVrfObjectAddedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Remove a previously register callback for notification when a new DtVrfObject is added.
virtual void removeVrfObjectAboutToBeRemovedCallback (DtVrfObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Remove a previously register callback for notification when a DtVrfObject is removed.
virtual void addObjectManagerAboutToRemoveAllCallback (DtVrfObjectManagerCallbackFcn fcn, void *usrData)
 Add a callback to be invoked whenever all objects are about to be removed from the the object manager.
virtual void removeObjectManagerAboutToRemoveAllCallback (DtVrfObjectManagerCallbackFcn fcn, void *usrData)
 Remove a callback to be invoked whenever all objects are about to be removed from the the object manager.
virtual void addOrganizationManagerReadyCallback (DtOrganizationManagerReadyCallbackFcn fcn, void *usrData)
 Add callback to be invoked when the organization manager readiness changes.
virtual void removeOrganizationManagerReadyCallback (DtOrganizationManagerReadyCallbackFcn fcn, void *usrData)
 Removes callback to be invoked when the organization manager readiness changes.
virtual void enableAutoReorganization ()
 Enables/disables auto reorganization of pseudo-aggregates.
virtual void disableAutoReorganization ()
virtual bool autoReorganizeEnabled () const
 Returns true if auto-reorganization is enabled, false if not.
virtual DtVrfObjectlookupTopLevelVrfObject (DtForceType forceType)
 Look up top-level superior, given the force type.
virtual DtVrfObjectcreateAndInitTopLevelVrfObject (DtForceType forceType)
 Creates and adds a top-level superior of a given force type.
virtual DtVrfObjectcreateAndInitTopLevelVrfObject (DtForceType forceType, const DtString &name)
 Creates and adds a top-level superior of a given name (should be of the form "1 Force", "2 Force", etc.)
virtual DtString topLevelName (DtForceType forceType)
 returns the name string for a top-level object of a given force type.
virtual DtString nextName (const DtObjectType &objectType)
 Returns an unused name appropriate for the specified object type.
virtual DtString nextUnorganizedName ()
 Returns the next unorganized unique name string.
virtual DtString uniquifyName (const DtString &name, const DtObjectType &objectType)
 Checks to see if the provided name is unique.
virtual unsigned int maxNameLengthForType (const DtObjectType &objectType)
virtual void processOverlayOp (DtSimMessage *msg)
 For backward compatibility with pre-2.0 scenario files (overlay file no longer used as of version 2.0).
virtual bool readOverlayFile (const DtString &filename)
virtual DtReflectedObject * lookupReflectedObject (const DtGlobalObjectDesignator &globalId) const
 Look up the reflected object for a given global Id.
virtual void rediscoverObjects ()
 run through the lists of known objects and perform discoveries
virtual void requestUpdatesForRemoteNonVrfObjects () const
 Walk through list of reflected objects and request updates on non-VR-Forces simulated objects.
virtual void objectNameChanged (const DtString &oldName, const DtString &newName)
 This is called by a DtVrfObject when it's named changes.
virtual bool addNameAlias (const DtString &aliasName, DtVrfObject *object)
 Adds an additional name to reference the specified object other than its actual name.
virtual void removeNameAlias (const DtString &alias)
virtual DtVrfObjectaggregateAs (const DtObjectType &aggregateType, DtForceType force, const DtVector &dbPosition, DtReal heading, DtList *subordinateNames=0, const DtString &aggregateName=DtString::nullString())
 Creates a new aggregate.
virtual bool addSubordinatesToAggregate (DtVrfObject *object, const DtList *subordinateNames, DtAggregateState desiredState=DtFullyDisaggregated)
 Called by aggregateAs and createAndInitVrfObject(DtIfAggregateAs*).
virtual DtOrganizationManagerorganizationManager ()
virtual const
DtOrganizationManager
organizationManager () const
virtual
DtDIGuyCharacterDataManager
diGuyCharacterManager ()
 DI-Guy character Manager.
virtual const
DtDIGuyCharacterDataManager
diGuyCharacterManager () const
virtual void setCoordinateSystem (const Coordinate_System *coordinateSystem)
 Set the coordinate system on all vrf objects.
virtual unsigned objectCount () const
 Returns the number of DtVrfObject* items in the list.
virtual DtVrfObjectlookup (const DtEntityIdentifier &key)
 Looks up a DtVrfObject*, given a DtEntityIdentifier.
virtual const DtVrfObjectlookup (const DtEntityIdentifier &key) const
virtual DtVrfObjectlookupObjectByGlobalId (const DtGlobalObjectDesignator &globalId)
 Looks up an object for a given global Id.
virtual const DtVrfObjectlookupObjectByGlobalId (const DtGlobalObjectDesignator &globalId) const
virtual DtVrfObjectlookupObjectByName (const DtString &objectName)
 Looks up an object for a given object name.
virtual const DtVrfObjectlookupObjectByName (const DtString &objectName) const
virtual const DtSimulationAddress & simulationAddress () const
 Get the DIS/RPR simulation address from our exercise connection.
const DtSimObjectIteratoriterator () const
 Returns an iterator for the list.
virtual bool createSimObjectList ()
 Called by create().
virtual DtHashlist * hashlist () const
 Hashlist of all vrf objects maintained by the vrf object manager.
virtual void createRemoteEntitiesList (DtExerciseConn *exConn)
 Called by setExerciseConnection().
virtual void createRemoteAggregatesList (DtExerciseConn *exConn)
virtual void processEntityChanged (DtReflectedExtEntity *entity)
 Callback handlers for VR-Link entity and aggregate reflected list events.
virtual bool processEntityDiscoveryCriteria (DtReflectedEntity *entity)
 Callback handler for processing discovery criteria of reflected objects.
virtual bool processAggregateDiscoveryCriteria (DtReflectedAggregate *aggregate)
 Callback handler for processing discovery criteria of reflected objects.
virtual DtReflectedDesignator * lookupLasedTargetByGlobalId (const DtGlobalObjectDesignator &tgtGlobalId)
 Look up a target Global id to if it is being lased.
virtual DtReflectedDesignator * lookupLasedTargetByDesignatorCode (const int code)
 Looks up a PRF code to see if there are any targets being lased by it Nothing fancy just return first match Returns null if no target being lased by this PRF code.
virtual void createRemoteDesignatorsList (DtExerciseConn *exConn)
 Called by setExerciseConnection().
virtual void createRemoteActiveSonarList (DtExerciseConn *exConn)
virtual void createRemotePropulsionNoiseList (DtExerciseConn *exConn)
DtReflectedDesignatorList * reflectedDesignatorList () const
DtReflectedActiveSonarList * reflectedActiveSonarList () const
DtReflectedPropulsionNoiseList * reflectedPropulsionNoiseList () const
virtual DtVrfParameterDbobjectParametersDB () const
virtual void addSimObjectAboutToBeAddedCallback (DtSimObjectListActivityCallbackInfo *cbInfo)
 Adds DtSimObjectListActivityCallbackFcn objects to their respective lists.
virtual void addSimObjectAddedCallback (DtSimObjectListActivityCallbackInfo *cbInfo)
virtual void addSimObjectAboutToBeRemovedCallback (DtSimObjectListActivityCallbackInfo *cbInfo)
virtual void addSimObjectAboutToBeLoadedCallback (DtSimObjectListActivityCallbackInfo *cbInfo)
virtual void addSimObjectAboutToBeAddedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Registers a callback for notification when a new DtSimObject is about to be added.
virtual void addSimObjectAddedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Registers a callback for notification when a new DtSimObject is added.
virtual void addSimObjectAboutToBeRemovedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Registers a callback for notification when a new DtSimObject is added.
virtual void addSimObjectAboutToBeLoadedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Registers a callback for notification when a new DtSimObject is about to be loaded from an order of battle file.
virtual void removeSimObjectAboutToBeAddedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Remove a previously register callback for notification when a new DtSimObject is about to be added.
virtual void removeSimObjectAboutToBeRemovedCallback (const DtSimObjectListActivityCallbackInfo &cbInfo)
virtual void removeSimObjectAddedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Remove a previously register callback for notification when a new DtSimObject is added.
virtual void removeSimObjectAboutToBeLoadedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Remove a previously register callback for notification when a new DtSimObject is about to be loaded from the order of battle file.
virtual void removeSimObjectAboutToBeAddedCallback (const DtSimObjectListActivityCallbackInfo &cbInfo)
 Removes DtSimObjectListActivityCallbackFcn objects from their respective lists.
virtual void removeSimObjectAddedCallback (const DtSimObjectListActivityCallbackInfo &cbInfo)
virtual void removeSimObjectAboutToBeLoadedCallback (const DtSimObjectListActivityCallbackInfo &cbInfo)
virtual void removeSimObjectAboutToBeRemovedCallback (DtSimObjectListActivityCallbackFcn fcn, void *usrData, const DtObjectType &filter=DtObjectType::anyType(), bool invertFilter=false)
 Remove a previously register callback for notification when a DtSimObject is removed.
virtual void invokeSimObjectAboutToBeAddedCallbacks (DtVrfObject *simObject) const
 Called by add().
virtual void invokeSimObjectAddedCallbacks (DtVrfObject *simObject) const
 Called by add().
virtual void invokeSimObjectAboutToBeRemovedCallbacks (DtVrfObject *simObject) const
 Called by remove().
virtual void invokeSimObjectAboutToBeLoadedCallbacks (DtVrfObject *simObject) const
 Called by createAndInit in the DtVrfObject.
virtual DtReflectedExtEntityList * reflectedEntityList () const
 Get the reflected entity list.
virtual
DtReflectedExtAggregateList * 
reflectedAggregateList () const
 Get the reflected aggregate list.
virtual const DtEntityIdentifier & nextId ()
virtual DtString generateUniqueName (int maxLength, const DtString &root="Object") const
 Generates a name string which does not belong to any other object in the simulation, and does not exceed the maxLength.
virtual bool isLocal (const DtBaseEntityStateRepository &stateRep)
virtual void objectsEmbarkedOn (DtVrfObjectStateRepository *vrfObjSR, std::list< DtString > &list, bool includePsuedoAggregates=true) const
 Fills in the supplied std:list with names of all entities that are embarked on the supplied object.
virtual bool canSimulate () const
 Returns true if this simulation is ready to be simulated.
virtual void printReflectedObjectCounts () const
 Prints counts of different types of reflected objects.
DtObjectGeometricModelsManagerobjectModelsManager () const
void setTerrainDbFactory (DtTerrainDbFactory *)
DtTerrainDbFactory * terrainDbFactory ()
virtual
DtVrfObjectPlanAdministrator
planAdministrator ()
virtual
DtSimInternalCommunicationManager
simInternalCommunicationManager ()
virtual void clearRemoteComponentAttachmentSystem ()
 Empty any attachment info that's waiting to be applied to entities.
virtual void createRemoteComponentAttachmentManager ()
 Creates the DtRemoteComponentAttachmentManager.
virtual bool initializeRemoteComponentAttachmentSystem (const DtFilename &fromFile)
 Purge the remote component attachment system, then reinitialize from the file.
DtRemoteComponentAttachmentManagerremoteComponentAttachmentManager ()
 Returns the remote component attachment manager.
const
DtRemoteComponentAttachmentManager
remoteComponentAttachmentManager () const
 Empty any attachment info that's waiting to be applied to entities.
virtual void addObjectNameChangedCallback (DtVrfObjectNameChangedCallbackFcn fcn, void *usr)
 Callback that is invoked whenever an object is renamed.
virtual void removeObjectNameChangedCallback (DtVrfObjectNameChangedCallbackFcn fcn, void *usr)
 Callback that is invoked whenever an object is renamed.
virtual void setSimObjectType (const DtString &type)
 The type of DtVrfObjects to create.
virtual const DtStringsimObjectType () const
 The type of DtVrfObjects to create.
- Public Member Functions inherited from DtRwList
 DtRwList ()
 default constructor
 DtRwList (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 real constructor
 DtRwList (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
virtual ~DtRwList ()
const DtRwListoperator= (const DtRwList &orig)
 Calls down to DtReaderWriter::operator=(). List elements are not copied.
virtual DtListItem * add (DtReaderWriter *data)
 Add element to the end of the list.
virtual DtListItem * addWithAlternateName (DtReaderWriter *data, const DtString &name)
 Add element to the end of the list, but use the provided name in place of the object name on the data object.
virtual DtListItem * addToStart (DtReaderWriter *data)
 Add element to the beginning of the list.
virtual DtListItem * addToEnd (DtReaderWriter *data)
 Add element to the end of the list.
virtual void * remove (DtReaderWriter *data, DtListItem *item)
 Remove an element from the list.
virtual DtlObjPtr getLocalData (DtlObjPtr args)
 Since getData is usually used for local data, and we're overloading it here to get the list data, use this if you want any data before your lists.
virtual void getSelf (DtlObjPtr args, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings)
virtual DtListItem * addBefore (DtReaderWriter *data, DtReaderWriter *before)
 Add element to the list just before the indicated item.
virtual DtListItem * addAfter (DtReaderWriter *data, DtReaderWriter *after)
 Add element to the list just after the indicated item.
virtual void removeAll ()
 Removes all the items in the list.
virtual const char * readerWriterType () const
 Used to supply a string type that this reader writer type is.
bool operator== (const DtRwList &rhs) const
 Iterates over all items and calls the factory to compare.
bool operator!= (const DtRwList &rhs) const
 DtRwList (const DtString &name, const DtRwList &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 Invokes DtReaderWriter copy constructor.
 DtRwList (const DtSymbolString &name, const DtRwList &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 Invokes DtReaderWriter copy constructor.
virtual DtListItem * addBefore (DtReaderWriter *data, const DtString &before)
 Add element to the list just before the indicated item.
virtual DtListItem * addBefore (DtReaderWriter *data, const DtSymbolString &before)
 Add element to the list just before the indicated item.
virtual DtListItem * addAfter (DtReaderWriter *data, const DtString &after)
 Add element to the list just after the indicated item.
virtual DtListItem * addAfter (DtReaderWriter *data, const DtSymbolString &after)
 Add element to the list just after the indicated item.
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 default constructor
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 real constructor Setting the readonly flag prevents object from writing itself to the stream.
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator
bool operator== (const DtReaderWriter &) const
 Equivalence operator.
bool operator!= (const DtReaderWriter &rhs)
virtual ~DtReaderWriter ()
 destructor
virtual void putSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Top level call to write itself to file.
virtual void getSelf (DtlObjPtr args, const DtFilename &searchPath=DtFilename::nullFilename(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Top level to read itself from an input stream.
virtual void writeSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry.
virtual DtSymbolString name () const
 Accessor for name of this readable/writable object.
virtual void addAlias (const DtSymbolString &alias)
 Add an alias as an alternative name for this object.
virtual bool hasAlias (const DtSymbolString &alias)
virtual const aliasContaineraliases () const
virtual void setReadonly (bool flag)
 Set read-only flag.
virtual bool isReadonly () const
virtual bool variableIsBound () const
virtual void unbindVariable ()
 Sets the myVariableIsBound flag to false.
virtual void setName (const DtString &)
 Set the name of the object.
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable.
virtual void bindVariables (DtVariableBindingsList variableBindings)
 Runs a variable binding pass on this reader writer and any of its children.
virtual std::list
< DtVariableNameType
unboundVariables () const
bool invalid () const
virtual bool hasChild (const DtReaderWriter *p) const
 Returns true if this variable has a child p in it's chain.
virtual void setValueSpecified (bool specified, bool recurse=false)
 The specified flags are used for optional values.
virtual bool valueSpecified () const
 The specified flags are used for optional values.
virtual bool isVariableReference () const
 Specifies whether or not this reader writer is really a variable that is specified elsewhere.
virtual void setIsVariableReference (bool value)
virtual void clearAllVariableReferenceFlags ()
 Clears out all variable reference flags from all readerwriter items in registry recursively.
virtual DtSymbolString variableName () const
 The variable name, if this object is a variable reference.
virtual void setVariableName (const DtSymbolString variableName)
 The variable name, if this object is a variable reference.
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object.
DtReaderWriterRegistryregistry ()
 Collection of child DtReaderWriter nodes owned by this object.

Static Public Member Functions

static DtVrfObjectManagercreator (DtSimManager *simManager, int entityAdvisory)
static void testSettingsChangedCallback (const DtSettingsObject *settings, void *usr)
static void updateTestSettingsCallback (DtSettingsObject *settings, void *usr)
static DtVrfObjectManagercreator (DtSimManager *simManager, int entityAdvisory)
- Static Public Member Functions inherited from DtVrfObjectManager
static void tickCallback (void *args)
 This callback is registered on the sim manager's tick list.
static void addSubordinatesToAggregateCompleteCallback (void *usr)
 If the aggregate's desired initial state is DtAggregated, this callback is registered with the change set that is created and given to the org manager.
static void entityAddedCallback (DtReflectedExtEntity *entity, void *userData)
 Called by reflected entity list when a new entity appears.
static void entityRemovedCallback (DtReflectedExtEntity *entity, void *userData)
 Called by reflected entity list when an entity goes away.
static void aggregateAddedCallback (DtReflectedExtAggregate *entity, void *userData)
 Called by reflected aggregate list when a new aggregate appears.
static void aggregateRemovedCallback (DtReflectedExtAggregate *entity, void *userData)
 Called by reflected aggregate list when an aggregate goes away.
static void entityChangedCallback (DtReflectedExtEntity *entity, void *userData)
 Called by reflected entity list when new state data for an entity has arrived.
static void aggregateChangedCallback (DtReflectedExtAggregate *aggregate, void *userData)
 Called by reflected aggregate list when new state data for an aggregate has arrived.
static bool entityDiscoveryCriteriaCallback (DtReflectedObject *entity, void *userData)
 Callback used to delay discovery of remote entity.
static bool aggregateDiscoveryCriteriaCallback (DtReflectedObject *aggregate, void *userData)
 Callback used to delay discovery of remote aggregate.
static int aggregateSuperType (DtAggregateStateRepository *aggregate)
static void designatorAddedCallback (DtReflectedDesignator *des, void *userData)
 Called by reflected designator list when a new designator appears.
static void designatorRemovedCallback (DtReflectedDesignator *des, void *userData)
 Called by reflected designator list when a designator goes away.
static void designatorChangedCallback (DtReflectedDesignator *des, void *userData)
 Called by reflected designator list when new state data for a designator has arrived.
static DtBoolean designatorDiscoveryCriteriaCallback (DtReflectedObject *des, void *userData)
 Callback used to delay discovery of remote designator.
static void activeSonarAddedCallback (DtReflectedActiveSonar *activeSonar, void *userData)
static void activeSonarRemovedCallback (DtReflectedActiveSonar *activeSonar, void *userData)
static void activeSonarChangedCallback (DtReflectedActiveSonar *activeSonar, void *userData)
static DtBoolean activeSonarDiscoveryCriteriaCallback (DtReflectedObject *activeSonar, void *userData)
static void propulsionNoiseAddedCallback (DtReflectedPropulsionNoise *propNoise, void *userData)
static void propulsionNoiseRemovedCallback (DtReflectedPropulsionNoise *propNoise, void *userData)
static void propulsionNoiseChangedCallback (DtReflectedPropulsionNoise *propNoise, void *userData)
static DtBoolean propulsionNoiseDiscoveryCriteriaCallback (DtReflectedObject *propNoise, void *userData)

Public Attributes

MySettingsManagermySettingsManager
double myDoubleValue
bool myBoolValue

Additional Inherited Members

- Public Types inherited from DtVrfObjectManager
enum  DtAggregateCreationMode { DtUseParameterDatabaseAggregateState = 0, DtCreateAggregatedEntity, DtCreateDisaggregatedEntity }
 Defines how the initial DtAggregateState should be set upon creation of an aggregate entity. More...
typedef DtCallbackList< const
DtOrganizationManagerReadyCallbackInfo & > 
DtOrganizationReadyCallbackList
typedef std::list
< DtReflectedActiveSonar * > 
ReflectedActiveSonars
- Protected Types inherited from DtVrfObjectManager
typedef DtBoost::shared_ptr
< DtCreateQueueEntry
DtCreateQueueEntryPtr
 Object creation queue; objects are only created once the terrain at the requested location has been paged in.
typedef std::list
< DtCreateQueueEntryPtr
DtVrfObjectCreateQueue
typedef DtBoost::shared_ptr
< DtModifyQueueEntry
DtModifyQueueEntryPtr
 Object modification queue; objects which are ground clamped are only moved once the terrain at the requested location has been paged in.
typedef std::list
< DtModifyQueueEntryPtr
DtVrfObjectModifyQueue
typedef DtCallbackList< const
DtVrfObjectNameChangedCallbackInfo & > 
DtNameChangedCallbackList
- Protected Member Functions inherited from DtVrfObjectManager
virtual void processOrganizationManagerReady (const DtOrganizationManagerReadyCallbackInfo &)
 Called when organization manager ready state has changed.
virtual void invokeOrganizationManagerReadyCallbacks (const DtOrganizationManagerReadyCallbackInfo &)
virtual void rediscoverNonVRFEntities ()
 Walks through the reflected entity list and rediscovers entities which don't have VRF global id's.
virtual void remove (DtVrfObject *simObject)
 Protected here because callers should be calling removeAndDelete to safely get their object queued for removal and deletion.
virtual DtVrfObjectremove (const DtEntityIdentifier &key)
virtual void invokeObjectManagerAboutToRemoveAllCallbacks () const
 Call all of the DtVrfObjectManagerCallbackFcn functions registered with the object manager.
virtual void onQueueObjectForRemoval (DtVrfObject *vrfObject)
 Hook function called from queueObjectForRemoval().
virtual const Coordinate_System * coordinateSystem () const
virtual Coordinate_System * coordinateSystem ()
virtual
DtObjectGeometricModelsManager
createObjectModelsManager () const
 Creates new object model manager.
virtual
DtVrfObjectPlanAdministrator
createPlanAdministrator ()
 Creates new DtVrfObjectPlanAdministrator.
virtual
DtSimInternalCommunicationManager
createSimInternalCommunicationManager (DtSimManager *simMgr) const
 DtVrfObjectManager ()
 default constructor
 DtVrfObjectManager (const DtVrfObjectManager &orig)
 copy constructor - not implemented - do not call
DtVrfObjectManageroperator= (const DtVrfObjectManager &orig)
 assignment operator - not implemented - do not call
virtual DtCreateQueueEntrycreateQueueEntryCreator (DtIfCreateVrfObject msg)
 Creates a new DtCreateQueueEntry*, override this function to use a subclassed type.
virtual DtModifyQueueEntrymodifyQueueEntryCreator (DtIfModifyVrfObject msg)
 Creates a new DtModifyQueueEntry*, override this function to use a subclassed type.
- Static Protected Member Functions inherited from DtVrfObjectManager
static void modifyVrfObjectCallback (DtSimMessage *msg, void *usr)
 These callbacks are registered on the simManagers Message executive.
static void modifyVrfOverlayCallback (DtSimMessage *msg, void *usr)
static void autoReorganizeCallback (DtSimMessage *msg, void *usr)
static void skipTaskCallback (DtSimMessage *msg, void *usr)
static void setThresholdsCallback (DtSimMessage *msg, void *usr)
static void createVrfObjectCallback (DtSimMessage *msg, void *usr)
 These callbacks are registered on the simManagers Message executive.
static void deleteVrfObjectCallback (DtSimMessage *msg, void *usr)
static void deleteVrfObjectByIdCallback (DtSimMessage *msg, void *usr)
static void vrfObjectDeletedCallback (DtSimMessage *msg, void *usr)
static void orderOfBattleOpCallback (DtSimMessage *msg, void *usr)
static void aggregateAsCallback (DtSimMessage *msg, void *usr)
static void createVrfObjectPostDrainCallback (void *usr)
 These call a corresponding virtual (overrideable) function to do the actual work of handling the message (see the above functions starting with the word 'process', e.g.
static void deleteVrfObjectPostDrainCallback (void *usr)
static void deleteVrfObjectByIdPostDrainCallback (void *usr)
static void vrfObjectDeletedPostDrainCallback (void *usr)
static void orderOfBattleOpPostDrainCallback (void *usr)
static void aggregateAsPostDrainCallback (void *usr)
static void envProcessAddedCallback (DtReflectedEnvironmentProcess *envProcess, void *userData)
static void envProcessRemovedCallback (DtReflectedEnvironmentProcess *envProcess, void *userData)
static bool envProcessDiscoveryCriteria (DtReflectedObject *envProcess, void *userData)
static void organizationManagerReadyCallback (const DtOrganizationManagerReadyCallbackInfo &info, void *usr)
static void postInitFromParamsCallback (DtVrfObject *vrfObject, void *usr)
 Callback function used to possibly override a newly created entity's parameter values.
- Protected Attributes inherited from DtVrfObjectManager
DtRemoteComponentAttachmentManagerpMyRemoteComponentAttachmentManager
 List of components to attach to remote, non-vrf entities.
DtHashlist * mySimObjectList
 Hashlist of all DtVrfObject*s, keyed on DtEntityIdentifier.
DtReflectedExtEntityList * myRemoteEntitiesList
 VR-Link reflected entity list.
DtReflectedExtAggregateList * myRemoteAggregateEntitiesList
 VR-Link reflected aggregate list.
DtReflectedDesignatorList * myRemoteDesignatorsList
 VR-Link reflected designator list.
DtReflectedActiveSonarList * myRemoteActiveSonarList
DtReflectedPropulsionNoiseList * myRemotePropulsionNoiseList
DtVrfParameterDbmyParameterDatabase
 Parameter database used in creation and initialization of DtVrfObjects.
DtList myAboutToBeLoadedSimObjectCallbackList
 List of DtSimObjectListActivityCallbackFcn*s.
DtList myAboutToBeAddedSimObjectCallbackList
 List of DtSimObjectListActivityCallbackFcn*s.
DtList myAddedSimObjectCallbackList
 List of DtSimObjectListActivityCallbackFcn*s.
DtList myAboutToBeRemovedSimObjectCallbackList
 List of DtSimObjectListActivityCallbackFcn*s.
DtString mySimObjectType
 Type of DtSimObject to create. Types are defined in simObjectTypes.h.
DtSimObjectIteratormyIterator
DtExerciseConn * myExerciseConn
int myIndexSize
 All hash indices for our objects should be created this size.
DtManagedObjectListManagermyFilteredObjectListManager
DtVrfObjectFilterIteratormyVrfIterator
DtSimManagermySimManager
DtList myObjectsToRemoveQueue
 Objects queued for removal; processed each tick by removeObjectsQueuedForRemoval.
DtVrfObjectCreateQueue myObjectsToCreateQueue
DtVrfObjectModifyQueue myObjectsToModifyQueue
bool myAutoReorganizeFlag
 Automatic reorganization flag for pseudo-aggregate entities.
DtReflectedControlObjectList * myRemoteEnvironmentalsList
int myNameCounter
DtHashlist * myObjectNameHashlist
DtHashlist * myGlobalIdHashlist
DtOrganizationManagermyOrganizationManager
DtEchelonIdTablemyEchelonIdTable
DtDIGuyCharacterDataManagermyCharacterMgr
const Coordinate_System * myCoordinateSystemPtr
double myTimeToPublishNextStateUpdate
DtObjectGeometricModelsManagermyObjectModelsManager
DtSimInternalCommunicationManagermySimInternalCommunicationManager
DtVrfObjectPlanAdministratormyPlanAdministrator
DtNameChangedCallbackList myObjectNameChangedCallbackList
DtOrganizationReadyCallbackList myOrganizationManagerReadyCallbackList
DtConsoleCommandOwnermyConsoleCommands
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
static DtGetSelfCallbackInfo thePostGetSelfCallback
static DtPutSelfCallbackInfo thePrePutSelfCallback
static const DtVariableBindingsList theEmptyVariableBindingsList
static bool theCreatorFcnSet
static DtReaderWriterFactorytheFactory
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn

Constructor & Destructor Documentation

MyObjectManager::MyObjectManager ( DtSimManager simManager,
int  entityAdvisory 
)
virtual MyObjectManager::~MyObjectManager ( )
virtual
MyObjectManager::MyObjectManager ( DtSimManager simManager,
int  entityAdvisory 
)
virtual MyObjectManager::~MyObjectManager ( )
virtual

Member Function Documentation

virtual void MyObjectManager::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 DtVrfObject 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 from DtVrfObjectManager.

static DtVrfObjectManager* MyObjectManager::creator ( DtSimManager simManager,
int  entityAdvisory 
)
static
virtual bool MyObjectManager::init ( )
virtual

Initialization - must be called after create() and before any other member functions are called.

Sets the type of objects to create to DtVrfObjectType.

Reimplemented from DtVrfObjectManager.

static void MyObjectManager::testSettingsChangedCallback ( const DtSettingsObject settings,
void *  usr 
)
static
virtual void MyObjectManager::processTestSettingsChanged ( const DtTestSettings settings)
virtual
static void MyObjectManager::updateTestSettingsCallback ( DtSettingsObject settings,
void *  usr 
)
static
virtual void MyObjectManager::processUpdateTestSettings ( DtTestSettings settings)
virtual
static DtVrfObjectManager* MyObjectManager::creator ( DtSimManager simManager,
int  entityAdvisory 
)
static

Member Data Documentation

MySettingsManager* MyObjectManager::mySettingsManager
double MyObjectManager::myDoubleValue
bool MyObjectManager::myBoolValue

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

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)