VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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. More...
 
- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString
aliasContainer
 
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
 
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
 
typedef std::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 

Public Member Functions

 DtVrfObjectStateRepository (DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 Constructor. More...
 
 DtVrfObjectStateRepository (const DtVrfObjectStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 Copy Constructor. More...
 
const DtVrfObjectStateRepositoryoperator= (const DtVrfObjectStateRepository &orig)
 Assignment Operator. More...
 
virtual ~DtVrfObjectStateRepository ()
 Destructor. More...
 
virtual
DtSimObjectStateRepository
clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
 Clone. More...
 
virtual DtString type () const
 returns DtSimObjectStateRepositoryType More...
 
virtual const int objectStateRepositorySubType () const
 Returns DtSimObjectStateRepositorySubTypeVrfObject. More...
 
virtual const int vrfObjectStateRepositorySubType () const
 Returns DtVrfObjectStateRepositorySubTypeBase. More...
 
virtual bool init ()
 Our 'virtual' constructor. Calls all the create<>() methods. More...
 
virtual bool createParameters ()
 
virtual void initializeFromParameters ()
 
virtual const
DtVrfObjectParameters
vrfParameters () const
 
virtual void setConcealed (bool)
 Sets weather or not this object is concealed. More...
 
virtual void setJoystickMovementControlled (bool)
 If true movement is controlled by joystick so will not be able to be taskable as a subordinate. More...
 
virtual bool joystickMovementControlled () const
 
virtual
DtVrfStateRepositoryUserExtension
userExtension () const
 User extension to state repository class. More...
 
virtual void restoreEntity ()
 Called on a setRestore command, sets destroyed to false and sets resources to initial (parameter file) levels. More...
 
virtual void updateCachedStateProperties ()
 Call to update any cached values that are representative of state properties. More...
 
virtual bool wouldBeRecursiveAttach (DtSimObjectStateRepository *parent) const
 Return true if attaching to this parent would cause a recursive attach. More...
 
virtual void restoreResourcesFromParameters ()
 
virtual bool isContactHostile (DtRwSensorContactInfo *) const
 Given the potential contacts, queries the engagement zone manager to see if that particular contact is hostile. More...
 
virtual bool isContactHostile (const DtVrfObject *) const
 This call will presume the object is of force type other and is only used for the location. More...
 
virtual bool isContactHostile (const DtVector &location, int perceivedForce) const
 Given the location and the perceived force, iterate over all the engagement zones this object is monitoring in order to see if any one of them says this object is hostile. More...
 
virtual bool inSOR (const DtVrfObject *entity) const
 
virtual bool canFireAt (const DtVector &location) const
 Returns true if this entity can fire upon the supplied location given the rules of engagement. More...
 
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. More...
 
virtual void clearCurrentTaskMsg (const DtSymbolString &componentName)
 Clear all the tasks with the specified component name. More...
 
virtual void clearCurrentTaskMsg (const DtSymbolString &componentName, int taskId)
 Clear the task with specified taskId and the specified component name. More...
 
virtual const DtTaskStatusListtaskStatusList () const
 
virtual DtTaskStatusListtaskStatusList ()
 
virtual DtSuspendedTaskStatusListsuspendedTaskStatusList ()
 
virtual DtTaskMessagetaskByType (const DtSimTaskMessageType &task) const
 Get the first task that is of the particular task type, if being executed. More...
 
virtual DtTaskMessagecurrentTaskMsg (const DtSymbolString &componentName) const
 Get the current task message. More...
 
virtual DtTaskMessagecurrentTaskMsg (const DtSymbolString &componentName, int taskId) const
 Get the current task message for the specified component and task ID. More...
 
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. More...
 
virtual bool placePoints (const DtAttachedTerrain &attachedTerrain, std::vector< DtGroundInteractionPt * > groundInteractionPts, bool *terrainDataAvailable=0) const
 Positions list of ground interaction points on the terrain surface closest to the specified location. More...
 
virtual void updateSupportPoints (const DtVector &newPosition, const DtReal newHeading)
 reading in a scenario, want to make sure the support points get set up properly. More...
 
virtual const
DtVrfObjectParameters
parameters () const
 
virtual DtVrfObjectParametersmodifiableParameters ()
 A modifiable local copy of parameters. More...
 
virtual void setupParameterInheritance ()
 Called by init(). More...
 
virtual bool createAttachments ()
 Override to create derived DtVrfAttachmentManager. More...
 
DtArticulatedPartStateRepositoryaddPart (DtArtPartType partType)
 These will be replaced by equivalents in the attachment manager. More...
 
void removePart (DtArtPartType partType)
 
DtArticulatedPartStateRepositorypart (DtArtPartType partType)
 
DtArticulatedPartStateRepositoryfindDescendantByType (DtArtPartType childType)
 
virtual void setInvisible (bool)
 Whether or not this item is invisible to sensors, line of sight, etc. More...
 
virtual bool invisible () const
 
virtual void setInvulnerable (bool)
 Whether or not this item is invulnerable. More...
 
virtual bool invulnerable () const
 
virtual void setUndetectable (bool)
 Whether or not this item is undetectable. More...
 
virtual bool undetectable () const
 
virtual void setBlockParachute (bool)
 Block parachute flag. Can be used to prevent parachute animations. More...
 
virtual bool blockParachute () const
 
virtual void setInvisibleSetByUser (bool)
 Whether or not this item was set invisible by a set command. More...
 
virtual bool invisibleSetByUser () const
 
bool sensorsKilled () const
 Indicates that the entity's sensors have been killed. More...
 
void setSensorsKilled (bool sensorsKilled)
 
bool isEntity () const
 
bool isLocal () const
 
bool isAggregate () const
 
void addSubordinate (const DtVrfObject *subordinateEntity)
 Adds an entity as a subordinate. More...
 
void removeSubordinate (const DtVrfObject *subordinateEntity)
 Removes entity from our list of subordinates. More...
 
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. More...
 
virtual void timedTick ()
 This version of tick checks to see if the time to tick has arrived (myNextTickTime <= exerciseClock()->approximateElapsedRealTime()). More...
 
virtual void setMinTickPeriod (double minTickPeriod)
 specifies a minimum tick period (which can also be thought of as More...
 
virtual double minTickPeriod () const
 access the minimum tick period More...
 
virtual void setMinTickPeriodVariance (double minTickPeriodVariance)
 set the variance in the minimum tick time More...
 
virtual double minTickPeriodVariance () const
 access the variance in the minimum tick period More...
 
virtual void setNextTickTime (double nextTickTime)
 The next tick time is normally calculated internally. More...
 
virtual double nextTickTime () const
 access the next tick time More...
 
virtual double calculateNextTickTime () const
 The next tick time is equal to mySimManager->exerciseClock()-> approximateElapsedRealTime() + myMinTickPeriod + a random # between -myMinTickPeriodVariance/2. More...
 
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. More...
 
virtual void setLocalOrientationWrtDatabase (const DtTaitBryan &localOrientation)
 
virtual DtVrfWeaponPSRfirstWeaponPSR () const
 This is provided for backward compatibility with setTarget capabilities. More...
 
virtual void processObjectGeometry (const DtList &vertices)
 Processes a list of DtVectors, such as might come in a create or modify message. More...
 
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). More...
 
virtual const
DtVrfObjectParameters
vrfBaseParameters () const
 
virtual DtGroundInteractionPtgroundCenter ()
 
virtual const
DtGroundInteractionPt
groundCenter () const
 
virtual void place (const DtVector &location, bool *dataAvailable=0, bool requireAllData=false)
 Place entity at 'location', on the ground, keeping its current heading. More...
 
virtual void place (const DtReal heading, bool *dataAvailable=0, bool requireAllData=false)
 Give entity the specified 'heading', but stay at its current location. More...
 
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. More...
 
virtual void reclampToGround ()
 Will cause the object to be replaced at it's current position and clamped to the terrain. More...
 
virtual void updatePositionFromModelVertices ()
 Note that this is not currently ever called. More...
 
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. More...
 
virtual void createParts ()
 This causes the art part tree to be created. More...
 
virtual DtTime lastTimeFiredUpon () const
 
virtual void setLastTimeFiredUpon (const DtTime time)
 
virtual bool underFire () const
 
virtual void setUnderFire (bool underFire)
 
virtual bool systemEnabled (const DtString &systemName) const
 
virtual void setSystemEnabled (const DtString &systemName, bool enabled)
 
virtual const
DtRwPriorityTargetListMap
targetPriorityList () const
 Get/set/append to target priority list. More...
 
virtual DtRwPriorityTargetListMaptargetPriorityList ()
 
virtual void setTargetPriorityList (const DtRwPriorityTargetListMap &targetPriorityList)
 
virtual void appendToTargetPriorityList (const DtRwPriorityTargetListMap &targetPriorityList)
 
virtual int targetPriorityLevel (const DtUUID &obj) const
 Returns a positive value of priority if object is in the target priority list Returns DtPriorityLevelInvalid otherwise. More...
 
virtual const DtStringnonLethalDamageEffect () const
 The current non lethal damage type. More...
 
virtual void setNonLethalDamageEffect (const DtString &nonLethalDamageEffect)
 
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. More...
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 Override getSelf to handle mapping of old pre-2.0 oob files. More...
 
virtual int nextTaskId ()
 Returns next unique task id for this entity. More...
 
virtual int nextSuspendId ()
 
virtual DtTaskMessagependingSubtask (int subtaskId, DtString &controller) const
 Returns the current subtask with the specified id. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void addAttachedTerrain (const DtUUID &parent)
 Asks the sim manager to look up the object model for the requested database. More...
 
virtual void removeAttachedTerrain (const DtUUID &parent)
 Decreases reference count of terrain model by name of object. More...
 
Dt3dBoundingVolume * boundingVolume () const
 Convenience method for accessing entity's bounding volume, stored in myObjectGeometry. More...
 
DtVector localBoundingVolumeCenterPosition () const
 Gets the local coordinates of the bounding volume center. More...
 
DtReal forwardSpeed () const
 
virtual double totalMass () const
 Returns the current total mass of the entity. More...
 
virtual void restoreStateProperties ()
 Restores state properties to their default settings. More...
 
virtual void initStatePropertiesNotToBeRestored ()
 Initializes the list of state properties which should not be restored. More...
 
virtual bool fuelLevelsFrozen ()
 check frozen state of fuel and munition levels More...
 
virtual bool munitionLevelsFrozen ()
 
virtual void addRangeItem (const DtRangeItem &)
 Adds, removes and returns items in the range item list. More...
 
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. More...
 
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. More...
 
virtual std::map< DtString,
DtString
unarchivedData () const
 Extended data that is not archived that is currently in the extended data list. More...
 
virtual void appendExtendedData (const std::map< DtString, DtString > &)
 Append extended data to extended data map. More...
 
virtual void setFiredLaserMissileAtTarget (const DtUUID &)
 If this is set, and the system component flag for blocking fire of other laser weapons when this is live is also true, other laser weapons on this system will not have permission to fire. More...
 
virtual const DtUUIDfiredLaserMissileAtTarget () const
 
virtual
DtVrfObjectStateRepository
toVrfObjectStateRepository ()
 
virtual const
DtVrfObjectStateRepository
toVrfObjectStateRepository () const
 
virtual void addRestoredCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr)
 Callback that is invoked when the entity is about to be removed from the simulation. More...
 
virtual void removeRestoredCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr)
 
