VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
DtVrfObjectStateRepository Class Reference

Description: This repository holds all information that is common to all the forms of all entity/aggregate/control objects within VR-Forces. More...

Inheritance diagram for DtVrfObjectStateRepository:
Inheritance graph
[legend]

Public Types

typedef std::map< DtString,
DtString
ExtendedData
typedef std::map< int, DtStringExtendedLabels
typedef std::map< DtString,
std::map< DtString,
DtRwJoystickControl > > 
JoystickControls
 Controls by function group.

Public Member Functions

 DtVrfObjectStateRepository (DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 Constructor.
 DtVrfObjectStateRepository (const DtVrfObjectStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 Copy Constructor.
const DtVrfObjectStateRepositoryoperator= (const DtVrfObjectStateRepository &orig)
 Assignment Operator.
virtual ~DtVrfObjectStateRepository ()
 Destructor.
virtual
DtSimObjectStateRepository
clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
 Clone.
virtual DtString type () const
 returns DtSimObjectStateRepositoryType
virtual const int objectStateRepositorySubType () const
 Returns DtSimObjectStateRepositorySubTypeVrfObject.
virtual const int vrfObjectStateRepositorySubType () const
 Returns DtVrfObjectStateRepositorySubTypeBase.
virtual bool init ()
 Our 'virtual' constructor. Calls all the create<>() methods.
virtual bool createParameters ()
virtual void initializeFromParameters ()
virtual const
DtVrfObjectParameters
vrfParameters () const
virtual void setJoystickMovementControlled (bool)
 If true movement is controlled by joystick so will not be able to be taskable as a subordinate.
virtual bool joystickMovementControlled () const
virtual
DtVrfStateRepositoryUserExtension
userExtension () const
 User extension to state repository class.
virtual void restoreEntity ()
 Called on a setRestore command, sets destroyed to false and sets resources to initial (parameter file) levels.
virtual void restoreResourcesFromParameters ()
virtual bool inSOR (const DtVrfObject *entity) const
virtual const DtStringengagementRules () const
virtual void setEngagementRules (const DtString &engagementRules)
virtual bool isTasked () const
 Returns true if entity is currently executing a task (at least one component must be tasked), false otherwise.
virtual void clearCurrentTaskMsg (const DtSymbolString &componentName)
 Clear all the tasks with the specified component name.
virtual void clearCurrentTaskMsg (const DtSymbolString &componentName, int taskId)
 Clear the task with specified taskId and the specified component name.
virtual const DtTaskStatusListtaskStatusList () const
virtual DtTaskStatusListtaskStatusList ()
virtual DtSuspendedTaskStatusListsuspendedTaskStatusList ()
virtual DtTaskMessagecurrentTaskMsg (const DtSymbolString &componentName) const
 Get the current task message.
virtual DtTaskMessagecurrentTaskMsg (const DtSymbolString &componentName, int taskId) const
 Get the current task message for the specified component and task ID.
virtual std::list
< DtTaskMessage * > 
allCurrentTaskMsg (const DtSymbolString &componentName) const
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtReaderWriter::appPath())
 Top level call to write itself to file.
virtual bool placePoints (DtAttachedTerrain &attachedTerrain, std::vector< DtGroundInteractionPt * > groundInteractionPts, bool *terrainDataAvailable=0)
 Positions list of ground interaction points on the terrain surface closest to the specified location.
virtual void updateSupportPoints (const DtVector &newPosition, const DtReal newHeading)
 reading in a scenario, want to make sure the support points get set up properly.
virtual const
DtVrfObjectParameters
parameters () const
virtual DtVrfObjectParametersmodifiableParameters ()
 A modifiable local copy of parameters.
virtual void setupParameterInheritance ()
 Called by init().
virtual bool createAttachments ()
 Override to create derived DtVrfAttachmentManager.
void addPart (DtArticulatedPartStateRepository *part)
 These will be replaced by equivalents in the attachment manager.
void removePart (DtArticulatedPartStateRepository *part)
DtArticulatedPartStateRepositorypart (DtArtPartType partType)
DtArticulatedPartStateRepositoryfindDescendantByType (DtArtPartType childType)
bool isEntity () const
bool isLocal () const
bool isAggregate () const
void addSubordinate (DtVrfObject *subordinateEntity)
 Adds an entity as a subordinate.
void removeSubordinate (DtVrfObject *subordinateEntity)
 Removes entity from our list of subordinates.
virtual DtSharedVrfObjectReference leadEntity () const
virtual DtSharedVrfObjectReference firstSubordinate () const
virtual DtSharedVrfObjectReference lastSubordinate () const
virtual DtSharedVrfObjectReference firstHealthySubordinate () const
virtual void tick ()
 This method is called each simulation frame, and may include any processing that needs to be done on this object state each tick.
virtual void timedTick ()
 This version of tick checks to see if the time to tick has arrived (myNextTickTime <= exerciseClock()->approximateElapsedRealTime()).
virtual void setMinTickPeriod (double minTickPeriod)
 specifies a minimum tick period (which can also be thought of as
virtual double minTickPeriod () const
 access the minimum tick period
virtual void setMinTickPeriodVariance (double minTickPeriodVariance)
 set the variance in the minimum tick time
virtual double minTickPeriodVariance () const
 access the variance in the minimum tick period
virtual void setNextTickTime (double nextTickTime)
 The next tick time is normally calculated internally.
virtual double nextTickTime () const
 access the next tick time
virtual double calculateNextTickTime () const
 The next tick time is equal to mySimManager->exerciseClock()-> approximateElapsedRealTime() + myMinTickPeriod + a random # between -myMinTickPeriodVariance/2.
virtual bool createSubordinates ()
virtual DtVrfSubordinateManagervrfSubordinates ()
virtual const
DtVrfSubordinateManager
vrfSubordinates () const
virtual bool createProcessStateRepositoryManager ()
virtual const DtTaitBryan & localOrientationWrtDatabase () const
 Euler angles with respect to the local (database) coordinate system, in radians.
virtual void setLocalOrientationWrtDatabase (const DtTaitBryan &localOrientation)
virtual DtVrfWeaponPSRfirstWeaponPSR () const
 This is provided for backward compatibility with setTarget capabilities.
virtual void processObjectGeometry (const DtList &vertices)
 Processes a list of DtVectors, such as might come in a create or modify message.
virtual void processObjectGeometry (const DtLocalVertexList &vertices)
virtual void processObjectGeometry ()
 This form allows processObjectGeometry()'s bounding volume calculations to be done on it's current geometry (by making a copy first).
virtual const
DtVrfObjectParameters
vrfBaseParameters () const
virtual DtGroundInteractionPtgroundCenter ()
virtual const
DtGroundInteractionPt
groundCenter () const
virtual const DtVectorgetPartAttachPoint (const int partType) const
virtual void place (const DtVector &location, bool *dataAvailable=0, bool requireAllData=false)
 Place entity at 'location', on the ground, keeping its current heading.
virtual void place (const DtReal heading, bool *dataAvailable=0, bool requireAllData=false)
 Give entity the specified 'heading', but stay at its current location.
virtual void place (const DtVector &location, const DtReal heading, bool clampToGroundFlag=true, bool *dataAvailable=0, bool requireAllData=false)
 Place entity at specified 'location' and 'heading' on the ground.
virtual void updatePositionFromModelVertices ()
 Note that this is not currently ever called.
virtual void updateBVolFromModelVertices ()
virtual DtReal mass () const
virtual void setMass (const DtReal mass)
virtual const
DtArticulatedPartCollection * 
artPartList () const
 Get the list of articulated parts specified in the component descriptor.
virtual void createParts ()
 This causes the art part tree to be created.
virtual DtTime lastTimeFiredUpon () const
virtual void setLastTimeFiredUpon (const DtTime time)
virtual bool underFire () const
virtual void setUnderFire (bool underFire)
virtual DtDeadReckonTypes deadReckoningAlgorithm () const
virtual void setDeadReckoningAlgorithm (DtDeadReckonTypes deadReckoningAlgorithm)
virtual void putData (std::string &fp, int indentLevel=0)
 Override putData to set myParent using the organization manager before saving.
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 Override getSelf to handle mapping of old pre-2.0 oob files.
virtual int nextTaskId ()
 Returns next unique task id for this entity.
virtual int nextSuspendId ()
virtual DtTaskMessagependingSubtask (int subtaskId, DtString &controller) const
 Returns the current subtask with the specified id.
virtual bool taskedBySuperiorUponTaskComplete () const
 Returns true if entity should automatically resume being tasked by superior upon completion of its current top-level task, false otherwise.
virtual void setParentWasDestroyedWhenEmbarked (bool)
virtual bool parentWasDestroyedWhenEmbarked () const
virtual void detachFromParent ()
virtual void attachToParent (DtSimObjectStateRepository *parent)
 Adds this state repository to the given parent's list of attached state repositories and updates myAttachedToRepository and myRootSimStateRepository.
virtual void attachToParent (const DtUUID &parent)
 Looks up the parent state repository using the given echelon ID and puts it in a call to attachToParent.
virtual void addAttachedTerrain (const DtUUID &parent)
 Asks the sim manager to look up the object model for the requested database.
virtual void removeAttachedTerrain (const DtUUID &parent)
 Decreases reference count of terrain model by name of object.
Dt3dBoundingVolume * boundingVolume () const
 Convenience method for accessing entity's bounding volume, stored in myObjectGeometry.
DtVector localBoundingVolumeCenterPosition () const
 Gets the local coordinates of the bounding volume center.
DtReal forwardSpeed () const
virtual void restoreStateProperties ()
 Restores state properties to their default settings.
virtual void initStatePropertiesNotToBeRestored ()
 Initializes the list of state properties which should not be restored.
virtual void addRangeItem (const DtRangeItem &)
 Adds, removes and returns items in the range item list.
virtual void removeRangeItem (int index)
virtual void setRangeItems (const DtRangeItems &)
const DtRangeItemsrangeItems () const
DtRangeItemsrangeItems ()
virtual void clearRangeItems ()
DtAttachedTerrainterrainAttachedTo () const
virtual boost::tribool onTerrainSurface () const
virtual double sensorSignature (const DtSymbolString &sensorDomain) const
 Returns the current absolute signature for this object in the specified sensor domain.
virtual std::list< DtSymbolStringsensorSignatureDomains () const
virtual DtString stringFromExtendedData (const DtString &) const
 Takes the extended data string, and, if xml, will pretty print and remove the quotes from the created reader/writer else just return the string.
virtual
DtVrfObjectStateRepository
toVrfObjectStateRepository ()
virtual const
DtVrfObjectStateRepository
toVrfObjectStateRepository () const
virtual void setExtendedData (const DtString &key, const DtString &value)
virtual void clearExtendedData ()
virtual void removeExtendedData (const DtString &key)
virtual DtString extendedData (const DtString &key) const
const ExtendedDataextendedDataMap () const
virtual void setExtendedDataMap (const ExtendedData &)
virtual void setExtendedDataMap (const std::map< std::string, std::string > &)
virtual void setupExtendedDataFromParameterData ()
 If publishing parameter data also include that in the extended data map by name.
virtual void setExtendedLabel (int, const DtString &value)
virtual void clearExtendedLabels ()
virtual DtString extendedLabel (int index) const
virtual ExtendedLabels extendedLabels () const
virtual void setExtendedLabels (const ExtendedLabels &)
virtual void addJoystickControls (const DtRwJoystickControls &)
virtual const JoystickControlsjoystickControls () const
virtual void setActivity (const DtString &)
virtual DtString activity () const
virtual const
DtObjectResourceManager
objectResourceManager () const
virtual DtObjectResourceManagerobjectResourceManager ()
Legacy Resources

These methods access the resource manager in the way it was accessible in VR-Forces 3.10 and earlier.

In VR-Forces 3.11, the prefix "old" was added to these method names, but their functionality remains the same. using the objectResourceManager() methods, or accessing the resource manager from the components is now the preferred method.

virtual const
DtSimResourceManager
oldResourceManager () const
 Returns a reference to our resource manager.
virtual DtSimResourceManageroldResourceManager ()
 Returns a reference to our resource manager.
virtual DtSimResourceoldLookupResource (const DtString &resourceName)
 Gets a pointer to the resource named resourceName.
virtual const DtSimResourceoldLookupResource (const DtString &resourceName) const
 Returns a reference to our resource manager.
virtual void oldAddResource (DtSimResource *resource)
 This does a clone of the resource and puts it on our main list, as well as adding the resource to the hash index.
virtual void oldRemoveResource (DtSimResource *resource)
 This removes and deletes the specified resource.
virtual void setSOR (DtReal center, DtReal size)
 Sector of responsibility.
virtual DtReal SORSize () const
 Sector of responsibility.
virtual DtReal SORCenter () const
 Sector of responsibility.
virtual const DtSimSectorSOR () const
 Sector of responsibility.
virtual void setRequestTaskNeeded (bool value)
 Set/get whether or not this needs to send a request task needed message.
virtual bool requestTaskNeeded () const
 Set/get whether or not this needs to send a request task needed message.
virtual void setTasked (const DtSymbolString &componentName, bool tasked)
 Set/get whether or not a given entity component currently executing a task.
virtual void setTasked (const DtSymbolString &componentName, int taskID, bool tasked)
 Set/get whether or not a given entity component currently executing a task.
virtual bool tasked (const DtSymbolString &componentName) const
 Set/get whether or not a given entity component currently executing a task.
virtual void setCurrentTaskMsg (const DtSymbolString &componentName, const DtTaskMessage &taskMsg)
 Set the current task message.
virtual void setCurrentTaskMsg (const DtSymbolString &componentName, const DtTaskMessage &taskMsg, int taskId)
 Set the current task message.
virtual void setIndependentlyTasked (bool value)
 Set/get whether or not this entity is currently independently tasked (separately from its unit).
virtual bool independentlyTasked () const
 Set/get whether or not this entity is currently independently tasked (separately from its unit).
virtual const
DtVrfObjectParameters
parameterEntry () const
 If a clone has been created, this call will return the cloned entry as a const pointer, else returns the original pointer.
virtual void setParameterEntry (DtVrfObjectParameters *parameterEntry)
 If a clone has been created, this call will return the cloned entry as a const pointer, else returns the original pointer.
virtual DtForceType forceType () const
 Get/Set the force type (team) of this entity.
virtual void setForceType (DtForceType force)
 Get/Set the force type (team) of this entity.
virtual bool createAppearance ()
 Encapsulates all the appearance related data and methods currently in the entity state repository.
virtual const DtAppearance * appearance () const
 Encapsulates all the appearance related data and methods currently in the entity state repository.
virtual DtAppearance * appearance ()
 Encapsulates all the appearance related data and methods currently in the entity state repository.
virtual void setCapabilities (int cap)
 Gets/sets capabilities of entity This is treated as the DIS capabilities bit field, and does not necessarily change any behaviors of the object.
virtual int capabilities () const
 Gets/sets capabilities of entity This is treated as the DIS capabilities bit field, and does not necessarily change any behaviors of the object.
void setDestroyed (bool isDestroyed)
 Destroyed status of entity (whether or not appearance()->damageState() is set to DtDamageDestroyed).
bool isDestroyed () const
 Destroyed status of entity (whether or not appearance()->damageState() is set to DtDamageDestroyed).
DtReal healthPct () const
void setHealthPct (DtReal pct)
bool firePowerKilled () const
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
void setFirePowerKilled (const bool firePowerKilled)
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
bool mobilityKilled () const
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
void setMobilityKilled (const bool mobilityKilled)
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
bool flaming () const
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
void setFlaming (const bool flaming)
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
bool smoking () const
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
void setSmoking (const bool smoking)
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
virtual DtVrfSubordinateManagersubordinates ()
virtual const
DtVrfSubordinateManager
subordinates () const
virtual DtSimManagersimManager ()
virtual const DtSimManagersimManager () const
virtual DtPhysicalWorldphysicalWorld ()
virtual const DtPhysicalWorldphysicalWorld () const
virtual const
DtVrfProcessStateRepositoryManager
systemProcessStateRepositoryManager () const
virtual
DtVrfProcessStateRepositoryManager
systemProcessStateRepositoryManager ()
virtual const DtThresholder & deadReckoningThresholder () const
 Dead-reckoning threshold parameters.
virtual void setDeadReckoningThresholder (const DtThresholder &thresholder)
 Dead-reckoning threshold parameters.
virtual const DtEntityIdentifier & occupyingObjectId () const
 We hold the id of the object we are occupying.
virtual void setOccupyingObjectId (const DtEntityIdentifier &objId)
 We hold the id of the object we are occupying.
virtual void setEchelonId (const DtEchelonId &echelonId)
 The echelon ID of this object, if it is an organized object.
virtual DtEchelonIdechelonId ()
 The echelon ID of this object, if it is an organized object.
virtual const DtEchelonIdechelonId () const
 The echelon ID of this object, if it is an organized object.
virtual void setIsSubordinateOfForceLevel (bool yesNo)
 Indicates if this object's direct superior is a Force level object.
virtual bool isSubordinateOfForceLevel () const
 Indicates if this object's direct superior is a Force level object.
virtual int spawningTaskId (int subtaskId) const
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void addPendingSubtaskId (const DtSymbolString &componentName, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void addPendingSubtaskId (const DtSymbolString &componentName, int taskId, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual bool findPendingSubtaskId (const DtSymbolString &componentName, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual bool isSubtasked (const DtSymbolString &componentName) const
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual bool findPendingSubtaskId (const DtSymbolString &componentName, int taskId, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void removePendingSubtaskId (const DtSymbolString &componentName, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void removePendingSubtaskId (const DtSymbolString &componentName, int taskId, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void removeAllPendingSubtaskIds (const DtSymbolString &componentName)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void removeAllPendingSubtaskIds (const DtSymbolString &componentName, int taskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void printPendingSubtaskIds (const DtSymbolString &componentName) const
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual std::vector< int > currentPendingSubstaskIds (const DtSymbolString &componentName) const
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual std::vector< int > currentPendingSubstaskIds (const DtSymbolString &componentName, int taskId) const
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual DtSubtaskStatusEntrypendingSubtaskStatus (const DtSymbolString &componentName, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual DtSubtaskStatusEntrypendingSubtaskStatus (const DtSymbolString &componentName, int taskId, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
DtReal currentSpeed () const
 Returns magnitude of relative velocity in state repository.
DtReal currentHeading () const
 Heading in radians. Calls down to DtVrfKinematicState for heading.
void setCurrentHeading (const DtReal heading)
 Heading in radians. Calls down to DtVrfKinematicState for heading.
virtual void addPostInitFromParamsCallback (DtPostInitializeFromParametersCallbackFcn fcn, void *usr)
 Add/remove callback function to be invoked immediately following execution of initializeFromParameters.
virtual void removePostInitFromParamsCallback (DtPostInitializeFromParametersCallbackFcn fcn, void *usr)
 Add/remove callback function to be invoked immediately following execution of initializeFromParameters.
virtual DtRwPropertiesstateProperties ()
 Accesses to the properties.
virtual const DtRwPropertiesstateProperties () const
 Accesses to the properties.
virtual DtRwPropertiesparameterProperties ()
 Access to static (parameter) properties.
virtual const DtRwPropertiesparameterProperties () const
 Access to static (parameter) properties.
virtual DtSensorContactInfoListobjectContactList ()
 Situational awareness of this object.
virtual const
DtSensorContactInfoList
objectContactList () const
 Situational awareness of this object.
- Public Member Functions inherited from DtSimObjectStateRepository
 DtSimObjectStateRepository (DtVrfObject *simObject, const DtObjectType &objectType, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
const DtSimObjectStateRepositoryoperator= (const DtSimObjectStateRepository &orig)
virtual ~DtSimObjectStateRepository ()
virtual const DtObjectTypeobjectType () const
virtual void setObjectType (const DtObjectType &objectType)
virtual bool createKinematicState ()
 Creates a DtVrfKinematicState.
virtual DtVrfKinematicStatevrfKinematicState ()
virtual const DtVrfKinematicStatevrfKinematicState () const
virtual bool createObjectGeometry ()
virtual DtVrfObjectGeometryvrfObjectGeometry ()
virtual const DtVrfObjectGeometryvrfObjectGeometry () const
virtual DtAttachmentManagerattachments ()
virtual const DtAttachmentManagerattachments () const
virtual
DtSimObjectStateRepository
parent ()
virtual const
DtSimObjectStateRepository
parent () const
virtual bool isEmbarkedOn (const DtUUID &parent) const
virtual const DtUUIDattachedToRepository ()
virtual
DtSimObjectStateRepository
findRootSimStateRepository ()
virtual const
DtSimObjectStateRepository
findRootSimStateRepository () const
virtual void ancestorObjectChanged ()
virtual void preGetSelf ()
 Hook function called immediately prior to getSelf().
virtual void postGetSelf ()
 Hook function called immediately following getSelf().
virtual void setCoordinateSystem (const Coordinate_System *coordinateSystem)
 Sets the coordinate system in myObjectGeometry and myKinematicState.
virtual DtVrfObjectvrfObject ()
virtual const DtVrfObjectvrfObject () const
virtual void setVrfObject (DtVrfObject *vrfObject)
virtual DtSimKinematicStatekinematicState ()
virtual const DtSimKinematicStatekinematicState () const
virtual DtVrfObjectGeometryobjectGeometry ()
virtual const DtVrfObjectGeometryobjectGeometry () const
virtual const DtVectorbodyPosition () const
 Now superseded by kinematic state parentCS functions.
virtual void setBodyPosition (const DtVector &pos)
 Formerly setMeInParent.
virtual void setBodyPosition (DtFloat64 x, DtFloat64 y, DtFloat64 z)
const DtDcm & bodyOrientationMatrix () const
 Formerly meToParent().
virtual void embarkOnParent (const DtUUID &parent)
 Embarks this entity on the specified parent.
virtual bool leftOf (const DtVector &localVector) const
virtual bool inside (const DtVector &point) const
virtual double distanceToLocalVector (const DtVector &localVector) const
 Returns the distance from a position in local.
const Coordinate_SystemcoordinateSystem () const
virtual void removeVertex (int iIndex)
 These routines simply call down to the kinematic state to get/set the results.
virtual void addLocalVertex (const DtVector &vertex)
 These routines simply call down to the kinematic state to get/set the results.
virtual void addLocalVertex (const DtVector &vertex, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual void setLocalVertices (const DtLocalVertexList &vertices, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual void setLocalVertices (const DtList &vertices, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual const DtLocalVertexListlocalVertices () const
 These routines simply call down to the kinematic state to get/set the results.
virtual const
DtLocalVectorIterator
localVertexIterator () const
 These routines simply call down to the kinematic state to get/set the results.
virtual void addWorldVertex (const DtVector &vertex, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual void setWorldVertices (const DtVertexList &vertices, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual void setWorldVertices (const DtList &vertices, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual const DtVertexListworldVertices () const
 These routines simply call down to the kinematic state to get/set the results.
virtual const DtRwVectorIteratorworldVertexIterator () const
 These routines simply call down to the kinematic state to get/set the results.
virtual void setRelativeVertices (const DtLocalVertexList &vertices)
 Access/modify vertices relative to to the parent to which this object is attached.
virtual void setRelativeVertices (const DtList &vertices)
 Access/modify vertices relative to to the parent to which this object is attached.
virtual const DtLocalVertexListrelativeVertices () const
 Access/modify vertices relative to to the parent to which this object is attached.
virtual const
DtLocalVectorIterator
relativeVertexIterator () const
 Access/modify vertices relative to to the parent to which this object is attached.
const DtVectorlocalPosition () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalPosition (const DtVector &pos)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorlocalVelocity () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalVelocity (const DtVector &vel)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorlocalAcceleration () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalAcceleration (const DtVector &acc)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorrelativeVelocity () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setRelativeVelocity (const DtVector &vel)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorrelativeAcceleration () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setRelativeAcceleration (const DtVector &acc)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtTaitBryan & localOrientation () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalOrientation (const DtTaitBryan &angles)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorworldPosition () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setWorldPosition (const DtVector &pos)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorworldVelocity () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setWorldVelocity (const DtVector &vel)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorworldAcceleration () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setWorldAcceleration (const DtVector &acc)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtTaitBryan & worldOrientation () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setWorldOrientation (const DtTaitBryan &angles)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorrotationalVelocity () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setRotationalVelocity (const DtVector &rotationalVelocity)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtDcm & localOrientationMatrix () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalOrientationMatrix (const DtDcm &orient)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
- 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)
 pseudo-copy constructor
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator
bool operator== (const DtReaderWriter &) const
 Equivalence operator.
bool operator!= (const DtReaderWriter &rhs)
virtual ~DtReaderWriter ()
 destructor
virtual void postPutSelf ()
 Called after either version of put self (file or environment). Default is no-op.
virtual void prePutSelf ()
 Called before either version of put self (file or environment). Default is no-op.
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Top level to read itself from an input stream.
virtual void writeSelf (std::string &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 void addAlias (const DtString &alias)
virtual bool hasAlias (const DtSymbolString &alias)
virtual const aliasContaineraliases () const
virtual void setReadonly (bool flag)
 Set read-only flag.
bool isReadonly () const
virtual void reset ()
 For those reader/writer items that support it, resets the reader/writer value to iriginal state Default is no-op.
virtual int alignment () const
 For those items that are sent over the network via HLA, this will give the network alignment.
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 const charreaderWriterType () const
 Used to supply a string type that this reader writer type is.
virtual const charxmlType () const
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable.
std::string debugText () const
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 bool hasVariableReference () const
 Returns true if this item or any item in the registry (recursive) is a variable reference.
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 Checks to see if this RW object is a variable reference that can be bound using the provided bindings.
virtual void recordUpdateTime () const
 Can be implemented in subclasses to stamp the time when updated.
virtual bool wasUpdatedSince (DtTime t) const
 Can be implemented in subclasses to return true if an update occurred after the specified time.
virtual DtlObjPtr getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 Deriving class overrides these to get/put class specific data.
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.
virtual const DtReaderWriterdefaultRWValue () const
 The default value to use if the reader/writer object is a variable and that variable is not specified.
virtual DtReaderWriterdefaultRWValue ()
 The default value to use if the reader/writer object is a variable and that variable is not specified.
virtual void setDefaultRWValue (DtReaderWriter *)
 Previous default value, if exists, will be removed and replaced with a clone of the supplied variable.
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Give the stream, if the stream contains a default value then set it here.
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object.
DtReaderWriterRegistryregistry ()
 Collection of child DtReaderWriter nodes owned by this object.
virtual DtPropertyInterfaceproperty ()
virtual const DtPropertyInterfaceproperty () const
virtual DtString toXml () const
virtual bool toXml (const DtFilename &) const
 Writes contents of xml result to the given filename.
virtual bool fromXml (const DtString &)
 Restores object from given xml string. Returns true if valid.
virtual bool fromXmlFile (const DtFilename &)
 Restires object from given xml file.
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 Override to add attributes of actual data.
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 Called when the item is a variable reference.
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 Gets data from the environment value.
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 Called when the xml reader tries to parse an unknown reader/writer item. Default is a no-op.
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 Called when the item is a variable reference.

Static Public Member Functions

static DtVrfObjectStateRepositorycreateRepository (const DtString &name, const DtString &type, DtVrfObject *simObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry=0)
 Creates a new state repository object, using the factory.
static void addSimObjectStateRepositoryCreatorFcn (const DtString &type, DtSimObjectStateRepositoryCreatorFcn fcn)
static DtVrfObjectStateRepositorycreator (const DtString &name, DtVrfObject *simObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry)
static DtVrfObjectStateRepositoryisVrfObjectStateRepository (DtSimObjectStateRepository *repository)
static const
DtVrfObjectStateRepository
isVrfObjectStateRepository (const DtSimObjectStateRepository *repository)
static
DtSimObjectStateRepositoryFactory
factory ()
 a DtSimObjectStateRepositoryFactory is allocated by the DtSimCreator, and this pointer is set.
static void setFactory (DtSimObjectStateRepositoryFactory *factory)
 a DtSimObjectStateRepositoryFactory is allocated by the DtSimCreator, and this pointer is set.
- Static Public Member Functions inherited from DtSimObjectStateRepository
static void completeAttachmentCallback (DtVrfObject *simObject, void *usr)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.
static DtSimObjectStateRepositoryisSimObjectStateRepository (DtSimObjectStateRepository *repository)
static const
DtSimObjectStateRepository
isSimObjectStateRepository (const DtSimObjectStateRepository *repository)
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
static const
DtVariableBindingsList
nullVariableReference ()
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
static void setPutIndent (bool)
static bool putIndent ()
static const chartheXmlType ()
 The type that is used when archiving to an XML stream.
static const DtFilename & appPath ()
 Gets the current working directory.
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 Sets the function to create the DtReaderWriterFactory.
static void createReaderWriterFactory ()
static void cleanupFactory ()
static DtReaderWritercreateFromXmlFile (const DtFilename &)
 Given a filename, returns a newly created reader/writer object from the object found within.
static DtReaderWritercreateFromXml (const DtString &)
 Given a xml string, returns a newly created reader/writer object from the object found within.
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP)
 Given a xml environment, returns a newly created reader/writer object from the object found within.
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 Gets the named attribute from a DtEnvValueSP.
- Static Public Member Functions inherited from DtObjectDebugger< DtReaderWriter >
static DtObjectCounter::CounterType ObjectCount ()
static const DtObjectContainer * ObjectContainer ()

Protected Types

typedef std::list
< DtSignatureModifierEvaluator * > 
DtSignatureModifierEvalList
typedef std::map
< DtSymbolString,
DtSignatureModifierEvalList * > 
DtSignatureModifierEvalMap
typedef
tbb::concurrent_hash_map
< unsigned int, double > 
DtSensorSignatureCacheMap
typedef std::pair
< DtPostInitializeFromParametersCallbackFcn,
void * > 
DtPostInitializeFromParametersInfo
typedef std::list
< DtPostInitializeFromParametersInfo
DtPostInitializeFromParametersCallbackList

Protected Member Functions

 DtVrfObjectStateRepository ()
 Default Constructor. Do not use.
virtual void initializeNextTaskId ()
 Initializes myNextTaskId to the next highest integer than the highest subtask Id currently maintained in myTaskStatusList.
virtual void setOrientationRelativeToParent ()
 If attached to a parent, and a terrain database is present, set orientation relative to parent.
virtual DtAttachedTerraincreateAttachedTerrain ()
virtual
DtArticulatedPartStateRepository
createArtPartStateRepository (DtVrfObject *vrfObject, const DtObjectType &objectType, const DtString &rwName=DtString::nullString())
 Returns new instance of a DtArticulatedPartStateRepository.
virtual double baseSensorSignature (const DtSymbolString &sensorDomain) const
virtual double modifySensorSignature (const DtSymbolString &sensorDomain, double baseSignature) const
 Modifies the supplied baseSignature using the signatureModifiers for the specified sensor domain.
virtual bool initSignatureEvaluators ()
 Sets up all the sensor signature evaluators in mySignatureEvalMap based on the parameter entry for this entity.
void clearSignatureEvaluators ()
 Removes and deletes all signature evaluators.
virtual bool createObjectResourceManager ()
 Creates and sets myObjectResourceManager.
virtual void invokePostInitFromParamsCallbacks ()
 Invokes all callbacks registered via a call to addPostInitFromParamsCallback.
- Protected Member Functions inherited from DtSimObjectStateRepository
 DtSimObjectStateRepository (const DtSimObjectStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 DtSimObjectStateRepository ()
 Default Constructor; not implemented.
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 Copies values from the specified DtReaderWriter.
- Protected Member Functions inherited from DtObjectDebugger< DtReaderWriter >
 DtObjectDebugger ()
 DtObjectDebugger (const DtObjectDebugger &)
 ~DtObjectDebugger ()

Static Protected Member Functions

static bool visibilityFilter (const DtVrfObject *object, void *usr)
 Used by isVisible to determine which objects can block visibility.

Protected Attributes

DtVrfStateRepositoryUserExtensionmyStateRepositoryUserExtension
DtRwAppearancemyAppearance
DtRwInt myCapabilities
DtRwForceType myForceType
DtVrfSubordinateManagermySubordinates
 each of these has_a DtSubObjectManager
DtRwUUID myParent
 if this object is a subordinate, this is used to write out the name of the parent
DtVrfProcessStateRepositoryManagermySystemProcessSRManager
DtLegacyProcessStateRepositoryManagermyLegacyPSRManager
 Used only to read in scenarios from pre VRF 3.11.
DtSimManagermySimManager
DtGroundInteractionPt myGroundCenter
bool myUnderFire
 Under fire parameters.
DtTime myLastTimeFiredUpon
DtRwInt mySuppressionLevel
 The current enumerated level of suppression, derived from the value.
DtReal myMass
DtDeadReckonTypes myDeadReckoningAlgorithm
DtThresholder myDeadReckoningThresholder
DtEntityIdentifier myOccupyingObjectId
DtArticulatedPartCollection myArtPartList
 This is created in createParts, and kept around to make setup of the network repository easier.
DtManagedObjectListConstPtr myVisibilityFilterList
 Shared list of visibility blocking objects.
DtRwVector myLocalPosition
 For backward compatibility with pre-2.0 VR-Forces oob files Registered as read-only, so they do not get written out to new oob files.
DtRwTaitBryan myLocalOrientation
DtRwBoolean myIsDestroyedFlag
DtEchelonId myEchelonId
DtRwBoolean myIsSubordinateOfForceLevel
DtRwInt myDesignator
 myDesignator is used for reading and writing only and is not valid at runtime.
DtRwBoolean myIndependentlyTasked
DtSimResourceManager myResourceManager
 This resource manager is used for all the top-level resource only.
DtObjectResourceManagermyObjectResourceManager
DtRwString myEngagementRules
DtSimSector mySectorOfResponsibility
 These really apply to a single weapon, and should be part of a weapon controller/actuator suite of some sort.
DtRwBoolean myRequestTaskNeeded
 Moved here from the DtLocalTaskManager class.
DtTaskStatusList myTaskStatusList
 Contains the myTasked and myCurrentTaskMsg members from the DtTaskControllerComponent class.
DtSuspendedTaskStatusList mySuspendedTaskStatusList
DtRwInt myNextTaskId
 The next available ID that can be assigned to a task for this entity.
DtRwInt myNextSuspendId
DtRwBoolean myParentWasDestroyedWhenEmbarked
 Set to true when the entity is embarked on a destroyed parent so they do not become destroyed.
const DtVrfObjectParametersmyParameterEntry
 For performance and memory usage reasons, the copy of the parameter entry that used to be made when creating a state repository is no longer made when the state repository is initialized.
DtVrfObjectParametersmyParameters
 this is the parameter entry that this repository created.
double myMinTickPeriod
 For variable tick rate support.
double myMinTickPeriodVariance
double myNextTickTime
double myLastTickSimTime
DtAttachedTerrainmyTerrainAttachedTo
DtSignatureModifierEvalMap mySignatureModifierEvalMap
 Map which holds a set of lists of signature modifier evaluators indexed by sensor domain.
DtSensorSignatureCacheMap myMutableSensorSignatureCacheMap
 Maintains the current sensor signature (indexed by sensor domain) for this entity.
DtSensorContactInfoList myObjectContactList
 The situational awareness of this object.
DtPostInitializeFromParametersCallbackList myPostInitFromParamsCallbackList
DtRangeItems myRangeItems
 Range item information.
std::vector< DtRangeItemmyFixedRangeItems
DtRwProperties myStateProperties
 Additional properties that are part of this state repository.
DtRwProperties myParameterProperties
ExtendedData myExtendedData
DtRwStringAttributeList myRwExtendedData
std::vector< DtStringmyStatePropertiesNotToBeRestored
 The list of state properties that should not be updated by restoreStateProperties.
tbb::mutex myEvaluateSensorSignatureMutex
JoystickControls myJoystickControls
 Map of available joystick controls for this particular entity.
bool myJoystickMovementControlled
 If true movement is controlled by joystick so will not be able to be taskable as a subordinate.
std::set
< DtArticulatedPartStateRepository * > 
myArtParts
- Protected Attributes inherited from DtSimObjectStateRepository
DtVrfObjectmySimObject
DtRwObjectType myObjectType
DtVrfObjectGeometrymyObjectGeometry
DtVrfKinematicStatemyKinematicState
DtAttachmentManagermyAttachments
DtSimObjectStateRepositorymyAttachedToRepository
DtRwUUID myAttachedToRepositoryUUID
 used for reading & writing the name of myAttachedToRepository
DtSimObjectStateRepositorymyRootSimStateRepository
const Coordinate_SystemmyCoordinateSystemPtr
 Caches pointer to coordinate system so it can set it after myKinematic state is created.
DtKinematicStateCSmyEmbarkedKinematicState
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
DtReaderWriterRegistry myRegistry
DtReaderWriterRegistrymyParentRegistry
bool myValueSpecified
bool myReadOnlyFlag
bool myIsVariableReference
DtSymbolString myVariableName
bool myVariableIsBound
DtReaderWritermyDefaultValue
aliasContainer myAliases
 Container for the aliases which represent alternative names for the object.
bool myInvalid
 Set to true if there is a problem reading this item.

Static Protected Attributes

static
DtSimObjectStateRepositoryFactory
theFactory
virtual bool processCompleteAttachment (DtVrfObject *)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.
virtual void processObjectAboutToBeRemovedCallback (DtVrfObject *vrfObject)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.
static void objectAboutToBeRemovedCallback (DtVrfObject *vrfObject, void *usr)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.
enum  suppressionLevels { DtNoSuppression = 0, DtSuppressed1 = 1, DtSuppressed2 = 2, DtSuppressed3 = 3 }
 The current suppression level. More...
virtual suppressionLevels suppressionLevel () const
 The current suppression level.
virtual void setSuppressionLevel (const suppressionLevels l)
 The current suppression level.
virtual bool isSuppressed () const
 The current suppression level.
virtual void processTaskComplete (const DtVrfObjectMessage *msg)
 Handles state changes for the subtask status list.
static void taskCompleteCallback (const DtVrfObjectMessage *msg, void *usr)
 Handles state changes for the subtask status list.

Detailed Description

Description: This repository holds all information that is common to all the forms of all entity/aggregate/control objects within VR-Forces.

Member Typedef Documentation

Controls by function group.

typedef tbb::concurrent_hash_map<unsigned int, double> DtVrfObjectStateRepository::DtSensorSignatureCacheMap
protected

Member Enumeration Documentation

The current suppression level.

An enumeration with 4 values. Determined from suppression value in the suppression actuator component.

Enumerator:
DtNoSuppression 
DtSuppressed1 
DtSuppressed2 
DtSuppressed3 

Constructor & Destructor Documentation

DtVrfObjectStateRepository::DtVrfObjectStateRepository ( )
protected

Default Constructor. Do not use.

DtVrfObjectStateRepository::DtVrfObjectStateRepository ( DtVrfObject vrfObject,
const DtObjectType objectType,
DtVrfObjectParameters parameters,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)

Constructor.

DtVrfObjectStateRepository::DtVrfObjectStateRepository ( const DtVrfObjectStateRepository orig,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)

Copy Constructor.

virtual DtVrfObjectStateRepository::~DtVrfObjectStateRepository ( )
virtual

Destructor.

Member Function Documentation

const DtVrfObjectStateRepository& DtVrfObjectStateRepository::operator= ( const DtVrfObjectStateRepository orig)

Assignment Operator.

virtual DtSimObjectStateRepository* DtVrfObjectStateRepository::clone ( const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
) const
virtual
virtual DtString DtVrfObjectStateRepository::type ( ) const
virtual
virtual const int DtVrfObjectStateRepository::objectStateRepositorySubType ( ) const
virtual

Returns DtSimObjectStateRepositorySubTypeVrfObject.

Reimplemented from DtSimObjectStateRepository.

virtual const int DtVrfObjectStateRepository::vrfObjectStateRepositorySubType ( ) const
virtual

Returns DtVrfObjectStateRepositorySubTypeBase.

Reimplemented in DtVrfOverlayObjectStateRepository, and DtVrfMovingObjectStateRepository.

virtual bool DtVrfObjectStateRepository::init ( )
virtual
virtual bool DtVrfObjectStateRepository::createParameters ( )
virtual
virtual void DtVrfObjectStateRepository::initializeFromParameters ( )
virtual
virtual const DtVrfObjectParameters* DtVrfObjectStateRepository::vrfParameters ( ) const
virtual
virtual void DtVrfObjectStateRepository::setJoystickMovementControlled ( bool  )
virtual

If true movement is controlled by joystick so will not be able to be taskable as a subordinate.

virtual bool DtVrfObjectStateRepository::joystickMovementControlled ( ) const
virtual
virtual DtVrfStateRepositoryUserExtension* DtVrfObjectStateRepository::userExtension ( ) const
virtual

User extension to state repository class.

Users can override the creation of this object to extend the state repository class at a base class level. Specify the kind of state repository user extension to create in the DtVrfObjectParameters object.

virtual void DtVrfObjectStateRepository::restoreEntity ( )
virtual

Called on a setRestore command, sets destroyed to false and sets resources to initial (parameter file) levels.

Reimplemented in DtRotaryWingEntityStateRepository, and DtFixedWingEntityStateRepository.

virtual void DtVrfObjectStateRepository::setExtendedData ( const DtString key,
const DtString value 
)
virtual

Extended data is a simply key/value pair of dictionary data. If there are quotes in the data, when written, they will be replaced by a marker such that they can be written/read by reader/writer

Reimplemented in DtVrfOverlayObjectStateRepository, and DtVrfScenarioEventStateRepository.

virtual void DtVrfObjectStateRepository::clearExtendedData ( )
virtual

Extended data is a simply key/value pair of dictionary data. If there are quotes in the data, when written, they will be replaced by a marker such that they can be written/read by reader/writer

virtual void DtVrfObjectStateRepository::removeExtendedData ( const DtString key)
virtual

Extended data is a simply key/value pair of dictionary data. If there are quotes in the data, when written, they will be replaced by a marker such that they can be written/read by reader/writer

Reimplemented in DtVrfScenarioEventStateRepository.

virtual DtString DtVrfObjectStateRepository::extendedData ( const DtString key) const
virtual

Extended data is a simply key/value pair of dictionary data. If there are quotes in the data, when written, they will be replaced by a marker such that they can be written/read by reader/writer

const ExtendedData& DtVrfObjectStateRepository::extendedDataMap ( ) const
inline

Extended data is a simply key/value pair of dictionary data. If there are quotes in the data, when written, they will be replaced by a marker such that they can be written/read by reader/writer

virtual void DtVrfObjectStateRepository::setExtendedDataMap ( const ExtendedData )
virtual

Extended data is a simply key/value pair of dictionary data. If there are quotes in the data, when written, they will be replaced by a marker such that they can be written/read by reader/writer

Reimplemented in DtVrfOverlayObjectStateRepository, and DtVrfScenarioEventStateRepository.

virtual void DtVrfObjectStateRepository::setExtendedDataMap ( const std::map< std::string, std::string > &  )
virtual

Extended data is a simply key/value pair of dictionary data. If there are quotes in the data, when written, they will be replaced by a marker such that they can be written/read by reader/writer

Reimplemented in DtVrfOverlayObjectStateRepository, and DtVrfScenarioEventStateRepository.

virtual void DtVrfObjectStateRepository::setupExtendedDataFromParameterData ( )
virtual

If publishing parameter data also include that in the extended data map by name.

virtual void DtVrfObjectStateRepository::setExtendedLabel ( int  ,
const DtString value 
)
virtual

Sets the extended labels for a particular entity. Extended labels are an index/string pair. Index must be > 0. Any item at index 0 is ignored

virtual void DtVrfObjectStateRepository::clearExtendedLabels ( )
virtual

Sets the extended labels for a particular entity. Extended labels are an index/string pair. Index must be > 0. Any item at index 0 is ignored

virtual DtString DtVrfObjectStateRepository::extendedLabel ( int  index) const
virtual

Sets the extended labels for a particular entity. Extended labels are an index/string pair. Index must be > 0. Any item at index 0 is ignored

virtual ExtendedLabels DtVrfObjectStateRepository::extendedLabels ( ) const
virtual

Sets the extended labels for a particular entity. Extended labels are an index/string pair. Index must be > 0. Any item at index 0 is ignored

virtual void DtVrfObjectStateRepository::setExtendedLabels ( const ExtendedLabels )
virtual

Sets the extended labels for a particular entity. Extended labels are an index/string pair. Index must be > 0. Any item at index 0 is ignored

virtual void DtVrfObjectStateRepository::addJoystickControls ( const DtRwJoystickControls )
virtual

Available joystick controls

virtual const JoystickControls& DtVrfObjectStateRepository::joystickControls ( ) const
virtual

Available joystick controls

virtual void DtVrfObjectStateRepository::setActivity ( const DtString )
virtual

Get/Set the activity of the unit. Set in the extended data and in state properties (if exists)

virtual DtString DtVrfObjectStateRepository::activity ( ) const
virtual

Get/Set the activity of the unit. Set in the extended data and in state properties (if exists)

virtual const DtObjectResourceManager* DtVrfObjectStateRepository::objectResourceManager ( ) const
virtual
Returns
A pointer to the DtObjectResourceManager for this object. This resource manager interacts will all the resource managers in all the systems on this object, and allows the user to find any resource no matter where it is in the system hierarchy of the object.
Note
In VR-Forces 3.10 and earlier, components accessed the resourceManager in the state repository to find out what resources were on the entity. Now, DtComponentSystem instances are responsible for managing resources, and components should interact with the resource managers in their local system. They can access this using the call DtSimComponent::resourceManager().
virtual DtObjectResourceManager* DtVrfObjectStateRepository::objectResourceManager ( )
virtual

Get/Set the activity of the unit. Set in the extended data and in state properties (if exists)

virtual const DtSimResourceManager& DtVrfObjectStateRepository::oldResourceManager ( ) const
virtual

Returns a reference to our resource manager.

virtual DtSimResourceManager& DtVrfObjectStateRepository::oldResourceManager ( )
virtual

Returns a reference to our resource manager.

virtual DtSimResource* DtVrfObjectStateRepository::oldLookupResource ( const DtString resourceName)
virtual

Gets a pointer to the resource named resourceName.

virtual const DtSimResource* DtVrfObjectStateRepository::oldLookupResource ( const DtString resourceName) const
virtual

Returns a reference to our resource manager.

virtual void DtVrfObjectStateRepository::oldAddResource ( DtSimResource resource)
virtual

This does a clone of the resource and puts it on our main list, as well as adding the resource to the hash index.

virtual void DtVrfObjectStateRepository::oldRemoveResource ( DtSimResource resource)
virtual

This removes and deletes the specified resource.

virtual void DtVrfObjectStateRepository::restoreResourcesFromParameters ( )
virtual
virtual void DtVrfObjectStateRepository::setSOR ( DtReal  center,
DtReal  size 
)
virtual

Sector of responsibility.

Defined as a size in radians and a center angle in radians (with respect to the entity itself).

virtual DtReal DtVrfObjectStateRepository::SORSize ( ) const
virtual

Sector of responsibility.

Defined as a size in radians and a center angle in radians (with respect to the entity itself).

virtual DtReal DtVrfObjectStateRepository::SORCenter ( ) const
virtual

Sector of responsibility.

Defined as a size in radians and a center angle in radians (with respect to the entity itself).

virtual const DtSimSector& DtVrfObjectStateRepository::SOR ( ) const
virtual

Sector of responsibility.

Defined as a size in radians and a center angle in radians (with respect to the entity itself).

virtual bool DtVrfObjectStateRepository::inSOR ( const DtVrfObject entity) const
virtual
Returns
True of the specified entity is currently within the defined sector of responsibility for of this object.
virtual const DtString& DtVrfObjectStateRepository::engagementRules ( ) const
virtual
virtual void DtVrfObjectStateRepository::setEngagementRules ( const DtString engagementRules)
virtual
virtual void DtVrfObjectStateRepository::setRequestTaskNeeded ( bool  value)
virtual

Set/get whether or not this needs to send a request task needed message.

virtual bool DtVrfObjectStateRepository::requestTaskNeeded ( ) const
virtual

Set/get whether or not this needs to send a request task needed message.

virtual void DtVrfObjectStateRepository::setTasked ( const DtSymbolString componentName,
bool  tasked 
)
virtual

Set/get whether or not a given entity component currently executing a task.

virtual void DtVrfObjectStateRepository::setTasked ( const DtSymbolString componentName,
int  taskID,
bool  tasked 
)
virtual

Set/get whether or not a given entity component currently executing a task.

virtual bool DtVrfObjectStateRepository::tasked ( const DtSymbolString componentName) const
virtual

Set/get whether or not a given entity component currently executing a task.

virtual bool DtVrfObjectStateRepository::isTasked ( ) const
virtual

Returns true if entity is currently executing a task (at least one component must be tasked), false otherwise.

virtual void DtVrfObjectStateRepository::clearCurrentTaskMsg ( const DtSymbolString componentName)
virtual

Clear all the tasks with the specified component name.

virtual void DtVrfObjectStateRepository::clearCurrentTaskMsg ( const DtSymbolString componentName,
int  taskId 
)
virtual

Clear the task with specified taskId and the specified component name.

virtual void DtVrfObjectStateRepository::setCurrentTaskMsg ( const DtSymbolString componentName,
const DtTaskMessage taskMsg 
)
virtual

Set the current task message.

virtual void DtVrfObjectStateRepository::setCurrentTaskMsg ( const DtSymbolString componentName,
const DtTaskMessage taskMsg,
int  taskId 
)
virtual

Set the current task message.

virtual const DtTaskStatusList* DtVrfObjectStateRepository::taskStatusList ( ) const
virtual
Returns
The list of current tasks with their status.
virtual DtTaskStatusList* DtVrfObjectStateRepository::taskStatusList ( )
virtual
virtual DtSuspendedTaskStatusList* DtVrfObjectStateRepository::suspendedTaskStatusList ( )
virtual
virtual DtTaskMessage* DtVrfObjectStateRepository::currentTaskMsg ( const DtSymbolString componentName) const
virtual

Get the current task message.

If multiple task messages exist for a single component name, only the first is returned.

virtual DtTaskMessage* DtVrfObjectStateRepository::currentTaskMsg ( const DtSymbolString componentName,
int  taskId 
) const
virtual

Get the current task message for the specified component and task ID.

virtual std::list<DtTaskMessage*> DtVrfObjectStateRepository::allCurrentTaskMsg ( const DtSymbolString componentName) const
virtual
Returns
A list of all current task messages for a given component name.
virtual void DtVrfObjectStateRepository::putSelf ( std::string &  fp,
int  indentLevel = 0,
bool  writeUnspecified = false,
const DtFilename &  path = DtReaderWriter::appPath() 
)
virtual

Top level call to write itself to file.

If write unspecified is true, will write entries that are unspecified, in the format (name <use-default>). Path is passed down to all DtReaderWriter members in its DtReaderWriterRegistry (collection of child DtReaderWriter nodes). If a given member in the registry is of type DtReaderWriterFile, and the path is specified with a non-NULL string, then the path prepended to the filename before writing the entry to file.

Reimplemented from DtReaderWriter.

virtual bool DtVrfObjectStateRepository::placePoints ( DtAttachedTerrain attachedTerrain,
std::vector< DtGroundInteractionPt * >  groundInteractionPts,
bool terrainDataAvailable = 0 
)
virtual

Positions list of ground interaction points on the terrain surface closest to the specified location.

Parent position and orientation of each ground interaction point must be set before calling this function. Returns false if there are no points to place. If there is no ground intersection, sets ground interaction point to its current position without ground, but at altitude zero. If the terrain is still being paged in at the time of this call for any of the requested points, terrainDataAvailable will be set to false and the points will artificially be placed at the object's current altitude. If it is not specified, this will be a blocking call (which should usually not be done from a tick function).

Returns
False if there are no points to place.
virtual void DtVrfObjectStateRepository::updateSupportPoints ( const DtVector newPosition,
const DtReal  newHeading 
)
virtual

reading in a scenario, want to make sure the support points get set up properly.

Base class is empty. If gravity aligned is true, does not clamp to terrain

Reimplemented in DtVrfMovingObjectStateRepository.

virtual void DtVrfObjectStateRepository::setIndependentlyTasked ( bool  value)
virtual

Set/get whether or not this entity is currently independently tasked (separately from its unit).

virtual bool DtVrfObjectStateRepository::independentlyTasked ( ) const
virtual

Set/get whether or not this entity is currently independently tasked (separately from its unit).

virtual bool DtVrfObjectStateRepository::processCompleteAttachment ( DtVrfObject )
virtual

These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.

Reimplemented from DtSimObjectStateRepository.

static void DtVrfObjectStateRepository::objectAboutToBeRemovedCallback ( DtVrfObject vrfObject,
void *  usr 
)
static

These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.

Reimplemented from DtSimObjectStateRepository.

virtual void DtVrfObjectStateRepository::processObjectAboutToBeRemovedCallback ( DtVrfObject vrfObject)
virtual

These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.

Reimplemented from DtSimObjectStateRepository.

static DtVrfObjectStateRepository* DtVrfObjectStateRepository::createRepository ( const DtString name,
const DtString type,
DtVrfObject simObject,
const DtObjectType objectType,
DtVrfObjectParameters parameters,
DtReaderWriterRegistry parentRegistry = 0 
)
static

Creates a new state repository object, using the factory.

static void DtVrfObjectStateRepository::addSimObjectStateRepositoryCreatorFcn ( const DtString type,
DtSimObjectStateRepositoryCreatorFcn  fcn 
)
static
static DtSimObjectStateRepositoryFactory* DtVrfObjectStateRepository::factory ( )
static

a DtSimObjectStateRepositoryFactory is allocated by the DtSimCreator, and this pointer is set.

The DtSimCreator deletes this pointer when it is deleted. This is done this way because we don't allow static initialization

Reimplemented from DtReaderWriter.

static void DtVrfObjectStateRepository::setFactory ( DtSimObjectStateRepositoryFactory factory)
static

a DtSimObjectStateRepositoryFactory is allocated by the DtSimCreator, and this pointer is set.

The DtSimCreator deletes this pointer when it is deleted. This is done this way because we don't allow static initialization

virtual const DtVrfObjectParameters* DtVrfObjectStateRepository::parameterEntry ( ) const
virtual

If a clone has been created, this call will return the cloned entry as a const pointer, else returns the original pointer.

virtual void DtVrfObjectStateRepository::setParameterEntry ( DtVrfObjectParameters parameterEntry)
virtual

If a clone has been created, this call will return the cloned entry as a const pointer, else returns the original pointer.

Reimplemented in DtVrfAggregateStateRepository.

virtual const DtVrfObjectParameters* DtVrfObjectStateRepository::parameters ( ) const
virtual
Deprecated:
To be removed after VR-Forces version 3.11
virtual DtVrfObjectParameters* DtVrfObjectStateRepository::modifiableParameters ( )
virtual

A modifiable local copy of parameters.

virtual void DtVrfObjectStateRepository::setupParameterInheritance ( )
virtual

Called by init().

Initializes myParameters with data from myParameterEntry.

virtual DtForceType DtVrfObjectStateRepository::forceType ( ) const
virtual

Get/Set the force type (team) of this entity.

Allows from 0 to 255. Only 1-4 are standard DIS/HLA

virtual void DtVrfObjectStateRepository::setForceType ( DtForceType  force)
virtual

Get/Set the force type (team) of this entity.

Allows from 0 to 255. Only 1-4 are standard DIS/HLA

virtual bool DtVrfObjectStateRepository::createAttachments ( )
virtual

Override to create derived DtVrfAttachmentManager.

Reimplemented from DtSimObjectStateRepository.

void DtVrfObjectStateRepository::addPart ( DtArticulatedPartStateRepository part)

These will be replaced by equivalents in the attachment manager.

void DtVrfObjectStateRepository::removePart ( DtArticulatedPartStateRepository part)
DtArticulatedPartStateRepository* DtVrfObjectStateRepository::part ( DtArtPartType  partType)
DtArticulatedPartStateRepository* DtVrfObjectStateRepository::findDescendantByType ( DtArtPartType  childType)
virtual bool DtVrfObjectStateRepository::createAppearance ( )
virtual

Encapsulates all the appearance related data and methods currently in the entity state repository.

The appearance bits are described in the DIS specification.

Reimplemented in DtHumanStateRepository.

virtual const DtAppearance* DtVrfObjectStateRepository::appearance ( ) const
virtual

Encapsulates all the appearance related data and methods currently in the entity state repository.

The appearance bits are described in the DIS specification.

virtual DtAppearance* DtVrfObjectStateRepository::appearance ( )
virtual

Encapsulates all the appearance related data and methods currently in the entity state repository.

The appearance bits are described in the DIS specification.

virtual void DtVrfObjectStateRepository::setCapabilities ( int  cap)
virtual

Gets/sets capabilities of entity This is treated as the DIS capabilities bit field, and does not necessarily change any behaviors of the object.

virtual int DtVrfObjectStateRepository::capabilities ( ) const
virtual

Gets/sets capabilities of entity This is treated as the DIS capabilities bit field, and does not necessarily change any behaviors of the object.

void DtVrfObjectStateRepository::setDestroyed ( bool  isDestroyed)

Destroyed status of entity (whether or not appearance()->damageState() is set to DtDamageDestroyed).

Reimplemented in DtHumanStateRepository, and DtIndividualLifeFormStateRepository.

bool DtVrfObjectStateRepository::isDestroyed ( ) const

Destroyed status of entity (whether or not appearance()->damageState() is set to DtDamageDestroyed).

DtReal DtVrfObjectStateRepository::healthPct ( ) const
Deprecated:
To be removed after VR-Forces version 3.11 The health (appearance->damageState()), as a function of a percentage (0 - 100), where 0 < .30 DtDamageDestroyed .30 < .80 DtDamageModerate .80 < .90 DtDamageSlight > .9 DtDamageNone
void DtVrfObjectStateRepository::setHealthPct ( DtReal  pct)
Deprecated:
To be removed after VR-Forces version 3.11 The health (appearance->damageState()), as a function of a percentage (0 - 100), where 0 < .30 DtDamageDestroyed .30 < .80 DtDamageModerate .80 < .90 DtDamageSlight > .9 DtDamageNone
bool DtVrfObjectStateRepository::firePowerKilled ( ) const

Convenience methods for setting setting entity's appearance bits in DtAppearance.

void DtVrfObjectStateRepository::setFirePowerKilled ( const bool  firePowerKilled)

Convenience methods for setting setting entity's appearance bits in DtAppearance.

bool DtVrfObjectStateRepository::mobilityKilled ( ) const

Convenience methods for setting setting entity's appearance bits in DtAppearance.

void DtVrfObjectStateRepository::setMobilityKilled ( const bool  mobilityKilled)

Convenience methods for setting setting entity's appearance bits in DtAppearance.

bool DtVrfObjectStateRepository::flaming ( ) const

Convenience methods for setting setting entity's appearance bits in DtAppearance.

void DtVrfObjectStateRepository::setFlaming ( const bool  flaming)

Convenience methods for setting setting entity's appearance bits in DtAppearance.

bool DtVrfObjectStateRepository::smoking ( ) const

Convenience methods for setting setting entity's appearance bits in DtAppearance.

void DtVrfObjectStateRepository::setSmoking ( const bool  smoking)

Convenience methods for setting setting entity's appearance bits in DtAppearance.

bool DtVrfObjectStateRepository::isEntity ( ) const
Deprecated:
To be removed after VR-Forces version 3.11
Returns
true if DtVrfObject is configured with a network interface of type DtSimEntityNetInterface, false otherwise
bool DtVrfObjectStateRepository::isLocal ( ) const
Deprecated:
To be removed after VR-Forces version 3.11. DtVrfObject::isLocal can now be called instead.
Returns
true if DtVrfObject has a the same site/app IDs as the application does, false otherwise
bool DtVrfObjectStateRepository::isAggregate ( ) const
Deprecated:
To be removed after VR-Forces version 3.11
Returns
true if DtVrfObject is configured with an object type with a super type of DtObjectTypeAggregate, DtObjectTypePseudoAggregate, or DtObjectTypeTrueAggregate, false otherwise
virtual DtVrfSubordinateManager* DtVrfObjectStateRepository::subordinates ( )
virtual
Deprecated:
To be removed after VR-Forces version 3.11 call vrfSubordinates() instead.
virtual const DtVrfSubordinateManager* DtVrfObjectStateRepository::subordinates ( ) const
virtual
Deprecated:
To be removed after VR-Forces version 3.11 call vrfSubordinates() instead.
void DtVrfObjectStateRepository::addSubordinate ( DtVrfObject subordinateEntity)

Adds an entity as a subordinate.

Subordinate entity's superior is set to be this entity. By default, the echelon organization is updated. Set the updateEchelonOrg flag to false when you do not want the echelon organization altered as a result of the operation (such as when restoring from file).

void DtVrfObjectStateRepository::removeSubordinate ( DtVrfObject subordinateEntity)

Removes entity from our list of subordinates.

virtual DtSharedVrfObjectReference DtVrfObjectStateRepository::leadEntity ( ) const
virtual
Returns
subordinate object with lowest designator, if one exists
virtual DtSharedVrfObjectReference DtVrfObjectStateRepository::firstSubordinate ( ) const
virtual
Returns
subordinate object with lowest designator, if one exists
virtual DtSharedVrfObjectReference DtVrfObjectStateRepository::lastSubordinate ( ) const
virtual
Returns
subordinate object with highest designator, if one exists
virtual DtSharedVrfObjectReference DtVrfObjectStateRepository::firstHealthySubordinate ( ) const
virtual
Returns
first healthy subordinate if it exists, NULL if not.
virtual DtSimManager* DtVrfObjectStateRepository::simManager ( )
virtual
Returns
A pointer to the single DtSimManager class instance for this CGF.
virtual const DtSimManager* DtVrfObjectStateRepository::simManager ( ) const
virtual
Returns
A pointer to the single DtSimManager class instance for this CGF.
virtual DtPhysicalWorld* DtVrfObjectStateRepository::physicalWorld ( )
virtual
Returns
A pointer to the single DtPhysicalWorld class instance for this CGF.
virtual const DtPhysicalWorld* DtVrfObjectStateRepository::physicalWorld ( ) const
virtual
Returns
A pointer to the single DtPhysicalWorld class instance for this CGF.
virtual void DtVrfObjectStateRepository::tick ( )
virtual

This method is called each simulation frame, and may include any processing that needs to be done on this object state each tick.

Reimplemented in DtMissileStateRepository, DtSpaceEntityStateRepository, and DtVrfMovingObjectStateRepository.

virtual void DtVrfObjectStateRepository::timedTick ( )
virtual

This version of tick checks to see if the time to tick has arrived (myNextTickTime <= exerciseClock()->approximateElapsedRealTime()).

If it has, it will then call tick(), and recalculate the next tick time

virtual void DtVrfObjectStateRepository::setMinTickPeriod ( double  minTickPeriod)
virtual

specifies a minimum tick period (which can also be thought of as

  1. / maximum tick rate). This is specified in seconds.
virtual double DtVrfObjectStateRepository::minTickPeriod ( ) const
virtual

access the minimum tick period

virtual void DtVrfObjectStateRepository::setMinTickPeriodVariance ( double  minTickPeriodVariance)
virtual

set the variance in the minimum tick time

virtual double DtVrfObjectStateRepository::minTickPeriodVariance ( ) const
virtual

access the variance in the minimum tick period

virtual void DtVrfObjectStateRepository::setNextTickTime ( double  nextTickTime)
virtual

The next tick time is normally calculated internally.

setNextTickTime can be used to force a tick (set nextTickTime to exerciseClock()-> approximateElapsedRealTime())

virtual double DtVrfObjectStateRepository::nextTickTime ( ) const
virtual

access the next tick time

virtual double DtVrfObjectStateRepository::calculateNextTickTime ( ) const
virtual

The next tick time is equal to mySimManager->exerciseClock()-> approximateElapsedRealTime() + myMinTickPeriod + a random # between -myMinTickPeriodVariance/2.

and +myMinTickPeriodVariance/2. If the exercise clock is paused, the variance is always set to zero to insure that the extra calls to DtFRand() don't prevent repeatability.

virtual bool DtVrfObjectStateRepository::createSubordinates ( )
virtual
virtual DtVrfSubordinateManager* DtVrfObjectStateRepository::vrfSubordinates ( )
virtual
virtual const DtVrfSubordinateManager* DtVrfObjectStateRepository::vrfSubordinates ( ) const
virtual
virtual bool DtVrfObjectStateRepository::createProcessStateRepositoryManager ( )
virtual
virtual const DtVrfProcessStateRepositoryManager* DtVrfObjectStateRepository::systemProcessStateRepositoryManager ( ) const
virtual
Returns
Pointer to the object level process state repository manager. Top level component systems register their PSRs with this manager, and components should register their PSRs with their parent system. This is returned by DtSimComponent::psrManager().
virtual DtVrfProcessStateRepositoryManager* DtVrfObjectStateRepository::systemProcessStateRepositoryManager ( )
virtual
Returns
Pointer to the object level process state repository manager. Top level component systems register their PSRs with this manager, and components should register their PSRs with their parent system. This is returned by DtSimComponent::psrManager().
virtual const DtTaitBryan& DtVrfObjectStateRepository::localOrientationWrtDatabase ( ) const
virtual

Euler angles with respect to the local (database) coordinate system, in radians.

virtual void DtVrfObjectStateRepository::setLocalOrientationWrtDatabase ( const DtTaitBryan &  localOrientation)
virtual
virtual DtVrfWeaponPSR* DtVrfObjectStateRepository::firstWeaponPSR ( ) const
virtual

This is provided for backward compatibility with setTarget capabilities.

Since these do not specify which of (potentially) multiple weapons to use, this call will retrieve the first.

virtual void DtVrfObjectStateRepository::processObjectGeometry ( const DtList &  vertices)
virtual

Processes a list of DtVectors, such as might come in a create or modify message.

Sets the object geometry, determines the bounding area or volume, and sets local and world position at the geometric center of the geometry.

virtual void DtVrfObjectStateRepository::processObjectGeometry ( const DtLocalVertexList vertices)
virtual
virtual void DtVrfObjectStateRepository::processObjectGeometry ( )
virtual

This form allows processObjectGeometry()'s bounding volume calculations to be done on it's current geometry (by making a copy first).

This is needed when reading from an .oob file, because the object geometry's vertex lists have not been populated with the normal setLocalVertices() (or successive addLocalVertex() calls), but rather by reading them from the file.

virtual const DtVrfObjectParameters* DtVrfObjectStateRepository::vrfBaseParameters ( ) const
virtual
virtual DtGroundInteractionPt* DtVrfObjectStateRepository::groundCenter ( )
virtual
virtual const DtGroundInteractionPt* DtVrfObjectStateRepository::groundCenter ( ) const
virtual
virtual const DtVector& DtVrfObjectStateRepository::getPartAttachPoint ( const int  partType) const
virtual
virtual void DtVrfObjectStateRepository::place ( const DtVector location,
bool dataAvailable = 0,
bool  requireAllData = false 
)
virtual

Place entity at 'location', on the ground, keeping its current heading.

Since no terrain intersections are made at this level, dataAvailable is always set to true.

Parameters
Output
dataAvailableprevents the call from blocking due to terrain paging and will get a true value if the terrain intersections are successful. See DtVrfMovingObjectStateRepository::clampToGround for more information. Since no terrain intersections are made at this level, this flag is always set to true and is only used by DtVrfMovingObjectStateRepository and its subclasses.
requireAllDataprevents the call from changing the object if any terrain data is unavailable. Since no terrain intersections are made at this level, this flag is only used by DtVrfMovingObjectStateRepository and its subclasses.

Reimplemented in DtVrfMovingObjectStateRepository.

virtual void DtVrfObjectStateRepository::place ( const DtReal  heading,
bool dataAvailable = 0,
bool  requireAllData = false 
)
virtual

Give entity the specified 'heading', but stay at its current location.

Since no terrain intersections are made at this level, dataAvailable is always set to true.

Parameters
Output
dataAvailableprevents the call from blocking due to terrain paging and will get a true value if the terrain intersections are successful. See DtVrfMovingObjectStateRepository::clampToGround for more information. Since no terrain intersections are made at this level, this flag is always set to true and is only used by DtVrfMovingObjectStateRepository and its subclasses.
requireAllDataprevents the call from changing the object if any terrain data is unavailable. Since no terrain intersections are made at this level, this flag is only used by DtVrfMovingObjectStateRepository and its subclasses.

Reimplemented in DtVrfMovingObjectStateRepository.

virtual void DtVrfObjectStateRepository::place ( const DtVector location,
const DtReal  heading,
bool  clampToGroundFlag = true,
bool dataAvailable = 0,
bool  requireAllData = false 
)
virtual

Place entity at specified 'location' and 'heading' on the ground.

Parameters
Output
dataAvailableprevents the call from blocking due to terrain paging and will get a true value if the terrain intersections are successful. See DtVrfMovingObjectStateRepository::clampToGround for more information. Since no terrain intersections are made at this level, this flag is always set to true and is only used by DtVrfMovingObjectStateRepository and its subclasses.
requireAllDataprevents the call from changing the object if any terrain data is unavailable. Since no terrain intersections are made at this level, this flag is only used by DtVrfMovingObjectStateRepository and its subclasses.

Reimplemented in DtVrfMovingObjectStateRepository, DtFixedWingEntityStateRepository, DtRotaryWingEntityStateRepository, and DtSubsurfaceEntityStateRepository.

virtual void DtVrfObjectStateRepository::updatePositionFromModelVertices ( )
virtual

Note that this is not currently ever called.

Position is determined at the same time model vertices are, so this call is unnecessary.

Reimplemented from DtSimObjectStateRepository.

virtual void DtVrfObjectStateRepository::updateBVolFromModelVertices ( )
virtual

Reimplemented from DtSimObjectStateRepository.

virtual DtReal DtVrfObjectStateRepository::mass ( ) const
virtual
virtual void DtVrfObjectStateRepository::setMass ( const DtReal  mass)
virtual
virtual const DtArticulatedPartCollection* DtVrfObjectStateRepository::artPartList ( ) const
virtual

Get the list of articulated parts specified in the component descriptor.

virtual void DtVrfObjectStateRepository::createParts ( )
virtual

This causes the art part tree to be created.

Each DtActuatorComponentDescriptor has an DtSimArtPartDescriptorList of parts which must be created.

virtual DtTime DtVrfObjectStateRepository::lastTimeFiredUpon ( ) const
virtual
virtual void DtVrfObjectStateRepository::setLastTimeFiredUpon ( const DtTime  time)
virtual
virtual bool DtVrfObjectStateRepository::underFire ( ) const
virtual
virtual void DtVrfObjectStateRepository::setUnderFire ( bool  underFire)
virtual
virtual suppressionLevels DtVrfObjectStateRepository::suppressionLevel ( ) const
virtual

The current suppression level.

An enumeration with 4 values. Determined from suppression value in the suppression actuator component.

virtual void DtVrfObjectStateRepository::setSuppressionLevel ( const suppressionLevels  l)
virtual

The current suppression level.

An enumeration with 4 values. Determined from suppression value in the suppression actuator component.

virtual bool DtVrfObjectStateRepository::isSuppressed ( ) const
virtual

The current suppression level.

An enumeration with 4 values. Determined from suppression value in the suppression actuator component.

virtual DtDeadReckonTypes DtVrfObjectStateRepository::deadReckoningAlgorithm ( ) const
virtual
virtual void DtVrfObjectStateRepository::setDeadReckoningAlgorithm ( DtDeadReckonTypes  deadReckoningAlgorithm)
virtual
virtual const DtThresholder& DtVrfObjectStateRepository::deadReckoningThresholder ( ) const
virtual

Dead-reckoning threshold parameters.

virtual void DtVrfObjectStateRepository::setDeadReckoningThresholder ( const DtThresholder &  thresholder)
virtual

Dead-reckoning threshold parameters.

virtual const DtEntityIdentifier& DtVrfObjectStateRepository::occupyingObjectId ( ) const
virtual

We hold the id of the object we are occupying.

Set in this base class since we could place a minefield inside of a strong point.

virtual void DtVrfObjectStateRepository::setOccupyingObjectId ( const DtEntityIdentifier &  objId)
virtual

We hold the id of the object we are occupying.

Set in this base class since we could place a minefield inside of a strong point.

virtual void DtVrfObjectStateRepository::setEchelonId ( const DtEchelonId echelonId)
virtual

The echelon ID of this object, if it is an organized object.

This describes this objects location in the organization hierarchy.

virtual DtEchelonId& DtVrfObjectStateRepository::echelonId ( )
virtual

The echelon ID of this object, if it is an organized object.

This describes this objects location in the organization hierarchy.

virtual const DtEchelonId& DtVrfObjectStateRepository::echelonId ( ) const
virtual

The echelon ID of this object, if it is an organized object.

This describes this objects location in the organization hierarchy.

virtual void DtVrfObjectStateRepository::setIsSubordinateOfForceLevel ( bool  yesNo)
virtual

Indicates if this object's direct superior is a Force level object.

virtual bool DtVrfObjectStateRepository::isSubordinateOfForceLevel ( ) const
virtual

Indicates if this object's direct superior is a Force level object.

virtual void DtVrfObjectStateRepository::putData ( std::string &  fp,
int  indentLevel = 0 
)
virtual

Override putData to set myParent using the organization manager before saving.

Reimplemented from DtReaderWriter.

virtual void DtVrfObjectStateRepository::getSelf ( DtlObjPtr  args,
const DtReaderWriter::SearchPaths searchPaths,
const DtVariableBindingsList variableBindings 
)
virtual

Override getSelf to handle mapping of old pre-2.0 oob files.

Maps the old variables for local and world position/orientation to the new object geometry and kinematic state members. Maps old boolean destroyed flag to new appearance bits.

Reimplemented from DtSimObjectStateRepository.

Reimplemented in DtVrfMovingObjectStateRepository, DtVrfOverlayObjectStateRepository, DtRotaryWingEntityStateRepository, DtVrfAggregateStateRepository, and DtVrfScenarioEventStateRepository.

virtual int DtVrfObjectStateRepository::nextTaskId ( )
virtual

Returns next unique task id for this entity.

virtual int DtVrfObjectStateRepository::nextSuspendId ( )
virtual
Returns
The next unique suspend ID for this entity.
virtual int DtVrfObjectStateRepository::spawningTaskId ( int  subtaskId) const
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual void DtVrfObjectStateRepository::addPendingSubtaskId ( const DtSymbolString componentName,
int  subtaskId 
)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual void DtVrfObjectStateRepository::addPendingSubtaskId ( const DtSymbolString componentName,
int  taskId,
int  subtaskId 
)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual bool DtVrfObjectStateRepository::findPendingSubtaskId ( const DtSymbolString componentName,
int  subtaskId 
)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual bool DtVrfObjectStateRepository::isSubtasked ( const DtSymbolString componentName) const
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual bool DtVrfObjectStateRepository::findPendingSubtaskId ( const DtSymbolString componentName,
int  taskId,
int  subtaskId 
)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual void DtVrfObjectStateRepository::removePendingSubtaskId ( const DtSymbolString componentName,
int  subtaskId 
)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual void DtVrfObjectStateRepository::removePendingSubtaskId ( const DtSymbolString componentName,
int  taskId,
int  subtaskId 
)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual void DtVrfObjectStateRepository::removeAllPendingSubtaskIds ( const DtSymbolString componentName)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual void DtVrfObjectStateRepository::removeAllPendingSubtaskIds ( const DtSymbolString componentName,
int  taskId 
)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual void DtVrfObjectStateRepository::printPendingSubtaskIds ( const DtSymbolString componentName) const
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual std::vector<int> DtVrfObjectStateRepository::currentPendingSubstaskIds ( const DtSymbolString componentName) const
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual std::vector<int> DtVrfObjectStateRepository::currentPendingSubstaskIds ( const DtSymbolString componentName,
int  taskId 
) const
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual DtSubtaskStatusEntry* DtVrfObjectStateRepository::pendingSubtaskStatus ( const DtSymbolString componentName,
int  subtaskId 
)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual DtSubtaskStatusEntry* DtVrfObjectStateRepository::pendingSubtaskStatus ( const DtSymbolString componentName,
int  taskId,
int  subtaskId 
)
virtual

Functions for manipulating the set of pending subtask Ids for all components in the entity.

Users should not call these functions directly. Access them through the DtTaskControllerComponent instead. They are here for the purposes of saving/restoring the information to the order of battle file only. Given a subtask id search all current subtasks to see who the parent of this task is. Returns -1 if parent cannot be found

virtual DtTaskMessage* DtVrfObjectStateRepository::pendingSubtask ( int  subtaskId,
DtString controller 
) const
virtual

Returns the current subtask with the specified id.

Also returns the controller that is responsible. If NULL, no task was found

virtual bool DtVrfObjectStateRepository::taskedBySuperiorUponTaskComplete ( ) const
virtual

Returns true if entity should automatically resume being tasked by superior upon completion of its current top-level task, false otherwise.

By default, this returns true.

virtual void DtVrfObjectStateRepository::setParentWasDestroyedWhenEmbarked ( bool  )
virtual
virtual bool DtVrfObjectStateRepository::parentWasDestroyedWhenEmbarked ( ) const
virtual
virtual void DtVrfObjectStateRepository::detachFromParent ( )
virtual

Reimplemented from DtSimObjectStateRepository.

Reimplemented in DtVrfOverlayObjectStateRepository.

virtual void DtVrfObjectStateRepository::attachToParent ( DtSimObjectStateRepository parent)
virtual

Adds this state repository to the given parent's list of attached state repositories and updates myAttachedToRepository and myRootSimStateRepository.

The parent coordinate system is zeroed out, making this object relative to the parent instead of relative to the world.

Reimplemented from DtSimObjectStateRepository.

Reimplemented in DtVrfOverlayObjectStateRepository.

virtual void DtVrfObjectStateRepository::attachToParent ( const DtUUID parent)
virtual

Looks up the parent state repository using the given echelon ID and puts it in a call to attachToParent.

Reimplemented from DtSimObjectStateRepository.

Reimplemented in DtFixedWingEntityStateRepository, and DtVrfOverlayObjectStateRepository.

virtual void DtVrfObjectStateRepository::addAttachedTerrain ( const DtUUID parent)
virtual

Asks the sim manager to look up the object model for the requested database.

If there is a model then it adds it to our internal list. If the model already exists in the internal list, then it adds one to the reference count

This version will find the object in the object manager, and see what it's object type is to ask the object model manager in the sim manager for the object model

virtual void DtVrfObjectStateRepository::removeAttachedTerrain ( const DtUUID parent)
virtual

Decreases reference count of terrain model by name of object.

If reference count is 0, it is removed from the list

Dt3dBoundingVolume* DtVrfObjectStateRepository::boundingVolume ( ) const

Convenience method for accessing entity's bounding volume, stored in myObjectGeometry.

DtVector DtVrfObjectStateRepository::localBoundingVolumeCenterPosition ( ) const

Gets the local coordinates of the bounding volume center.

Rotates the bounding volume offset from origin according to the entity's orientation, and adds the local position.

DtReal DtVrfObjectStateRepository::currentSpeed ( ) const

Returns magnitude of relative velocity in state repository.

Previous to VRF 3.11, currentSpeed() returned only the forward/reverse component of the speed for some models. This is now returned by forwardSpeed().

DtReal DtVrfObjectStateRepository::forwardSpeed ( ) const
Returns
The current forward component of the entity's velocity. This value will be negative in the entity is moving in reverse. Sideways and vertical components of the velocity are ignored. The full velocity magnitude can by found by currentSpeed().
DtReal DtVrfObjectStateRepository::currentHeading ( ) const

Heading in radians. Calls down to DtVrfKinematicState for heading.

void DtVrfObjectStateRepository::setCurrentHeading ( const DtReal  heading)

Heading in radians. Calls down to DtVrfKinematicState for heading.

virtual void DtVrfObjectStateRepository::addPostInitFromParamsCallback ( DtPostInitializeFromParametersCallbackFcn  fcn,
void *  usr 
)
virtual

Add/remove callback function to be invoked immediately following execution of initializeFromParameters.

virtual void DtVrfObjectStateRepository::removePostInitFromParamsCallback ( DtPostInitializeFromParametersCallbackFcn  fcn,
void *  usr 
)
virtual

Add/remove callback function to be invoked immediately following execution of initializeFromParameters.

virtual void DtVrfObjectStateRepository::restoreStateProperties ( )
virtual

Restores state properties to their default settings.

virtual void DtVrfObjectStateRepository::initStatePropertiesNotToBeRestored ( )
virtual

Initializes the list of state properties which should not be restored.

Reimplemented in DtVrfAggregateStateRepository.

virtual DtRwProperties& DtVrfObjectStateRepository::stateProperties ( )
virtual
virtual const DtRwProperties& DtVrfObjectStateRepository::stateProperties ( ) const
virtual

Accesses to the properties.

virtual DtRwProperties& DtVrfObjectStateRepository::parameterProperties ( )
virtual
virtual const DtRwProperties& DtVrfObjectStateRepository::parameterProperties ( ) const
virtual

Access to static (parameter) properties.

virtual void DtVrfObjectStateRepository::initializeNextTaskId ( )
protectedvirtual

Initializes myNextTaskId to the next highest integer than the highest subtask Id currently maintained in myTaskStatusList.

virtual void DtVrfObjectStateRepository::setOrientationRelativeToParent ( )
protectedvirtual

If attached to a parent, and a terrain database is present, set orientation relative to parent.

Reimplemented from DtSimObjectStateRepository.

virtual DtAttachedTerrain* DtVrfObjectStateRepository::createAttachedTerrain ( )
protectedvirtual
virtual DtArticulatedPartStateRepository* DtVrfObjectStateRepository::createArtPartStateRepository ( DtVrfObject vrfObject,
const DtObjectType objectType,
const DtString rwName = DtString::nullString() 
)
protectedvirtual

Returns new instance of a DtArticulatedPartStateRepository.

Called by createPart() when constructing the tree articulated part state repositories for the entity.

virtual void DtVrfObjectStateRepository::addRangeItem ( const DtRangeItem )
virtual

Adds, removes and returns items in the range item list.

Reimplemented in DtVrfMovingObjectStateRepository.

virtual void DtVrfObjectStateRepository::removeRangeItem ( int  index)
virtual
virtual void DtVrfObjectStateRepository::setRangeItems ( const DtRangeItems )
virtual
const DtRangeItems& DtVrfObjectStateRepository::rangeItems ( ) const
DtRangeItems& DtVrfObjectStateRepository::rangeItems ( )
virtual void DtVrfObjectStateRepository::clearRangeItems ( )
virtual
DtAttachedTerrain* DtVrfObjectStateRepository::terrainAttachedTo ( ) const
virtual boost::tribool DtVrfObjectStateRepository::onTerrainSurface ( ) const
virtual
virtual double DtVrfObjectStateRepository::sensorSignature ( const DtSymbolString sensorDomain) const
virtual

Returns the current absolute signature for this object in the specified sensor domain.

If the domain is not found, 0 is returned. Uses the myMutableSensorSignatureCache to only calculate the signature once per tick.

Reimplemented in DtVrfOverlayObjectStateRepository, and DtVrfScenarioEventStateRepository.

virtual std::list<DtSymbolString> DtVrfObjectStateRepository::sensorSignatureDomains ( ) const
virtual
Returns
A list of all the sensor domains that this entity is configured with. These are all the domains that may return non-zero values from sensorSignature().
virtual DtSensorContactInfoList& DtVrfObjectStateRepository::objectContactList ( )
virtual

Situational awareness of this object.

If this object is aware of other objects in the scenario, this list will contain the known objects, and the properties of the objects which are known. The object must have a controller which fills in this list in order for there to be data in the object contact list.

virtual const DtSensorContactInfoList& DtVrfObjectStateRepository::objectContactList ( ) const
virtual

Situational awareness of this object.

If this object is aware of other objects in the scenario, this list will contain the known objects, and the properties of the objects which are known. The object must have a controller which fills in this list in order for there to be data in the object contact list.

virtual DtString DtVrfObjectStateRepository::stringFromExtendedData ( const DtString ) const
virtual

Takes the extended data string, and, if xml, will pretty print and remove the quotes from the created reader/writer else just return the string.

virtual double DtVrfObjectStateRepository::baseSensorSignature ( const DtSymbolString sensorDomain) const
protectedvirtual
Returns
The this entity's base-signature value for the specified sensor domain. If the domain is not found, 0 is returned.
virtual double DtVrfObjectStateRepository::modifySensorSignature ( const DtSymbolString sensorDomain,
double  baseSignature 
) const
protectedvirtual

Modifies the supplied baseSignature using the signatureModifiers for the specified sensor domain.

Returns
The modified signature.
virtual bool DtVrfObjectStateRepository::initSignatureEvaluators ( )
protectedvirtual

Sets up all the sensor signature evaluators in mySignatureEvalMap based on the parameter entry for this entity.

void DtVrfObjectStateRepository::clearSignatureEvaluators ( )
protected

Removes and deletes all signature evaluators.

Non-virtual because it is called from the destructor.

virtual bool DtVrfObjectStateRepository::createObjectResourceManager ( )
protectedvirtual

Creates and sets myObjectResourceManager.

virtual void DtVrfObjectStateRepository::invokePostInitFromParamsCallbacks ( )
protectedvirtual

Invokes all callbacks registered via a call to addPostInitFromParamsCallback.

static void DtVrfObjectStateRepository::taskCompleteCallback ( const DtVrfObjectMessage msg,
void *  usr 
)
static

Handles state changes for the subtask status list.

virtual void DtVrfObjectStateRepository::processTaskComplete ( const DtVrfObjectMessage msg)
virtual

Handles state changes for the subtask status list.

static DtVrfObjectStateRepository* DtVrfObjectStateRepository::creator ( const DtString name,
DtVrfObject simObject,
const DtObjectType objectType,
DtVrfObjectParameters parameters,
DtReaderWriterRegistry parentRegistry 
)
static
static DtVrfObjectStateRepository* DtVrfObjectStateRepository::isVrfObjectStateRepository ( DtSimObjectStateRepository repository)
static
static const DtVrfObjectStateRepository* DtVrfObjectStateRepository::isVrfObjectStateRepository ( const DtSimObjectStateRepository repository)
static
virtual DtVrfObjectStateRepository* DtVrfObjectStateRepository::toVrfObjectStateRepository ( )
virtual

Reimplemented from DtSimObjectStateRepository.

virtual const DtVrfObjectStateRepository* DtVrfObjectStateRepository::toVrfObjectStateRepository ( ) const
virtual

Reimplemented from DtSimObjectStateRepository.

static bool DtVrfObjectStateRepository::visibilityFilter ( const DtVrfObject object,
void *  usr 
)
staticprotected

Used by isVisible to determine which objects can block visibility.

Member Data Documentation

DtVrfStateRepositoryUserExtension* DtVrfObjectStateRepository::myStateRepositoryUserExtension
protected
DtRwAppearance* DtVrfObjectStateRepository::myAppearance
protected
DtRwInt DtVrfObjectStateRepository::myCapabilities
protected
DtRwForceType DtVrfObjectStateRepository::myForceType
protected
DtVrfSubordinateManager* DtVrfObjectStateRepository::mySubordinates
protected

each of these has_a DtSubObjectManager

DtRwUUID DtVrfObjectStateRepository::myParent
protected

if this object is a subordinate, this is used to write out the name of the parent

DtVrfProcessStateRepositoryManager* DtVrfObjectStateRepository::mySystemProcessSRManager
protected
DtLegacyProcessStateRepositoryManager* DtVrfObjectStateRepository::myLegacyPSRManager
protected

Used only to read in scenarios from pre VRF 3.11.

DtSimManager* DtVrfObjectStateRepository::mySimManager
protected
DtGroundInteractionPt DtVrfObjectStateRepository::myGroundCenter
protected
bool DtVrfObjectStateRepository::myUnderFire
protected

Under fire parameters.

DtTime DtVrfObjectStateRepository::myLastTimeFiredUpon
protected
DtRwInt DtVrfObjectStateRepository::mySuppressionLevel
protected

The current enumerated level of suppression, derived from the value.

DtReal DtVrfObjectStateRepository::myMass
protected
DtDeadReckonTypes DtVrfObjectStateRepository::myDeadReckoningAlgorithm
protected
DtThresholder DtVrfObjectStateRepository::myDeadReckoningThresholder
protected
DtEntityIdentifier DtVrfObjectStateRepository::myOccupyingObjectId
protected
DtArticulatedPartCollection DtVrfObjectStateRepository::myArtPartList
protected

This is created in createParts, and kept around to make setup of the network repository easier.

DtManagedObjectListConstPtr DtVrfObjectStateRepository::myVisibilityFilterList
protected

Shared list of visibility blocking objects.

DtRwVector DtVrfObjectStateRepository::myLocalPosition
protected

For backward compatibility with pre-2.0 VR-Forces oob files Registered as read-only, so they do not get written out to new oob files.

DtRwTaitBryan DtVrfObjectStateRepository::myLocalOrientation
protected
DtRwBoolean DtVrfObjectStateRepository::myIsDestroyedFlag
protected
DtEchelonId DtVrfObjectStateRepository::myEchelonId
protected
DtRwBoolean DtVrfObjectStateRepository::myIsSubordinateOfForceLevel
protected
DtRwInt DtVrfObjectStateRepository::myDesignator
protected

myDesignator is used for reading and writing only and is not valid at runtime.

Check the designator of the echelonId for the current designator.

DtRwBoolean DtVrfObjectStateRepository::myIndependentlyTasked
protected
DtSimObjectStateRepositoryFactory* DtVrfObjectStateRepository::theFactory
staticprotected
DtSimResourceManager DtVrfObjectStateRepository::myResourceManager
protected

This resource manager is used for all the top-level resource only.

Component Systems now contain resources, so most components will interact with these resource managers instead.

DtObjectResourceManager* DtVrfObjectStateRepository::myObjectResourceManager
protected
DtRwString DtVrfObjectStateRepository::myEngagementRules
protected
DtSimSector DtVrfObjectStateRepository::mySectorOfResponsibility
protected

These really apply to a single weapon, and should be part of a weapon controller/actuator suite of some sort.

DtRwBoolean DtVrfObjectStateRepository::myRequestTaskNeeded
protected

Moved here from the DtLocalTaskManager class.

DtTaskStatusList DtVrfObjectStateRepository::myTaskStatusList
protected

Contains the myTasked and myCurrentTaskMsg members from the DtTaskControllerComponent class.

It is a list because there may be a number of DtTaskControllerComponents for a given entity.

DtSuspendedTaskStatusList DtVrfObjectStateRepository::mySuspendedTaskStatusList
protected
DtRwInt DtVrfObjectStateRepository::myNextTaskId
protected

The next available ID that can be assigned to a task for this entity.

DtRwInt DtVrfObjectStateRepository::myNextSuspendId
protected
DtRwBoolean DtVrfObjectStateRepository::myParentWasDestroyedWhenEmbarked
protected

Set to true when the entity is embarked on a destroyed parent so they do not become destroyed.

If the parent is then restored to a non-destroyed state while the entity is embarked, this will then be set to false

const DtVrfObjectParameters* DtVrfObjectStateRepository::myParameterEntry
protected

For performance and memory usage reasons, the copy of the parameter entry that used to be made when creating a state repository is no longer made when the state repository is initialized.

The myParameterEntry will point to the original parameter entry in the parameter database and should only be accessed by the const DtVrfObjectParameters* parameterEntry() const method.

If you wish to get a copy of the parameter entry for modification, you should not access the myParameters entry directly, as it will be NULL on access until a copy is created. This copy will be created by calling the non const parameters() method to return the myParameters entry. If a copy does not exist, one will be created by calling the createParameters() method (at which point you can set the myParameters entry to your new parameter instance – this should be the only time you access the myParameters member variable directly). The parameters will then be initialized and then setupParameterInheritance() will be called.

If you try and access the myParameters variable directly, the program might crash at runtime due to the fact that it might be NULL, so, your code should be written (or modified) to only call the member function that will return the information you want: const DtVrfObjectParameters* parameterEntry() const will return a const pointer to the original parameter entry const DtVrfObjectParameters* parameters() const will also return a const pointer to the original parameter entry. This member function is provided for backwards compatibility only and could be depreciated in future versions DtVrfObjectParamters* parameters() will return a mutable copy of the original parameter entry. Changes to this entry will not effect the original pointer This is a pointer into the parameter database, and what it points to should not be modified. If you need to modify the entry, call the non-const accessor which will return a clone of the parameter entry that can be modified.

DtVrfObjectParameters* DtVrfObjectStateRepository::myParameters
protected

this is the parameter entry that this repository created.

It starts with values inherited from myParametersEntry

double DtVrfObjectStateRepository::myMinTickPeriod
protected

For variable tick rate support.

double DtVrfObjectStateRepository::myMinTickPeriodVariance
protected
double DtVrfObjectStateRepository::myNextTickTime
protected
double DtVrfObjectStateRepository::myLastTickSimTime
protected
DtAttachedTerrain* DtVrfObjectStateRepository::myTerrainAttachedTo
protected
DtSignatureModifierEvalMap DtVrfObjectStateRepository::mySignatureModifierEvalMap
protected

Map which holds a set of lists of signature modifier evaluators indexed by sensor domain.

Initialized by init from the parameter entry, and used by sensorSignature().

DtSensorSignatureCacheMap DtVrfObjectStateRepository::myMutableSensorSignatureCacheMap
mutableprotected

Maintains the current sensor signature (indexed by sensor domain) for this entity.

Calculated on first request, then used from the cache. The cache is cleared out each tick.

DtSensorContactInfoList DtVrfObjectStateRepository::myObjectContactList
protected

The situational awareness of this object.

List of other objects that this object is currently aware of.

DtPostInitializeFromParametersCallbackList DtVrfObjectStateRepository::myPostInitFromParamsCallbackList
protected
DtRangeItems DtVrfObjectStateRepository::myRangeItems
protected

Range item information.

Not used from ope but rather set by controllers that have range items that want to be published on the network

std::vector<DtRangeItem> DtVrfObjectStateRepository::myFixedRangeItems
protected
DtRwProperties DtVrfObjectStateRepository::myStateProperties
protected

Additional properties that are part of this state repository.

If also present in the FOM will be published on the network

DtRwProperties DtVrfObjectStateRepository::myParameterProperties
protected
ExtendedData DtVrfObjectStateRepository::myExtendedData
protected
DtRwStringAttributeList DtVrfObjectStateRepository::myRwExtendedData
protected
std::vector<DtString> DtVrfObjectStateRepository::myStatePropertiesNotToBeRestored
protected

The list of state properties that should not be updated by restoreStateProperties.

tbb::mutex DtVrfObjectStateRepository::myEvaluateSensorSignatureMutex
mutableprotected
JoystickControls DtVrfObjectStateRepository::myJoystickControls
protected

Map of available joystick controls for this particular entity.

bool DtVrfObjectStateRepository::myJoystickMovementControlled
protected

If true movement is controlled by joystick so will not be able to be taskable as a subordinate.

std::set<DtArticulatedPartStateRepository*> DtVrfObjectStateRepository::myArtParts
protected

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

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)