virtual void invokeRestoredCallbacks ()
 
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. More...
 
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. More...
 
virtual DtSimResourceManageroldResourceManager ()
 
virtual DtSimResourceoldLookupResource (const DtString &resourceName)
 Gets a pointer to the resource named resourceName. More...
 
virtual const DtSimResourceoldLookupResource (const DtString &resourceName) const
 
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. More...
 
virtual void oldRemoveResource (DtSimResource *resource)
 This removes and deletes the specified resource. More...
 
virtual void setNavigationEnabled (bool)
 
virtual bool navigationEnabled () const
 
virtual void setSOR (DtReal center, DtReal size)
 Sector of responsibility. More...
 
virtual DtReal SORSize () const
 
virtual DtReal SORCenter () const
 
virtual const DtSimSectorSOR () const
 
virtual void setRequestTaskNeeded (bool value)
 Set/get whether or not this needs to send a request task needed message. More...
 
virtual bool requestTaskNeeded () const
 
virtual void setTasked (const DtSymbolString &componentName, bool tasked)
 Set/get whether or not a given entity component currently executing a task. More...
 
virtual void setTasked (const DtSymbolString &componentName, int taskID, bool tasked)
 
virtual bool tasked (const DtSymbolString &componentName) const
 
virtual void setCurrentTaskMsg (const DtSymbolString &componentName, const DtTaskMessage &taskMsg)
 Set the current task message. More...
 
virtual void setCurrentTaskMsg (const DtSymbolString &componentName, const DtTaskMessage &taskMsg, int taskId)
 
virtual void setIndependentlyTasked (bool value)
 Set/get whether or not this entity is currently independently tasked (separately from its unit). More...
 
virtual bool independentlyTasked () const
 
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. More...
 
virtual void setParameterEntry (DtVrfObjectParameters *parameterEntry)
 
virtual DtForceType forceType () const
 Get/Set the force type (team) of this entity. More...
 
virtual void setForceType (DtForceType force)
 
virtual bool createAppearance ()
 Encapsulates all the appearance related data and methods currently in the entity state repository. More...
 
virtual const DtAppearance * appearance () const
 
virtual DtAppearance * appearance ()
 
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. More...
 
virtual int capabilities () const
 
virtual void setDestroyed (bool isDestroyed)
 Destroyed status of entity (whether or not appearance()->damageState() is set to DtDamageDestroyed). More...
 
virtual bool isDestroyed () const
 
virtual void setOccupantsHidden (bool v)
 Whether or not the occupants of an entity are visually hidden. More...
 
virtual bool occupantsHidden () const
 
DtReal healthPct () const
 
void setHealthPct (DtReal pct)
 
bool firePowerKilled () const
 Convenience methods for setting setting entity's appearance bits in DtAppearance. More...
 
void setFirePowerKilled (const bool firePowerKilled)
 
bool mobilityKilled () const
 
void setMobilityKilled (const bool mobilityKilled)
 
bool flaming () const
 
void setFlaming (const bool flaming)
 
bool smoking () const
 
void setSmoking (const bool smoking)
 
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. More...
 
virtual void setDeadReckoningThresholder (const DtThresholder &thresholder)
 
virtual const DtEntityIdentifier & occupyingObjectId () const
 We hold the id of the object we are occupying. More...
 
virtual void setOccupyingObjectId (const DtEntityIdentifier &objId)
 
virtual void setEchelonId (const DtEchelonId &echelonId)
 The echelon ID of this object, if it is an organized object. More...
 
virtual DtEchelonIdechelonId ()
 
virtual const DtEchelonIdechelonId () const
 
virtual void setIsSubordinateOfForceLevel (bool yesNo)
 Indicates if this object's direct superior is a Force level object. More...
 
virtual bool isSubordinateOfForceLevel () const
 
virtual int spawningTaskId (int subtaskId) const
 Functions for manipulating the set of pending subtask Ids for all components in the entity. More...
 
virtual void addPendingSubtaskId (const DtSymbolString &componentName, int subtaskId)
 
virtual void addPendingSubtaskId (const DtSymbolString &componentName, int taskId, int subtaskId)
 
virtual bool findPendingSubtaskId (const DtSymbolString &componentName, int subtaskId)
 
virtual bool isSubtasked (const DtSymbolString &componentName) const
 
virtual bool findPendingSubtaskId (const DtSymbolString &componentName, int taskId, int subtaskId)
 
virtual void removePendingSubtaskId (const DtSymbolString &componentName, int subtaskId)
 
virtual void removePendingSubtaskId (const DtSymbolString &componentName, int taskId, int subtaskId)
 
virtual void removeAllPendingSubtaskIds (const DtSymbolString &componentName)
 
virtual void removeAllPendingSubtaskIds (const DtSymbolString &componentName, int taskId)
 
virtual void removeInactiveSubtaskStatus (const DtSymbolString &componentName)
 
virtual void removeInactiveSubtaskStatus (const DtSymbolString &componentName, int taskId)
 
virtual void printPendingSubtaskIds (const DtSymbolString &componentName) const
 
virtual std::vector< intcurrentPendingSubstaskIds (const DtSymbolString &componentName) const
 
virtual std::vector< intcurrentPendingSubstaskIds (const DtSymbolString &componentName, int taskId) const
 
virtual DtSubtaskStatusEntrypendingSubtaskStatus (const DtSymbolString &componentName, int subtaskId)
 
virtual DtSubtaskStatusEntrypendingSubtaskStatus (const DtSymbolString &componentName, int taskId, int subtaskId)
 
DtReal currentSpeed () const
 Returns magnitude of relative velocity in state repository. More...
 
DtReal currentHeading () const
 Heading in radians. Calls down to DtVrfKinematicState for heading. More...
 
void setCurrentHeading (const DtReal heading)
 
virtual const
DtRwNLengthUUIDVector
engagementZones () const
 Accessor/mutator for engagement zones. More...
 
virtual void setEngagementZones (const DtRwNLengthUUIDVector &)
 
virtual void addPostInitFromParamsCallback (DtPostInitializeFromParametersCallbackFcn fcn, void *usr)
 Add/remove callback function to be invoked immediately following execution of initializeFromParameters. More...
 
virtual void removePostInitFromParamsCallback (DtPostInitializeFromParametersCallbackFcn fcn, void *usr)
 
virtual DtRwPropertiesstateProperties ()
 Accesses to the properties. More...
 
virtual const DtRwPropertiesstateProperties () const
 
virtual DtRwPropertiesparameterProperties ()
 Access to static (parameter) properties. More...
 
virtual const DtRwPropertiesparameterProperties () const
 
virtual DtSensorContactInfoListobjectContactList ()
 Situational awareness of this object. More...
 
virtual const
DtSensorContactInfoList
objectContactList () const
 
- 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. More...
 
virtual DtVrfKinematicStatevrfKinematicState ()
 
virtual const DtVrfKinematicStatevrfKinematicState () const
 
virtual bool createObjectGeometry ()
 
virtual DtVrfObjectGeometryvrfObjectGeometry ()
 
virtual const DtVrfObjectGeometryvrfObjectGeometry () const
 
virtual DtAttachmentManagerattachments ()
 
virtual const DtAttachmentManagerattachments () const
 
virtual DtArticulatedPartManagerarticulatedParts ()
 
virtual const
DtArticulatedPartManager
articulatedParts () const
 
virtual const
DtSimObjectStateRepository
parent () const
 
virtual bool isEmbarkedOn (const DtUUID &parent) const
 
virtual const DtUUIDattachedToRepository () const
 
virtual
DtSimObjectStateRepository
findRootSimStateRepository ()
 
virtual const
DtSimObjectStateRepository
findRootSimStateRepository () const
 
virtual void setOwnedByHostObject (bool)
 When state repositories get added to the attachment manager, the attachment manager assumes it takes ownership of that state repository, and, when it is deleted, it will destroy any state repository that is still attached. More...
 
virtual bool ownedByHostObject () const
 
virtual void ancestorObjectChanged ()
 
virtual void preGetSelf ()
 Hook function called immediately prior to getSelf(). More...
 
virtual void removeRepositoryAboutToBeDeletedCallback (DtSimObjectStateRepositoryAboutToBeDeletedCallbackFcn, void *usr)
 Add/remove callback for notification that this state repository is about to be deleted. More...
 
virtual void addRepositoryAboutToBeDeletedCallback (DtSimObjectStateRepositoryAboutToBeDeletedCallbackFcn, void *usr)
 
virtual void invokeRepositoryAboutToBeDeletedCallbacks ()
 
virtual void processUUIDChanged (const DtVrfObjectUUIDChangedCallbackInfo &)
 
virtual void setCoordinateSystem (const Coordinate_System *coordinateSystem)
 Sets the coordinate system in myObjectGeometry and myKinematicState. More...
 
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. More...
 
virtual void setBodyPosition (const DtVector &pos)
 Formerly setMeInParent. More...
 
virtual void setBodyPosition (DtFloat64 x, DtFloat64 y, DtFloat64 z)
 
const DtDcm & bodyOrientationMatrix () const
 Formerly meToParent(). More...
 
virtual void embarkOnParent (const DtUUID &parent)
 Embarks this entity on the specified parent. More...
 
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. More...
 
const Coordinate_SystemcoordinateSystem () const
 
virtual void removeVertex (int iIndex)
 These routines simply call down to the kinematic state to get/set the results. More...
 
virtual void addLocalVertex (const DtVector &vertex)
 
virtual void addLocalVertex (const DtVector &vertex, DtVector &newGeometricCenter)
 
virtual void setLocalVertices (const DtLocalVertexList &vertices, DtVector &newGeometricCenter)
 
virtual void setLocalVertices (const DtList &vertices, DtVector &newGeometricCenter)
 
virtual const DtLocalVertexListlocalVertices () const
 
virtual const
DtLocalVectorIterator
localVertexIterator () const
 
virtual void addWorldVertex (const DtVector &vertex, DtVector &newGeometricCenter)
 
virtual void setWorldVertices (const DtVertexList &vertices, DtVector &newGeometricCenter)
 
virtual void setWorldVertices (const DtList &vertices, DtVector &newGeometricCenter)
 
virtual const DtVertexListworldVertices () const
 
virtual const DtRwVectorIteratorworldVertexIterator () const
 
virtual void setRelativeVertices (const DtLocalVertexList &vertices)
 Access/modify vertices relative to to the parent to which this object is attached. More...
 
virtual void setRelativeVertices (const DtList &vertices)
 
virtual const DtLocalVertexListrelativeVertices () const
 
virtual const
DtLocalVectorIterator
relativeVertexIterator () const
 
const DtVectorlocalPosition () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState. More...
 
void setLocalPosition (const DtVector &pos)
 
const DtVectorlocalVelocity () const
 
void setLocalVelocity (const DtVector &vel)
 
const DtVectorlocalAcceleration () const
 
void setLocalAcceleration (const DtVector &acc)
 
const DtVectorrelativeVelocity () const
 
void setRelativeVelocity (const DtVector &vel)
 
const DtVectorrelativeAcceleration () const
 
void setRelativeAcceleration (const DtVector &acc)
 
const DtTaitBryan & localOrientation () const
 
void setLocalOrientation (const DtTaitBryan &angles)
 
const DtVectorworldPosition () const
 
void setWorldPosition (const DtVector &pos)
 
const DtVectorworldVelocity () const
 
void setWorldVelocity (const DtVector &vel)
 
const DtVectorworldAcceleration () const
 
void setWorldAcceleration (const DtVector &acc)
 
const DtTaitBryan & worldOrientation () const
 
void setWorldOrientation (const DtTaitBryan &angles)
 
const DtVectorrotationalVelocity () const
 
void setRotationalVelocity (const DtVector &rotationalVelocity)
 
const DtDcm & localOrientationMatrix () const
 
void setLocalOrientationMatrix (const DtDcm &orient)
 
void setParentPosition (const DtVector &pos)
 
const double lastPositionSetTime () const
 Indicates the last time the position was set, so that a precise position at the current time may be computed. More...
 
void setLastPositionSetTime (const double simTime)
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 default constructor More...
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 real constructor Setting the readonly flag prevents object from writing itself to the stream. More...
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 pseudo-copy constructor More...
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor More...
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator More...
 
bool operator== (const DtReaderWriter &) const
 Equivalence operator. More...
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 destructor More...
 
virtual void postPutSelf ()
 Called after either version of put self (file or environment). Default is no-op. More...
 
virtual void prePutSelf ()
 Called before either version of put self (file or environment). Default is no-op. More...
 
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. More...
 
virtual DtSymbolString name () const
 Accessor for name of this readable/writable object. More...
 
virtual void addAlias (const DtSymbolString &alias)
 Add an alias as an alternative name for this object. More...
 
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. More...
 
bool isReadonly () const
 
virtual void reset ()
 For those reader/writer items that support it, resets the reader/writer value to original state Default is no-op. More...
 
virtual int alignment () const
 For those items that are sent over the network via HLA, this will give the network alignment. More...
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 Sets the myVariableIsBound flag to false. More...
 
virtual void setName (const DtString &)
 Set the name of the object. More...
 
virtual const charreaderWriterType () const
 Used to supply a string type that this reader writer type is. More...
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable. More...
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 Runs a variable binding pass on this reader writer and any of its children. More...
 
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. More...
 
virtual bool hasVariableReference () const
 Returns true if this item or any item in the registry (recursive) is a variable reference. More...
 
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. More...
 
virtual void recordUpdateTime () const
 Can be implemented in subclasses to stamp the time when updated. More...
 
virtual bool wasUpdatedSince (DtTime t) const
 Can be implemented in subclasses to return true if an update occurred after the specified time. More...
 
virtual bool changedSinceLastChecked ()
 Returns true if this objects value has changed since the last time this function was called. More...
 
virtual bool peekChangedSinceLastChecked () const
 Returns the value that changedSinceLastChecked would return but does not reset the internal flag. More...
 
virtual DtlObjPtr getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 The specified flags are used for optional values. More...
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 Specifies whether or not this reader writer is really a variable that is specified elsewhere. More...
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 Clears out all variable reference flags from all readerwriter items in registry recursively. More...
 
virtual DtSymbolString variableName () const
 The variable name, if this object is a variable reference. More...
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 The default value to use if the reader/writer object is a variable and that variable is not specified. More...
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 Previous default value, if exists, will be removed and replaced with a clone of the supplied variable. More...
 
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. More...
 
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object. More...
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 Iterates over the registry (recursively) and returns a variable bindings object that contains all the variables that are contained in this read/writer class. More...
 
virtual bool toXml (const DtFilename &) const
 Writes contents of xml result to the given filename. More...
 
virtual bool fromXml (const DtString &)
 Restores object from given xml string. Returns true if valid. More...
 
virtual bool fromXmlFile (const DtFilename &)
 Restores object from given xml file. More...
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 Override to add attributes of actual data. More...
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 Called when the item is a variable reference. More...
 
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. More...
 
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. More...
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 Called when the item is a variable reference. More...
 

Static Public Member Functions

static bool shouldArchiveExtendedAttribute (const DtString &)
 true if the given attribute should be archived. Use static methods to add/remove keywords More...
 
static void doNotArchiveAttribute (const DtString &, bool)
 
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. More...
 
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. More...
 
static void setFactory (DtSimObjectStateRepositoryFactory *factory)
 
- Static Public Member Functions inherited from DtSimObjectStateRepository
static void completeAttachmentCallback (const DtVrfObject *simObject, void *usr)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent. More...
 
static void objectAboutToBeRemovedCallback (const DtVrfObject *simObject, void *usr)
 
static void uuidChangedCallback (const DtVrfObjectUUIDChangedCallbackInfo &, void *usr)
 
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. More...
 
static const DtFilename & appPath ()
 Gets the current working directory. More...
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 Sets the function to create the DtReaderWriterFactory. More...
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 Given a filename, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 Given a xml string, returns a newly created reader/writer object from the object found within. More...
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 Given a xml environment, returns a newly created reader/writer object from the object found within. More...
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 Gets the named attribute from a DtEnvValueSP. More...
 

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 Types inherited from DtSimObjectStateRepository
typedef DtCallbackList
< DtSimObjectStateRepository * > 
DtAboutToBeDeletedCallbacksList
 

Protected Member Functions

 DtVrfObjectStateRepository ()
 Default Constructor. Do not use. More...
 
virtual void initializeNextTaskId ()
 Initializes myNextTaskId to the next highest integer than the highest subtask Id currently maintained in myTaskStatusList. More...
 
virtual void setOrientationRelativeToParent ()
 If attached to a parent, and a terrain database is present, set orientation relative to parent. More...
 
virtual DtAttachedTerraincreateAttachedTerrain ()
 
virtual void createPartsFromDescriptors (const std::list< DtSimArtPartDescriptor * > &partDescriptors, const std::list< DtSimArtPartDescriptor * > &partDefaultsFromActuators)
 Creates the articulated parts for an entity from articulated part descriptors. More...
 
virtual void postGetSelf ()
 Hook function called immediately following getSelf(). More...
 
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. More...
 
virtual bool initSignatureEvaluators ()
 Sets up all the sensor signature evaluators in mySignatureEvalMap based on the parameter entry for this entity. More...
 
void clearSignatureEvaluators ()
 Removes and deletes all signature evaluators. More...
 
virtual bool createObjectResourceManager ()
 Creates and sets myObjectResourceManager. More...
 
virtual void invokePostInitFromParamsCallbacks ()
 Invokes all callbacks registered via a call to addPostInitFromParamsCallback. More...
 
virtual void embarkedParentDeleted ()
 Called when the embarked parent is deleted. More...
 
- Protected Member Functions inherited from DtSimObjectStateRepository
 DtSimObjectStateRepository (const DtSimObjectStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 
 DtSimObjectStateRepository ()
 Default Constructor; not implemented. More...
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 Copies values from the specified DtReaderWriter. More...
 

Static Protected Member Functions

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

Protected Attributes

DtVrfStateRepositoryUserExtensionmyStateRepositoryUserExtension
 
DtRwAppearancemyAppearance
 
DtRwInt myCapabilities
 
DtRwBoolean mySensorsKilled
 
DtRwForceType myForceType
 
DtRwNLengthUUIDVector myEngagementZones
 
DtVrfSubordinateManagermySubordinates
 each of these has_a DtSubObjectManager More...
 
DtRwUUID myParent
 if this object is a subordinate, this is used to write out the name of the parent More...
 
DtVrfProcessStateRepositoryManagermySystemProcessSRManager
 
DtLegacyProcessStateRepositoryManagermyLegacyPSRManager
 Used only to read in scenarios from pre VRF 3.11. More...
 
DtSimManagermySimManager
 
DtGroundInteractionPt myGroundCenter
 
bool myUnderFire
 Under fire parameters. More...
 
DtTime myLastTimeFiredUpon
 
DtRwStringList mySystemsDisabledList
 Systems which have had their default enable state changed to disabled. More...
 
DtRwInt mySuppressionLevel
 The current enumerated level of suppression, derived from the value. More...
 
DtRwString myNonLethalDamageEffect
 The current non lethal damage type (sick, faint, etc.). More...
 
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. More...
 
DtManagedObjectListConstPtr myVisibilityFilterList
 Shared list of visibility blocking objects. More...
 
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. More...
 
DtRwTaitBryan myLocalOrientation
 
DtRwBoolean myIsDestroyedFlag
 
DtEchelonId myEchelonId
 
DtRwBoolean myIsSubordinateOfForceLevel
 
DtRwInt myDesignator
 myDesignator is used for reading and writing only and is not valid at runtime. More...
 
DtRwBoolean myIndependentlyTasked
 
DtSimResourceManager myResourceManager
 This resource manager is used for all the top-level resource only. More...
 
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. More...
 
DtRwBoolean myRequestTaskNeeded
 Moved here from the DtLocalTaskManager class. More...
 
DtTaskStatusList myTaskStatusList
 Contains the myTasked and myCurrentTaskMsg members from the DtTaskControllerComponent class. More...
 
DtSuspendedTaskStatusList mySuspendedTaskStatusList
 
DtRwInt myNextTaskId
 The next available ID that can be assigned to a task for this entity. More...
 
DtRwInt myNextSuspendId
 
DtRwBoolean myParentWasDestroyedWhenEmbarked
 Set to true when the entity is embarked on a destroyed parent so they do not become destroyed. More...
 
DtRwBoolean myNavigationEnabled
 Whether or not this object can navigate in navigation areas. Default is true. More...
 
DtRwPriorityTargetListMap myTargetPriorityList
 Target Priority List. More...
 
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. More...
 
DtVrfObjectParametersmyParameters
 this is the parameter entry that this repository created. More...
 
double myMinTickPeriod
 For variable tick rate support. More...
 
double myMinTickPeriodVariance
 
double myNextTickTime
 
double myLastTickSimTime
 
DtAttachedTerrainmyTerrainAttachedTo
 
DtSignatureModifierEvalMap mySignatureModifierEvalMap
 Map which holds a set of lists of signature modifier evaluators indexed by sensor domain. More...
 
DtSensorSignatureCacheMap myMutableSensorSignatureCacheMap
 Maintains the current sensor signature (indexed by sensor domain) for this entity. More...
 
DtSensorContactInfoList myObjectContactList
 The situational awareness of this object. More...
 
DtPostInitializeFromParametersCallbackList myPostInitFromParamsCallbackList
 
DtRangeItems myRangeItems
 Range item information. More...
 
DtRwProperties myStateProperties
 Additional properties that are part of this state repository. More...
 
DtRwProperties myParameterProperties
 
ExtendedData myExtendedData
 
DtRwStringAttributeList myRwExtendedData
 
bool myUsingTempStateProperties
 
DtRwProperties myTempStateProperties
 
std::vector< DtStringmyStatePropertiesNotToBeRestored
 The list of state properties that should not be updated by restoreStateProperties. More...
 
tbb::mutex myEvaluateSensorSignatureMutex
 
JoystickControls myJoystickControls
 Map of available joystick controls for this particular entity. More...
 
bool myJoystickMovementControlled
 If true movement is controlled by joystick so will not be able to be taskable as a subordinate. More...
 
DtVrfObjectCallbackList myRestoredCallbacks
 List of callbacks for when this entity is restores. More...
 
DtRwUUID myFiredLaserMissileAtTarget
 
- Protected Attributes inherited from DtSimObjectStateRepository
DtVrfObjectmySimObject
 
DtRwObjectType myObjectType
 
DtVrfObjectGeometrymyObjectGeometry
 
DtVrfKinematicStatemyKinematicState
 
DtRwReal myLastPositionSetTime
 
DtAttachmentManagermyAttachments
 
DtArticulatedPartManager myArticulatedParts
 
DtSimObjectStateRepositorymyAttachedToRepository
 
DtRwUUID myAttachedToRepositoryUUID
 used for reading & writing the name of myAttachedToRepository More...
 
DtSimObjectStateRepositorymyRootSimStateRepository
 
const Coordinate_SystemmyCoordinateSystemPtr
 Caches pointer to coordinate system so it can set it after myKinematic state is created. More...
 
DtKinematicStateCSmyEmbarkedKinematicState
 
DtAboutToBeDeletedCallbacksList myRepositoryAboutToBeRemovedCallbacksList
 
tbb::spin_rw_mutex myRepositoryAboutToBeRemovedCallbacksListMutex
 
bool myOwnedByHostObject
 
- 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. More...
 
bool myInvalid
 Set to true if there is a problem reading this item. More...
 
bool myChangedFlag
 Set to true when value changes Set to false when value checked with changedSinceLastChecked. More...
 

Static Protected Attributes

static
DtSimObjectStateRepositoryFactory
theFactory
 
static std::set< DtStringtheDoNotArchiveAttributes
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 
virtual bool processCompleteAttachment (const DtVrfObject *)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent. More...
 
virtual void processObjectAboutToBeRemovedCallback (const DtVrfObject *vrfObject)
 
static void objectAboutToBeRemovedCallback (const DtVrfObject *vrfObject, void *usr)
 
enum  suppressionLevels { DtNoSuppression = 0, DtSuppressed1 = 1, DtSuppressed2 = 2, DtSuppressed3 = 3 }
 The current suppression level. More...
 
virtual suppressionLevels suppressionLevel () const
 
virtual void setSuppressionLevel (const suppressionLevels l)
 
virtual bool isSuppressed () const
 
virtual void processTaskComplete (const DtVrfObjectMessage *msg)
 
static void taskCompleteCallback (const DtVrfObjectMessage *msg, void *usr)
 Handles state changes for the subtask status list. More...
 

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::setConcealed ( bool  )
virtual

Sets weather or not this object is concealed.

Call with care as not all objects support this and setting concealed could have effects of actually setting other appearance bits

Reimplemented in DtHumanStateRepository.

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 DtFixedWingEntityStateRepository, and DtRotaryWingEntityStateRepository.

virtual void DtVrfObjectStateRepository::addRestoredCallback ( DtVrfObjectCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual

Callback that is invoked when the entity is about to be removed from the simulation.

virtual void DtVrfObjectStateRepository::removeRestoredCallback ( DtVrfObjectCallbackList::DtCallbackFunctionType  fcn,
void *  usr 
)
virtual
virtual void DtVrfObjectStateRepository::invokeRestoredCallbacks ( )
virtual
virtual void DtVrfObjectStateRepository::updateCachedStateProperties ( )
virtual

Call to update any cached values that are representative of state properties.

This is done for efficiency rather than having to look up state property values by name each time

Reimplemented in DtVrfOverlayObjectStateRepository.

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, DtMinefieldStateRepository, and DtVrfScenarioEventStateRepository.

virtual void DtVrfObjectStateRepository::clearExtendedData ( )
virtual
virtual void DtVrfObjectStateRepository::removeExtendedData ( const DtString key)
virtual
virtual DtString DtVrfObjectStateRepository::extendedData ( const DtString key) const
virtual
const ExtendedData& DtVrfObjectStateRepository::extendedDataMap ( ) const
inline
virtual void DtVrfObjectStateRepository::setExtendedDataMap ( const ExtendedData )
virtual
virtual void DtVrfObjectStateRepository::setExtendedDataMap ( const std::map< std::string, std::string > &  )
virtual
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
virtual DtString DtVrfObjectStateRepository::extendedLabel ( int  index) const
virtual
virtual ExtendedLabels DtVrfObjectStateRepository::extendedLabels ( ) const
virtual
virtual void DtVrfObjectStateRepository::setExtendedLabels ( const ExtendedLabels )
virtual
virtual void DtVrfObjectStateRepository::addJoystickControls ( const DtRwJoystickControls )
virtual

Available joystick controls

virtual const JoystickControls& DtVrfObjectStateRepository::joystickControls ( ) const
virtual
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
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
virtual const DtSimResourceManager& DtVrfObjectStateRepository::oldResourceManager ( ) const
virtual

Returns a reference to our resource manager.

virtual DtSimResourceManager& DtVrfObjectStateRepository::oldResourceManager ( )
virtual
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
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::setNavigationEnabled ( bool  )
virtual

Accessors for whether or not this object should use gameware navigation to move when in a navigation area. Default is true

virtual bool DtVrfObjectStateRepository::navigationEnabled ( ) const
virtual
virtual bool DtVrfObjectStateRepository::wouldBeRecursiveAttach ( DtSimObjectStateRepository parent) const
virtual

Return true if attaching to this parent would cause a recursive attach.

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
virtual DtReal DtVrfObjectStateRepository::SORCenter ( ) const
virtual
virtual const DtSimSector& DtVrfObjectStateRepository::SOR ( ) const
virtual
virtual bool DtVrfObjectStateRepository::isContactHostile ( DtRwSensorContactInfo ) const
virtual

Given the potential contacts, queries the engagement zone manager to see if that particular contact is hostile.

This will pass a location into the engagement zone manager and the perceived force.

virtual bool DtVrfObjectStateRepository::isContactHostile ( const DtVrfObject ) const
virtual

This call will presume the object is of force type other and is only used for the location.

virtual bool DtVrfObjectStateRepository::isContactHostile ( const DtVector location,
int  perceivedForce 
) const
virtual

Given the location and the perceived force, iterate over all the engagement zones this object is monitoring in order to see if any one of them says this object is hostile.

Location is in local coordinates

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 bool DtVrfObjectStateRepository::canFireAt ( const DtVector location) const
virtual

Returns true if this entity can fire upon the supplied location given the rules of engagement.

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
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
virtual bool DtVrfObjectStateRepository::tasked ( const DtSymbolString componentName) const
virtual
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
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::taskByType ( const DtSimTaskMessageType task) const
virtual

Get the first task that is of the particular task type, if being executed.

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.
static bool DtVrfObjectStateRepository::shouldArchiveExtendedAttribute ( const DtString )
static

true if the given attribute should be archived. Use static methods to add/remove keywords

static void DtVrfObjectStateRepository::doNotArchiveAttribute ( const DtString ,
bool   
)
static
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 ( const DtAttachedTerrain attachedTerrain,
std::vector< DtGroundInteractionPt * >  groundInteractionPts,
bool terrainDataAvailable = 0 
) const
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
virtual bool DtVrfObjectStateRepository::processCompleteAttachment ( const 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 ( const DtVrfObject vrfObject,
void *  usr 
)
static
virtual void DtVrfObjectStateRepository::processObjectAboutToBeRemovedCallback ( const DtVrfObject vrfObject)
virtual

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

static void DtVrfObjectStateRepository::setFactory ( DtSimObjectStateRepositoryFactory factory)
static
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

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
virtual bool DtVrfObjectStateRepository::createAttachments ( )
virtual

Override to create derived DtVrfAttachmentManager.

Reimplemented from DtSimObjectStateRepository.

DtArticulatedPartStateRepository* DtVrfObjectStateRepository::addPart ( DtArtPartType  partType)

These will be replaced by equivalents in the attachment manager.

void DtVrfObjectStateRepository::removePart ( DtArtPartType  partType)
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
virtual DtAppearance* DtVrfObjectStateRepository::appearance ( )
virtual
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
virtual void DtVrfObjectStateRepository::setDestroyed ( bool  isDestroyed)
virtual

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

Reimplemented in DtHumanStateRepository.

virtual bool DtVrfObjectStateRepository::isDestroyed ( ) const
virtual
virtual void DtVrfObjectStateRepository::setInvisible ( bool  )
virtual

Whether or not this item is invisible to sensors, line of sight, etc.

This will set a flag in the extended data

virtual bool DtVrfObjectStateRepository::invisible ( ) const
virtual
virtual void DtVrfObjectStateRepository::setOccupantsHidden ( bool  v)
virtual

Whether or not the occupants of an entity are visually hidden.

This applies to the non-published occupants inserted into vehicles by the visual system, not to entities that have been embarked onto a vehicle.

virtual bool DtVrfObjectStateRepository::occupantsHidden ( ) const
virtual
virtual void DtVrfObjectStateRepository::setInvulnerable ( bool  )
virtual

Whether or not this item is invulnerable.

virtual bool DtVrfObjectStateRepository::invulnerable ( ) const
virtual
virtual void DtVrfObjectStateRepository::setUndetectable ( bool  )
virtual

Whether or not this item is undetectable.

virtual bool DtVrfObjectStateRepository::undetectable ( ) const
virtual
virtual void DtVrfObjectStateRepository::setBlockParachute ( bool  )
virtual

Block parachute flag. Can be used to prevent parachute animations.

virtual bool DtVrfObjectStateRepository::blockParachute ( ) const
virtual
virtual void DtVrfObjectStateRepository::setInvisibleSetByUser ( bool  )
virtual

Whether or not this item was set invisible by a set command.

This can become important when an object is embarked and its invisibility state is changed

virtual bool DtVrfObjectStateRepository::invisibleSetByUser ( ) const
virtual
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)
bool DtVrfObjectStateRepository::firePowerKilled ( ) const

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

void DtVrfObjectStateRepository::setFirePowerKilled ( const bool  firePowerKilled)
bool DtVrfObjectStateRepository::mobilityKilled ( ) const
void DtVrfObjectStateRepository::setMobilityKilled ( const bool  mobilityKilled)
bool DtVrfObjectStateRepository::flaming ( ) const
void DtVrfObjectStateRepository::setFlaming ( const bool  flaming)
bool DtVrfObjectStateRepository::smoking ( ) const
void DtVrfObjectStateRepository::setSmoking ( const bool  smoking)
bool DtVrfObjectStateRepository::sensorsKilled ( ) const

Indicates that the entity's sensors have been killed.

void DtVrfObjectStateRepository::setSensorsKilled ( bool  sensorsKilled)
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
void DtVrfObjectStateRepository::addSubordinate ( const 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 ( const 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
virtual DtPhysicalWorld* DtVrfObjectStateRepository::physicalWorld ( )
virtual
Returns
A pointer to the single DtPhysicalWorld class instance for this CGF.
virtual const DtPhysicalWorld* DtVrfObjectStateRepository::physicalWorld ( ) const
virtual
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 DtMinefieldStateRepository, DtCulturalFeatureStateRepository, DtMissileStateRepository, 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
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 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::reclampToGround ( )
virtual

Will cause the object to be replaced at it's current position and clamped to the terrain.

Reimplemented in DtVrfMovingObjectStateRepository.

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 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 bool DtVrfObjectStateRepository::systemEnabled ( const DtString systemName) const
virtual
virtual void DtVrfObjectStateRepository::setSystemEnabled ( const DtString systemName,
bool  enabled 
)
virtual
virtual const DtRwPriorityTargetListMap& DtVrfObjectStateRepository::targetPriorityList ( ) const
virtual

Get/set/append to target priority list.

virtual DtRwPriorityTargetListMap& DtVrfObjectStateRepository::targetPriorityList ( )
virtual
virtual void DtVrfObjectStateRepository::setTargetPriorityList ( const DtRwPriorityTargetListMap targetPriorityList)
virtual
virtual void DtVrfObjectStateRepository::appendToTargetPriorityList ( const DtRwPriorityTargetListMap targetPriorityList)
virtual
virtual int DtVrfObjectStateRepository::targetPriorityLevel ( const DtUUID obj) const
virtual

Returns a positive value of priority if object is in the target priority list Returns DtPriorityLevelInvalid otherwise.

virtual suppressionLevels DtVrfObjectStateRepository::suppressionLevel ( ) const
virtual
virtual void DtVrfObjectStateRepository::setSuppressionLevel ( const suppressionLevels  l)
virtual
virtual bool DtVrfObjectStateRepository::isSuppressed ( ) const
virtual
virtual const DtString& DtVrfObjectStateRepository::nonLethalDamageEffect ( ) const
virtual

The current non lethal damage type.

virtual void DtVrfObjectStateRepository::setNonLethalDamageEffect ( const DtString nonLethalDamageEffect)
virtual
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
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
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
virtual const DtEchelonId& DtVrfObjectStateRepository::echelonId ( ) const
virtual
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
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, DtWeatherStateRepository, DtVrfOverlayObjectStateRepository, DtRotaryWingEntityStateRepository, DtVrfAggregateStateRepository, DtVrfScenarioEventStateRepository, and DtGlobalEnvironmentStateRepository.

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
virtual void DtVrfObjectStateRepository::addPendingSubtaskId ( const DtSymbolString componentName,
int  taskId,
int  subtaskId 
)
virtual
virtual bool DtVrfObjectStateRepository::findPendingSubtaskId ( const DtSymbolString componentName,
int  subtaskId 
)
virtual
virtual bool DtVrfObjectStateRepository::isSubtasked ( const DtSymbolString componentName) const
virtual
virtual bool DtVrfObjectStateRepository::findPendingSubtaskId ( const DtSymbolString componentName,
int  taskId,
int  subtaskId 
)
virtual
virtual void DtVrfObjectStateRepository::removePendingSubtaskId ( const DtSymbolString componentName,
int  subtaskId 
)
virtual
virtual void DtVrfObjectStateRepository::removePendingSubtaskId ( const DtSymbolString componentName,
int  taskId,
int  subtaskId 
)
virtual
virtual void DtVrfObjectStateRepository::removeAllPendingSubtaskIds ( const DtSymbolString componentName)
virtual
virtual void DtVrfObjectStateRepository::removeAllPendingSubtaskIds ( const DtSymbolString componentName,
int  taskId 
)
virtual
virtual void DtVrfObjectStateRepository::removeInactiveSubtaskStatus ( const DtSymbolString componentName)
virtual
virtual void DtVrfObjectStateRepository::removeInactiveSubtaskStatus ( const DtSymbolString componentName,
int  taskId 
)
virtual
virtual void DtVrfObjectStateRepository::printPendingSubtaskIds ( const DtSymbolString componentName) const
virtual
virtual std::vector<int> DtVrfObjectStateRepository::currentPendingSubstaskIds ( const DtSymbolString componentName) const
virtual
virtual std::vector<int> DtVrfObjectStateRepository::currentPendingSubstaskIds ( const DtSymbolString componentName,
int  taskId 
) const
virtual
virtual DtSubtaskStatusEntry* DtVrfObjectStateRepository::pendingSubtaskStatus ( const DtSymbolString componentName,
int  subtaskId 
)
virtual
virtual DtSubtaskStatusEntry* DtVrfObjectStateRepository::pendingSubtaskStatus ( const DtSymbolString componentName,
int  taskId,
int  subtaskId 
)
virtual
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, and DtCulturalFeatureStateRepository.

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 DtVrfOverlayObjectStateRepository, and DtFixedWingEntityStateRepository.

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().
virtual double DtVrfObjectStateRepository::totalMass ( ) const
virtual

Returns the current total mass of the entity.

Reimplemented in DtVrfAggregateStateRepository.

DtReal DtVrfObjectStateRepository::currentHeading ( ) const

Heading in radians. Calls down to DtVrfKinematicState for heading.

void DtVrfObjectStateRepository::setCurrentHeading ( const DtReal  heading)
virtual const DtRwNLengthUUIDVector& DtVrfObjectStateRepository::engagementZones ( ) const
virtual

Accessor/mutator for engagement zones.

virtual void DtVrfObjectStateRepository::setEngagementZones ( const DtRwNLengthUUIDVector )
virtual
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
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

Accesses to the properties.

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

Access to static (parameter) properties.

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

check frozen state of fuel and munition levels

virtual bool DtVrfObjectStateRepository::munitionLevelsFrozen ( )
virtual
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 void DtVrfObjectStateRepository::createPartsFromDescriptors ( const std::list< DtSimArtPartDescriptor * > &  partDescriptors,
const std::list< DtSimArtPartDescriptor * > &  partDefaultsFromActuators 
)
protectedvirtual

Creates the articulated parts for an entity from articulated part descriptors.

virtual void DtVrfObjectStateRepository::postGetSelf ( )
protectedvirtual

Hook function called immediately following getSelf().

Reimplemented from DtSimObjectStateRepository.

Reimplemented in DtWeatherStateRepository, DtHumanStateRepository, DtVrfAggregateStateRepository, and DtCloudLayerStateRepository.

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
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 std::map<DtString, DtString> DtVrfObjectStateRepository::unarchivedData ( ) const
virtual

Extended data that is not archived that is currently in the extended data list.

virtual void DtVrfObjectStateRepository::appendExtendedData ( const std::map< DtString, DtString > &  )
virtual

Append extended data to extended data map.

virtual void DtVrfObjectStateRepository::setFiredLaserMissileAtTarget ( const DtUUID )
virtual

If this is set, and the system component flag for blocking fire of other laser weapons when this is live is also true, other laser weapons on this system will not have permission to fire.

virtual const DtUUID& DtVrfObjectStateRepository::firedLaserMissileAtTarget ( ) const
virtual
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.

virtual void DtVrfObjectStateRepository::embarkedParentDeleted ( )
protectedvirtual

Called when the embarked parent is deleted.

Reimplemented in DtHumanStateRepository.

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
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
DtRwBoolean DtVrfObjectStateRepository::mySensorsKilled
protected
DtRwForceType DtVrfObjectStateRepository::myForceType
protected
DtRwNLengthUUIDVector DtVrfObjectStateRepository::myEngagementZones
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
DtRwStringList DtVrfObjectStateRepository::mySystemsDisabledList
protected

Systems which have had their default enable state changed to disabled.

DtRwInt DtVrfObjectStateRepository::mySuppressionLevel
protected

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

DtRwString DtVrfObjectStateRepository::myNonLethalDamageEffect
protected

The current non lethal damage type (sick, faint, etc.).

Default value is empty string

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

DtRwBoolean DtVrfObjectStateRepository::myNavigationEnabled
protected

Whether or not this object can navigate in navigation areas. Default is true.

DtRwPriorityTargetListMap DtVrfObjectStateRepository::myTargetPriorityList
protected

Target Priority List.

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

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
bool DtVrfObjectStateRepository::myUsingTempStateProperties
protected
DtRwProperties DtVrfObjectStateRepository::myTempStateProperties
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<DtString> DtVrfObjectStateRepository::theDoNotArchiveAttributes
staticprotected
DtVrfObjectCallbackList DtVrfObjectStateRepository::myRestoredCallbacks
protected

List of callbacks for when this entity is restores.

DtRwUUID DtVrfObjectStateRepository::myFiredLaserMissileAtTarget
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)