VR-Forces 4.1 Class Documentation
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtMissileStateRepository Class Reference

This repository holds all information that is common to all the forms of missile entities within the system. More...

Inheritance diagram for DtMissileStateRepository:
Inheritance graph
[legend]

Public Member Functions

 DtMissileStateRepository (DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 Constructor with parameters to set up read/writability correctly.
 DtMissileStateRepository (const DtMissileStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 copy constructor
const DtMissileStateRepositoryoperator= (const DtMissileStateRepository &orig)
 assignment operator
virtual ~DtMissileStateRepository ()
 destructor
virtual
DtSimObjectStateRepository
clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
 Clone.
virtual bool init ()
 Our 'virtual' constructor. Calls all the create<>() methods.
virtual DtString type () const
 Returns the string type of the repository, as defined in vrfSRTypes.h.
virtual const int vrfMovingObjectStateRepositorySubType () const
 Returns DtVrfMovingObjectStateRepositorySubTypeMissile.
virtual const int missileEntityStateRepositorySubType () const
 Returns DtMissileEntityStateRepositorySubTypeBase.
virtual void tick ()
 Give a thread of control to the entity.
virtual bool createParameters ()
virtual void initializeFromParameters ()
virtual const DtMissileParametersmissileParameters () const
virtual DtReal range () const
 Set/Get the missile range.
virtual void setRange (const DtReal range)
virtual DtReal maxManeuverGs () const
 Set/Get maximum maneuver acceleration in Gs.
virtual void setMaxManeuverGs (const DtReal maxAcceleration)
virtual void setFuzeType (DtDetonatorFuze fuze)
 Set/Get the detonator fuze type.
virtual DtDetonatorFuze fuzeType () const
virtual void setWarheadType (DtWarheadType type)
 Set/Get the warhead type.
virtual DtWarheadType warheadType () const
virtual void setFireAndForget (bool isFireAndForget)
 Set/Get a boolean indicating whether this is a fire-and-forget missile.
virtual bool fireAndForget () const
virtual void setAttackerId (const DtObjectId &attackerId)
 Set/Get the Id of who launched this missile.
virtual const DtObjectId & attackerId () const
virtual DtReal radiusCEP () const
 Set/Get the Circular Error Probable radius (CEP).
virtual void setRadiusCEP (const DtReal radiusCEP)
virtual void place (const DtVector &location)
 Place entity at the x, y coordinates given in 'location', and z at 1000 m.
virtual void place (const DtReal heading)
 Give entity the specified 'heading', but stay at its current location in x and y coordinates and pitch.
virtual void place (const DtReal heading, const DtReal pitch)
 Give entity the specified 'heading' and 'pitch', but stay at its current location in x and y coordinates.
virtual void place (const DtVector &location, const DtReal heading)
 Place entity at specified 'location' in x and y coordinates, and at the given 'heading'.
virtual void place (const DtVector &location, const DtReal heading, const DtReal pitch)
 Place entity at specified 'location' in x and y, 'heading', and 'pitch'.
virtual void setStartLocalPosition (const DtVector &localPosition)
 At launch time, the launcher should set position and orientation of the missile along with its velocity.
virtual void setStartLocalVelocity (const DtVector &localVelocity)
virtual void setStartLocalOrientationWrtDatabase (const DtTaitBryan &localOrientation)
virtual bool setTargetPoint (const DtVector &localTerrainPoint)
 At launch time the missile should be given a target.
virtual bool setTargetEntity (const DtObjectId &id)
virtual void setEventId (const DtEventId &eventId)
 Missile launcher must set the event Id from the DtFireInteraction sent out for the missile during launch.
virtual const DtEventId & eventId () const
virtual void setDisconnectedFromLauncher ()
 If the launcher gets destroyed or the firing entity stops guiding this missile (because, perhaps, the wires to a wire-guided missile are cut), it will make this call to the missile.
virtual bool missilePassedTarget (double &distSquaredToTargetOut) const
 Indicates with a boolean whether the missile has passed the target by comparing the missile's velocity vector with the target's position.
virtual void missileDetonated (DtDetonationInteraction *detInter)
 For removing munition entities after they are destroyed.
virtual DtReal currentPitch () const
 Calculate the current pitch of this Missile.
virtual double calcDistanceSquaredToTarget ()
 This function calculates and returns the distance to the target.
virtual DtReal transitionAngle () const
 Set/Get the half angle (in radians) to transition to a proportional navigation entity tracking algorithm.
virtual void setTransitionAngle (DtReal angle)
virtual DtReal proportionalNavigationGain () const
 Set/Get the gain constant used by the proportional navigation algorithm.
virtual void setProportionalNavigationGain (DtReal gain)
virtual void putSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtReaderWriter::appPath())
 Override to map myAttackerId and myTargetEntity to myAttackerName and myTargetName (we can't write objectIds to file, but we can write the object name - it persists across scenario runs).
virtual void getSelf (DtlObjPtr args, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings)
 Override getSelf to handle mapping of old pre-2.0 oob files.
virtual void setStartLocalOrientation (const DtTaitBryan &topocentricOrientation)
- Public Member Functions inherited from DtVrfMovingObjectStateRepository
 DtVrfMovingObjectStateRepository (DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 Constructor.
 DtVrfMovingObjectStateRepository (const DtVrfMovingObjectStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 Copy Constructor.
DtVrfMovingObjectStateRepositoryoperator= (const DtVrfMovingObjectStateRepository &orig)
 Assignment Operator.
virtual ~DtVrfMovingObjectStateRepository ()
 Destructor.
virtual const int vrfObjectStateRepositorySubType () const
 Returns DtVrfObjectStateRepositorySubTypeMoving.
virtual const
DtMovingObjectParameters
movingObjectParameters () const
virtual bool canPivot () const
virtual void setCanPivot (const bool canPivot)
virtual DtReal maxPivotSpeed () const
virtual void setMaxPivotSpeed (DtReal maxPivotSpeed)
virtual const
DtGroundInteractionPt
rightSupport () const
 ground contact points
virtual DtGroundInteractionPtrightSupport ()
virtual void setRightSupport (const DtVector &vec)
virtual const
DtGroundInteractionPt
leftSupport () const
virtual DtGroundInteractionPtleftSupport ()
virtual void setLeftSupport (const DtVector &vec)
virtual const
DtGroundInteractionPt
otherSupport () const
virtual DtGroundInteractionPtotherSupport ()
virtual void setOtherSupport (const DtVector &vec)
virtual DtReal maxSpeed () const
virtual void setMaxSpeed (const DtReal speed)
virtual DtReal maxReverseSpeed () const
virtual void setMaxReverseSpeed (const DtReal speed)
virtual DtReal turningRadius () const
virtual void setTurningRadius (const DtReal turningRadius)
virtual DtReal maxSlope () const
virtual void setMaxSlope (const DtReal slope)
virtual DtReal orderedSpeed () const
 Can be set from a parameter file or by the user with a set speed command.
virtual void setOrderedSpeed (const DtReal speed)
virtual DtReal maxAcceleration () const
virtual void setMaxAcceleration (const DtReal maxAcceleration)
virtual DtReal maxStoppingDeceleration () const
virtual void setMaxStoppingDeceleration (const DtReal maxStoppingDeceleration)
virtual DtReal fuelEfficiency () const
virtual void setFuelEfficiency (const DtReal fuelEfficiency)
virtual DtReal inverseStoppingDeceleration () const
 Set by setting maxStoppingDeceleration.
virtual bool forward () const
virtual void setForward (const bool forward)
virtual bool amClampedToGround () const
 Specifies whether we're clamped to the ground or not.
virtual void setAmClampedToGround (const bool clamp)
virtual bool usingRailMovement () const
 Specifies the entity's desired movement strategy.
virtual void setUsingRailMovement (const bool rails)
virtual void clampToGround (const DtVector &location, const DtReal heading, bool *dataAvailable=0, bool requireAllData=false)
 Place entity on ground at location and heading.
virtual void clampToGround (const DtVector &location, const DtReal heading, bool gravityAligned, bool *dataAvailable=0, bool requireAllData=false)
 Clamps to ground with/without being aligned to gravity.
virtual void updateSupportPoints (const DtVector &newPosition, const DtReal newHeading)
 When reading in a scenario, want to make sure the support points get set up properly.
virtual DtVector parentPosition ()
 Returns parentPosition in kinematic state.
virtual void place (const DtVector &location, bool *dataAvailable=0, bool requireAllData=false)
 Place entity at 'location', on the ground, keeping its current heading.
virtual void place (const DtReal heading, bool *dataAvailable=0, bool requireAllData=false)
 Give entity the specified 'heading', but stay at its current location.
virtual void place (const DtVector &location, const DtReal heading, bool clampToGroundFlag=true, bool *dataAvailable=0, bool requireAllData=false)
 Place entity at specified 'location' and 'heading'.
virtual void placeAtAltitude (const DtVector &location, const DtReal heading)
 Places entity at altitude regardless of terrain.
virtual void setDIGuyCharacterInfo (DtRwDIGuyCharacterInfo *info)
 Current DI-Guy character data–Our character type, current appearance and.
virtual DtRwDIGuyCharacterInfodiGuyCharacterInfo ()
virtual void setDIGuyCharacter (const DtString &character)
 The DI-Guy Character string for this entity.
virtual const DtStringdIGuyCharacter () const
 The DI-Guy Character string for this entity.
virtual void setDIGuyAnimation (const DtString &animation)
 The current DI-Guy animation the entity is displaying.
virtual const DtStringdIGuyAnimation () const
 The current DI-Guy animation the entity is displaying.
virtual void setDIGuyAppearance (const DtString &app)
 The current Di-Guy character appearance of the entity.
virtual const DtStringdIGuyAppearance () const
 The current Di-Guy character appearance of the entity.
- Public Member Functions inherited from DtVrfObjectStateRepository
 DtVrfObjectStateRepository (DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 Constructor.
 DtVrfObjectStateRepository (const DtVrfObjectStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 Copy Constructor.
const DtVrfObjectStateRepositoryoperator= (const DtVrfObjectStateRepository &orig)
 Assignment Operator.
virtual ~DtVrfObjectStateRepository ()
 Destructor.
virtual const int objectStateRepositorySubType () const
 Returns DtSimObjectStateRepositorySubTypeVrfObject.
virtual const
DtVrfObjectParameters
vrfParameters () const
virtual
DtVrfStateRepositoryUserExtension
userExtension () const
 User extension to state repository class.
virtual void restoreEntity ()
 Called on a setRestore command, sets destroyed to false and sets resources to initial (parameter file) levels.
virtual void restoreResourcesFromParameters ()
virtual bool inSOR (const DtVrfObject *entity) const
virtual const DtStringengagementRules () const
virtual void setEngagementRules (const DtString &engagementRules)
virtual bool isTasked () const
 Returns true if entity is currently executing a task (at least one component must be tasked), false otherwise.
virtual void clearCurrentTaskMsg (const DtString &componentName)
 Clear all the tasks with the specified component name.
virtual void clearCurrentTaskMsg (const DtString &componentName, int taskId)
 Clear the task with specified taskId and the specified component name.
virtual const DtTaskStatusListtaskStatusList () const
virtual DtTaskMessagecurrentTaskMsg (const DtString &componentName) const
 Get the current task message.
virtual DtTaskMessagecurrentTaskMsg (const DtString &componentName, int taskId) const
 Get the current task message for the specified component and task ID.
virtual std::list
< DtTaskMessage * > 
allCurrentTaskMsg (const DtString &componentName) const
virtual bool placePoints (DtAttachedTerrain &attachedTerrain, std::vector< DtGroundInteractionPt * > groundInteractionPts, bool *terrainDataAvailable=0)
 Positions list of ground interaction points on the terrain surface closest to the specified location.
virtual const
DtVrfObjectParameters
parameters () const
virtual DtVrfObjectParametersmodifiableParameters ()
 A modifiable local copy of parameters.
virtual void setupParameterInheritance ()
 Called by init().
virtual bool createAttachments ()
 Override to create derived DtVrfAttachmentManager.
void addPart (DtArticulatedPartStateRepository *part)
 These will be replaced by equivalents in the attachment manager.
void removePart (DtArticulatedPartStateRepository *part)
DtArticulatedPartStateRepositorypart (DtArtPartType partType)
DtArticulatedPartStateRepositoryfindDescendantByType (DtArtPartType childType)
bool isEntity () const
bool isLocal () const
bool isAggregate () const
void addSubordinate (DtVrfObject *subordinateEntity)
 Adds an entity as a subordinate.
void removeSubordinate (DtVrfObject *subordinateEntity)
 Removes entity from our list of subordinates.
virtual DtVrfObjectleadEntity () const
virtual const DtStringfirstSubordinate () const
virtual const DtStringlastSubordinate () const
virtual const DtStringfirstHealthySubordinate () const
virtual void timedTick ()
 This version of tick checks to see if the time to tick has arrived (myNextTickTime <= exerciseClock()->approximateElapsedRealTime()).
virtual void setMinTickPeriod (double minTickPeriod)
 specifies a minimum tick period (which can also be thought of as
virtual double minTickPeriod () const
 access the minimum tick period
virtual void setMinTickPeriodVariance (double minTickPeriodVariance)
 set the variance in the minimum tick time
virtual double minTickPeriodVariance () const
 access the variance in the minimum tick period
virtual void setNextTickTime (double nextTickTime)
 The next tick time is normally calculated internally.
virtual double nextTickTime () const
 access the next tick time
virtual double calculateNextTickTime () const
 The next tick time is equal to mySimManager->exerciseClock()-> approximateElapsedRealTime() + myMinTickPeriod + a random # between -myMinTickPeriodVariance/2.
virtual bool createSubordinates ()
virtual DtVrfSubordinateManagervrfSubordinates ()
virtual const
DtVrfSubordinateManager
vrfSubordinates () const
virtual bool createProcessStateRepositoryManager ()
virtual const DtTaitBryan & localOrientationWrtDatabase () const
 Euler angles with respect to the local (database) coordinate system, in radians.
virtual void setLocalOrientationWrtDatabase (const DtTaitBryan &localOrientation)
virtual DtVrfWeaponPSRfirstWeaponPSR () const
 This is provided for backward compatibility with setTarget capabilities.
virtual void processObjectGeometry (const DtList &vertices)
 Processes a list of DtVectors, such as might come in a create or modify message.
virtual void processObjectGeometry (const DtLocalVertexList &vertices)
virtual void processObjectGeometry ()
 This form allows processObjectGeometry()'s bounding volume calculations to be done on it's current geometry (by making a copy first).
virtual const
DtVrfObjectParameters
vrfBaseParameters () const
virtual DtGroundInteractionPtgroundCenter ()
virtual const
DtGroundInteractionPt
groundCenter () const
virtual const DtVectorgetPartAttachPoint (const int partType) const
virtual void updatePositionFromModelVertices ()
 Note that this is not currently ever called.
virtual void updateBVolFromModelVertices ()
virtual DtReal mass () const
virtual void setMass (const DtReal mass)
virtual const
DtArticulatedPartCollection * 
artPartList () const
 Get the list of articulated parts specified in the component descriptor.
virtual void createParts ()
 This causes the art part tree to be created.
virtual DtTime lastTimeFiredUpon () const
virtual void setLastTimeFiredUpon (const DtTime time)
virtual bool underFire () const
virtual void setUnderFire (bool underFire)
virtual DtDeadReckonTypes deadReckoningAlgorithm () const
virtual void setDeadReckoningAlgorithm (DtDeadReckonTypes deadReckoningAlgorithm)
virtual void putData (FILE *fp, int indentLevel=0)
 Override putData to set myParentName using the organization manager before saving.
virtual int nextTaskId ()
 Returns next unique task id for this VR-Forces back-end.
virtual DtTaskMessagependingSubtask (int subtaskId, DtString &controller) const
 Returns the current subtask with the specified id.
virtual bool taskedBySuperiorUponTaskComplete () const
 Returns true if entity should automatically resume being tasked by superior upon completion of its current top-level task, false otherwise.
virtual void setParentWasDestroyedWhenEmbarked (bool)
virtual bool parentWasDestroyedWhenEmbarked () const
virtual void detachFromParent ()
virtual void attachToParent (DtSimObjectStateRepository *parent)
 Adds this state repository to the given parent's list of attached state repositories and updates myAttachedToRepository and myRootSimStateRepository.
virtual void attachToParent (DtString parent)
 Looks up the parent state repository using the given echelon ID and puts it in a call to attachToParent.
virtual void addAttachedTerrain (const DtString &parent)
 Asks the sim manager to look up the object model for the requested database.
virtual void removeAttachedTerrain (const DtString &parent)
 Decreases reference count of terrain model by name of object.
Dt3dBoundingVolume * boundingVolume () const
 Convenience method for accessing entity's bounding volume, stored in myObjectGeometry.
DtReal forwardSpeed () const
virtual void addRangeItem (const DtRangeItem &)
 Adds, removes and returns items in the range item list.
virtual void removeRangeItem (int index)
virtual void setRangeItems (const DtRangeItems &)
const DtRangeItemsrangeItems () const
DtRangeItemsrangeItems ()
virtual void clearRangeItems ()
DtAttachedTerrainterrainAttachedTo () const
virtual double sensorSignature (const DtSymbolString &sensorDomain) const
 Returns the current absolute signature for this object in the specified sensor domain.
virtual std::list< DtSymbolStringsensorSignatureDomains () const
virtual
DtVrfObjectStateRepository
toVrfObjectStateRepository ()
virtual const
DtVrfObjectStateRepository
toVrfObjectStateRepository () const
virtual const
DtObjectResourceManager
objectResourceManager () const
virtual DtObjectResourceManagerobjectResourceManager ()
virtual const
DtSimResourceManager
oldResourceManager () const
 Returns a reference to our resource manager.
virtual DtSimResourceManageroldResourceManager ()
 Returns a reference to our resource manager.
virtual DtSimResourceoldLookupResource (const DtString &resourceName)
 Gets a pointer to the resource named resourceName.
virtual const DtSimResourceoldLookupResource (const DtString &resourceName) const
 Returns a reference to our resource manager.
virtual void oldAddResource (DtSimResource *resource)
 This does a clone of the resource and puts it on our main list, as well as adding the resource to the hash index.
virtual void oldRemoveResource (DtSimResource *resource)
 This removes and deletes the specified resource.
virtual void setSOR (DtReal center, DtReal size)
 Sector of responsibility.
virtual DtReal SORSize () const
 Sector of responsibility.
virtual DtReal SORCenter () const
 Sector of responsibility.
virtual const DtSimSectorSOR () const
 Sector of responsibility.
virtual void setRequestTaskNeeded (bool value)
 Set/get whether or not this needs to send a request task needed message.
virtual bool requestTaskNeeded () const
 Set/get whether or not this needs to send a request task needed message.
virtual void setTasked (const DtString &componentName, bool tasked)
 Set/get whether or not a given entity component currently executing a task.
virtual bool tasked (const DtString &componentName) const
 Set/get whether or not a given entity component currently executing a task.
virtual void setCurrentTaskMsg (const DtString &componentName, const DtTaskMessage &taskMsg)
 Set the current task message.
virtual void setCurrentTaskMsg (const DtString &componentName, const DtTaskMessage &taskMsg, int taskId)
 Set the current task message.
virtual void setIndependentlyTasked (bool value)
 Set/get whether or not this entity is currently independently tasked (separately from its unit).
virtual bool independentlyTasked () const
 Set/get whether or not this entity is currently independently tasked (separately from its unit).
virtual const
DtVrfObjectParameters
parameterEntry () const
 If a clone has been created, this call will return the cloned entry as a const pointer, else returns the original pointer.
virtual void setParameterEntry (DtVrfObjectParameters *parameterEntry)
 If a clone has been created, this call will return the cloned entry as a const pointer, else returns the original pointer.
virtual DtForceType forceType () const
 Get/Set the force type (team) of this entity.
virtual void setForceType (DtForceType force)
 Get/Set the force type (team) of this entity.
virtual bool createAppearance ()
 Encapsulates all the appearance related data and methods currently in the entity state repository.
virtual const DtAppearance * appearance () const
 Encapsulates all the appearance related data and methods currently in the entity state repository.
virtual DtAppearance * appearance ()
 Encapsulates all the appearance related data and methods currently in the entity state repository.
virtual void setCapabilities (int cap)
 Gets/sets capabilities of entity This is treated as the DIS capabilities bit field, and does not necessarily change any behaviors of the object.
virtual int capabilities () const
 Gets/sets capabilities of entity This is treated as the DIS capabilities bit field, and does not necessarily change any behaviors of the object.
void setDestroyed (bool isDestroyed)
 Destroyed status of entity (whether or not appearance()->damageState() is set to DtDamageDestroyed).
bool isDestroyed () const
 Destroyed status of entity (whether or not appearance()->damageState() is set to DtDamageDestroyed).
DtReal healthPct () const
void setHealthPct (DtReal pct)
bool firePowerKilled () const
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
void setFirePowerKilled (const bool firePowerKilled)
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
bool mobilityKilled () const
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
void setMobilityKilled (const bool mobilityKilled)
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
bool flaming () const
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
void setFlaming (const bool flaming)
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
bool smoking () const
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
void setSmoking (const bool smoking)
 Convenience methods for setting setting entity's appearance bits in DtAppearance.
virtual DtVrfSubordinateManagersubordinates ()
virtual const
DtVrfSubordinateManager
subordinates () const
virtual DtSimManagersimManager ()
virtual const DtSimManagersimManager () const
virtual DtPhysicalWorldphysicalWorld ()
virtual const DtPhysicalWorldphysicalWorld () const
virtual const
DtVrfProcessStateRepositoryManager
systemProcessStateRepositoryManager () const
virtual
DtVrfProcessStateRepositoryManager
systemProcessStateRepositoryManager ()
virtual const DtThresholder & deadReckoningThresholder () const
 Dead-reckoning threshold parameters.
virtual void setDeadReckoningThresholder (const DtThresholder &thresholder)
 Dead-reckoning threshold parameters.
virtual const DtEntityIdentifier & occupyingObjectId () const
 We hold the id of the object we are occupying.
virtual void setOccupyingObjectId (const DtEntityIdentifier &objId)
 We hold the id of the object we are occupying.
virtual void setEchelonId (const DtEchelonId &echelonId)
 The echelon ID of this object, if it is an organized object.
virtual DtEchelonIdechelonId ()
 The echelon ID of this object, if it is an organized object.
virtual const DtEchelonIdechelonId () const
 The echelon ID of this object, if it is an organized object.
virtual void setIsSubordinateOfForceLevel (bool yesNo)
 Indicates if this object's direct superior is a Force level object.
virtual bool isSubordinateOfForceLevel () const
 Indicates if this object's direct superior is a Force level object.
virtual void addPendingSubtaskId (const DtString &componentName, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void addPendingSubtaskId (const DtString &componentName, int taskId, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual bool findPendingSubtaskId (const DtString &componentName, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual bool findPendingSubtaskId (const DtString &componentName, int taskId, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void removePendingSubtaskId (const DtString &componentName, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void removePendingSubtaskId (const DtString &componentName, int taskId, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void removeAllPendingSubtaskIds (const DtString &componentName)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void removeAllPendingSubtaskIds (const DtString &componentName, int taskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual void printPendingSubtaskIds (const DtString &componentName) const
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual std::vector< int > currentPendingSubstaskIds (const DtString &componentName) const
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual std::vector< int > currentPendingSubstaskIds (const DtString &componentName, int taskId) const
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual DtSubtaskStatusEntrypendingSubtaskStatus (const DtString &componentName, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
virtual DtSubtaskStatusEntrypendingSubtaskStatus (const DtString &componentName, int taskId, int subtaskId)
 Functions for manipulating the set of pending subtask Ids for all components in the entity.
DtReal currentSpeed () const
 Returns magnitude of relative velocity in state repository.
DtReal currentHeading () const
 Heading in radians. Calls down to DtVrfKinematicState for heading.
void setCurrentHeading (const DtReal heading)
 Heading in radians. Calls down to DtVrfKinematicState for heading.
virtual void addPostInitFromParamsCallback (DtPostInitializeFromParametersCallbackFcn fcn, void *usr)
 Add/remove callback function to be invoked immediately following execution of initializeFromParameters.
virtual void removePostInitFromParamsCallback (DtPostInitializeFromParametersCallbackFcn fcn, void *usr)
 Add/remove callback function to be invoked immediately following execution of initializeFromParameters.
virtual DtSensorContactInfoListobjectContactList ()
 Situational awareness of this object.
virtual const
DtSensorContactInfoList
objectContactList () const
 Situational awareness of this object.
virtual void processObjectAddedCallback (DtVrfObject *vrfObject)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.
virtual void processObjectAboutToBeRemovedCallback (DtVrfObject *vrfObject)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.
virtual void processTaskComplete (const DtVrfObjectMessage *msg)
 Handles state changes for the subtask status list.
- Public Member Functions inherited from DtSimObjectStateRepository
 DtSimObjectStateRepository (DtVrfObject *simObject, const DtObjectType &objectType, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
const DtSimObjectStateRepositoryoperator= (const DtSimObjectStateRepository &orig)
virtual ~DtSimObjectStateRepository ()
virtual const DtObjectTypeobjectType () const
virtual void setObjectType (const DtObjectType &objectType)
virtual bool createKinematicState ()
 Creates a DtVrfKinematicState.
virtual DtVrfKinematicStatevrfKinematicState ()
virtual const DtVrfKinematicStatevrfKinematicState () const
virtual bool createObjectGeometry ()
virtual DtVrfObjectGeometryvrfObjectGeometry ()
virtual const DtVrfObjectGeometryvrfObjectGeometry () const
virtual DtAttachmentManagerattachments ()
virtual const DtAttachmentManagerattachments () const
virtual
DtSimObjectStateRepository
parent ()
virtual const
DtSimObjectStateRepository
parent () const
virtual bool isEmbarkedOn (const DtString &parent) const
virtual const DtStringattachedToRepositoryName ()
virtual
DtSimObjectStateRepository
findRootSimStateRepository ()
virtual const
DtSimObjectStateRepository
findRootSimStateRepository () const
virtual void ancestorObjectChanged ()
virtual void preGetSelf ()
 Hook function called immediately prior to getSelf().
virtual void postGetSelf ()
 Hook function called immediately following getSelf().
virtual void setCoordinateSystem (const Coordinate_System *coordinateSystem)
 Sets the coordinate system in myObjectGeometry and myKinematicState.
virtual DtVrfObjectvrfObject ()
virtual const DtVrfObjectvrfObject () const
virtual void setVrfObject (DtVrfObject *vrfObject)
virtual DtSimKinematicStatekinematicState ()
virtual const DtSimKinematicStatekinematicState () const
virtual DtVrfObjectGeometryobjectGeometry ()
virtual const DtVrfObjectGeometryobjectGeometry () const
virtual const DtVectorbodyPosition () const
 Now superseded by kinematic state parentCS functions.
virtual void setBodyPosition (const DtVector &pos)
 Formerly setMeInParent.
virtual void setBodyPosition (DtFloat64 x, DtFloat64 y, DtFloat64 z)
const DtDcm & bodyOrientationMatrix () const
 Formerly meToParent().
virtual void embarkOnParent (const DtString &parent)
 Embarks this entity on the specified parent.
virtual bool leftOf (const DtVector &localVector) const
virtual bool inside (const DtVector &point) const
virtual void removeVertex (int iIndex)
 These routines simply call down to the kinematic state to get/set the results.
virtual void addLocalVertex (const DtVector &vertex)
 These routines simply call down to the kinematic state to get/set the results.
virtual void addLocalVertex (const DtVector &vertex, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual void setLocalVertices (const DtLocalVertexList &vertices, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual void setLocalVertices (const DtList &vertices, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual const DtLocalVertexListlocalVertices () const
 These routines simply call down to the kinematic state to get/set the results.
virtual const
DtLocalVectorIterator
localVertexIterator () const
 These routines simply call down to the kinematic state to get/set the results.
virtual void addWorldVertex (const DtVector &vertex, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual void setWorldVertices (const DtVertexList &vertices, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual void setWorldVertices (const DtList &vertices, DtVector &newGeometricCenter)
 These routines simply call down to the kinematic state to get/set the results.
virtual const DtVertexListworldVertices () const
 These routines simply call down to the kinematic state to get/set the results.
virtual const DtRwVectorIteratorworldVertexIterator () const
 These routines simply call down to the kinematic state to get/set the results.
virtual void setRelativeVertices (const DtLocalVertexList &vertices)
 Access/modify vertices relative to to the parent to which this object is attached.
virtual void setRelativeVertices (const DtList &vertices)
 Access/modify vertices relative to to the parent to which this object is attached.
virtual const DtLocalVertexListrelativeVertices () const
 Access/modify vertices relative to to the parent to which this object is attached.
virtual const
DtLocalVectorIterator
relativeVertexIterator () const
 Access/modify vertices relative to to the parent to which this object is attached.
const DtVectorlocalPosition () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalPosition (const DtVector &pos)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorlocalVelocity () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalVelocity (const DtVector &vel)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorlocalAcceleration () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalAcceleration (const DtVector &acc)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorrelativeVelocity () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setRelativeVelocity (const DtVector &vel)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorrelativeAcceleration () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setRelativeAcceleration (const DtVector &acc)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtTaitBryan & localOrientation () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalOrientation (const DtTaitBryan &angles)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorworldPosition () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setWorldPosition (const DtVector &pos)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorworldVelocity () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setWorldVelocity (const DtVector &vel)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorworldAcceleration () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setWorldAcceleration (const DtVector &acc)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtTaitBryan & worldOrientation () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setWorldOrientation (const DtTaitBryan &angles)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtVectorrotationalVelocity () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setRotationalVelocity (const DtVector &rotationalVelocity)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
const DtDcm & localOrientationMatrix () const
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
void setLocalOrientationMatrix (const DtDcm &orient)
 Convenience methods for accessing corresponding methods in DtVrfKinematicState.
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 default constructor
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 real constructor Setting the readonly flag prevents object from writing itself to the stream.
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator
virtual ~DtReaderWriter ()
 destructor
virtual void writeSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry.
virtual DtSymbolString name () const
 Accessor for name of this readable/writable object.
virtual void addAlias (const DtSymbolString &alias)
 Add an alias as an alternative name for this object.
virtual bool hasAlias (const DtSymbolString &alias)
virtual const aliasContaineraliases () const
virtual void setReadonly (bool flag)
 Set read-only flag.
virtual bool isReadonly () const
virtual bool variableIsBound () const
virtual void unbindVariable ()
 Sets the myVariableIsBound flag to false.
virtual void setName (const DtString &)
 Set the name of the object.
virtual const char * readerWriterType () const
 Used to supply a string type that this reader writer type is.
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable.
virtual void bindVariables (DtVariableBindingsList variableBindings)
 Runs a variable binding pass on this reader writer and any of its children.
virtual std::list
< DtVariableNameType
unboundVariables () const
bool invalid () const
virtual bool hasChild (const DtReaderWriter *p) const
 Returns true if this variable has a child p in it's chain.
virtual void setValueSpecified (bool specified, bool recurse=false)
 The specified flags are used for optional values.
virtual bool valueSpecified () const
 The specified flags are used for optional values.
virtual bool isVariableReference () const
 Specifies whether or not this reader writer is really a variable that is specified elsewhere.
virtual void setIsVariableReference (bool value)
virtual DtSymbolString variableName () const
 The variable name, if this object is a variable reference.
virtual void setVariableName (const DtSymbolString variableName)
 The variable name, if this object is a variable reference.
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object.
DtReaderWriterRegistryregistry ()
 Collection of child DtReaderWriter nodes owned by this object.

Static Public Member Functions

static void detonationCallback (DtDetonationInteraction *detInter, void *usr)
static DtVrfObjectStateRepositorycreator (const DtString &name, DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry)
static DtMissileStateRepositoryisMissileStateRepository (DtSimObjectStateRepository *repository)
 Returns a the pointer the repository, if the repository passed in is of type DtMissileStateRepostiory, 0 if not.
static const
DtMissileStateRepository
isMissileStateRepository (const DtSimObjectStateRepository *repository)
- Static Public Member Functions inherited from DtVrfMovingObjectStateRepository
static
DtVrfMovingObjectStateRepository
isVrfMovingObjectStateRepository (DtSimObjectStateRepository *repository)
static const
DtVrfMovingObjectStateRepository
isVrfMovingObjectStateRepository (const DtSimObjectStateRepository *repository)
- Static Public Member Functions inherited from DtVrfObjectStateRepository
static DtVrfObjectStateRepositorycreateRepository (const DtString &name, const DtString &type, DtVrfObject *simObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry=0)
 Creates a new state repository object, using the factory.
static void addSimObjectStateRepositoryCreatorFcn (const DtString &type, DtSimObjectStateRepositoryCreatorFcn fcn)
static DtVrfObjectStateRepositoryisVrfObjectStateRepository (DtSimObjectStateRepository *repository)
static const
DtVrfObjectStateRepository
isVrfObjectStateRepository (const DtSimObjectStateRepository *repository)
static
DtSimObjectStateRepositoryFactory
factory ()
 a DtSimObjectStateRepositoryFactory is allocated by the DtSimCreator, and this pointer is set.
static void setFactory (DtSimObjectStateRepositoryFactory *factory)
 a DtSimObjectStateRepositoryFactory is allocated by the DtSimCreator, and this pointer is set.
static void objectAddedCallback (DtVrfObject *vrfObject, void *usr)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.
static void objectAboutToBeRemovedCallback (DtVrfObject *vrfObject, void *usr)
 These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/from its parent.
static void taskCompleteCallback (const DtVrfObjectMessage *msg, void *usr)
 Handles state changes for the subtask status list.
- Static Public Member Functions inherited from DtSimObjectStateRepository
static DtSimObjectStateRepositoryisSimObjectStateRepository (DtSimObjectStateRepository *repository)
static const
DtSimObjectStateRepository
isSimObjectStateRepository (const DtSimObjectStateRepository *repository)
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (FILE *fp, int indentLevel)
static const
DtVariableBindingsList
nullVariableReference ()
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
static const DtFilename & appPath ()
 Gets the current working directory.

Protected Member Functions

 DtMissileStateRepository ()
- Protected Member Functions inherited from DtVrfMovingObjectStateRepository
 DtVrfMovingObjectStateRepository ()
 Default Constructor. Do not use.
- Protected Member Functions inherited from DtVrfObjectStateRepository
 DtVrfObjectStateRepository ()
 Default Constructor. Do not use.
virtual void initializeNextTaskId ()
 Initializes myNextTaskId to the next highest integer than the highest subtask Id currently maintained in myTaskStatusList.
virtual void setOrientationRelativeToParent ()
 If attached to a parent, and a terrain database is present, set orientation relative to parent.
virtual DtAttachedTerraincreateAttachedTerrain ()
virtual
DtArticulatedPartStateRepository
createArtPartStateRepository (DtVrfObject *vrfObject, const DtObjectType &objectType, const DtString &rwName=DtString::nullString())
 Returns new instance of a DtArticulatedPartStateRepository.
virtual double baseSensorSignature (const DtSymbolString &sensorDomain) const
virtual double modifySensorSignature (const DtSymbolString &sensorDomain, double baseSignature) const
 Modifies the supplied baseSignature using the signatureModifiers for the specified sensor domain.
virtual bool initSignatureEvaluators ()
 Sets up all the sensor signature evaluators in mySignatureEvalMap based on the parameter entry for this entity.
void clearSignatureEvaluators ()
 Removes and deletes all signature evaluators.
virtual bool createObjectResourceManager ()
 Creates and sets myObjectResourceManager.
virtual void invokePostInitFromParamsCallbacks ()
 Invokes all callbacks registered via a call to addPostInitFromParamsCallback.
- Protected Member Functions inherited from DtSimObjectStateRepository
 DtSimObjectStateRepository (const DtSimObjectStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 DtSimObjectStateRepository ()
 Default Constructor; not implemented.
const Coordinate_SystemcoordinateSystem () const
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 Copies values from the specified DtReaderWriter.
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 Checks to see if this RW object is a variable reference that can be bound using the provided bindings.
virtual DtlObjPtr getData (DtlObjPtr args, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings)
 Deriving class overrides these to get/put class specific data.

Protected Attributes

DtObjectId myAttackerId
DtReal myRange
DtReal myMaxManeuverGs
DtDetonatorFuze myFuzeType
DtWarheadType myWarheadType
bool myFireAndForget
DtReal myRadiusCEP
bool myMarkedForRemoval
DtObjectId * myTargetEntity
DtVectormyTargetPoint
DtVector myVectorToTarget
 The instantaneous vector to the target for the current tick.
double myDistanceSquaredToTarget
double myLastDistanceSquaredToTarget
DtReal myTransitionAngle
DtReal myProportionalNavigationGain
DtRwString myAttackerName
DtRwString myTargetEntityName
DtEventId myEventId
- Protected Attributes inherited from DtVrfMovingObjectStateRepository
DtGroundInteractionPt myLeftSupport
DtGroundInteractionPt myRightSupport
DtGroundInteractionPt myOtherSupport
DtRwReal myOrderedSpeed
DtRwReal myMaxSpeed
DtRwReal myMaxReverseSpeed
DtRwReal myTurningRadius
DtRwReal myMaxSlope
DtRwBoolean myForward
DtRwReal myMaxAcceleration
DtRwReal myMaxStoppingDeceleration
DtRwReal myFuelEfficiency
DtRwBoolean myCanPivot
DtRwBoolean myClampToGround
DtRwBoolean myUsingRailMovement
 If true keeps the entity clamped to the route segment it is on, no steering just follows the segment.
DtRwReal myMaxPivotSpeed
DtRwDIGuyCharacterInfomyDIGuyCharacterInfo
DtReal myInverseStoppingDeceleration
 Derived quantity (1/myMaxStoppingDeceleration) - no need to make it read-write.
- Protected Attributes inherited from DtVrfObjectStateRepository
DtVrfStateRepositoryUserExtensionmyStateRepositoryUserExtension
DtRwAppearancemyAppearance
DtRwInt myCapabilities
DtRwForceType myForceType
DtVrfSubordinateManagermySubordinates
 each of these has_a DtSubObjectManager
DtRwString myParentName
 if this object is a subordinate, this is used to write out the name of the parent
DtVrfProcessStateRepositoryManagermySystemProcessSRManager
DtLegacyProcessStateRepositoryManagermyLegacyPSRManager
 Used only to read in scenarios from pre VRF 3.11.
DtSimManagermySimManager
DtGroundInteractionPt myGroundCenter
bool myUnderFire
 Under fire parameters.
DtTime myLastTimeFiredUpon
DtReal myMass
DtDeadReckonTypes myDeadReckoningAlgorithm
DtThresholder myDeadReckoningThresholder
DtEntityIdentifier myOccupyingObjectId
DtArticulatedPartCollection myArtPartList
 This is created in createParts, and kept around to make setup of the network repository easier.
DtManagedObjectListConstPtr myVisibilityFilterList
 Shared list of visibility blocking objects.
DtRwVector myLocalPosition
 For backward compatibility with pre-2.0 VR-Forces oob files Registered as read-only, so they do not get written out to new oob files.
DtRwTaitBryan myLocalOrientation
DtRwBoolean myIsDestroyedFlag
DtEchelonId myEchelonId
DtRwBoolean myIsSubordinateOfForceLevel
DtRwInt myDesignator
 myDesignator is used for reading and writing only and is not valid at runtime.
DtRwBoolean myIndependentlyTasked
DtSimResourceManager myResourceManager
 This resource manager is used for all the top-level resource only.
DtObjectResourceManagermyObjectResourceManager
DtRwString myEngagementRules
DtSimSector mySectorOfResponsibility
 These really apply to a single weapon, and should be part of a weapon controller/actuator suite of some sort.
DtRwBoolean myRequestTaskNeeded
 Moved here from the DtLocalTaskManager class.
DtTaskStatusList myTaskStatusList
 Contains the myTasked and myCurrentTaskMsg members from the DtTaskControllerComponent class.
DtRwInt myNextTaskId
 The next available ID that can be assigned to a task for this entity.
DtRwBoolean myParentWasDestroyedWhenEmbarked
 Set to true when the entity is embarked on a destroyed parent so they do not become destroyed.
const DtVrfObjectParametersmyParameterEntry
 For performance and memory usage reasons, the copy of the parameter entry that used to be made when creating a state repository is no longer made when the state repository is initialized.
DtVrfObjectParametersmyParameters
 this is the parameter entry that this repository created.
double myMinTickPeriod
 For variable tick rate support.
double myMinTickPeriodVariance
double myNextTickTime
double myLastTickSimTime
DtAttachedTerrainmyTerrainAttachedTo
DtSignatureModifierEvalMap mySignatureModifierEvalMap
 Map which holds a set of lists of signature modifier evaluators indexed by sensor domain.
DtSensorSignatureCacheMap myMutableSensorSignatureCacheMap
 Maintains the current sensor signature (indexed by sensor domain) for this entity.
DtSensorContactInfoList myObjectContactList
 The situational awareness of this object.
DtPostInitializeFromParametersCallbackList myPostInitFromParamsCallbackList
DtRangeItems myRangeItems
 Range item information.
- Protected Attributes inherited from DtSimObjectStateRepository
DtVrfObjectmySimObject
DtRwObjectType myObjectType
DtVrfObjectGeometrymyObjectGeometry
DtVrfKinematicStatemyKinematicState
DtAttachmentManagermyAttachments
DtSimObjectStateRepositorymyAttachedToRepository
DtRwString myAttachedToRepositoryName
 used for reading & writing the name of myAttachedToRepository
DtSimObjectStateRepositorymyRootSimStateRepository
const Coordinate_SystemmyCoordinateSystemPtr
 Caches pointer to coordinate system so it can set it after myKinematic state is created.
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
DtReaderWriterRegistry myRegistry
bool myValueSpecified
bool myReadOnlyFlag
bool myIsVariableReference
DtSymbolString myVariableName
bool myVariableIsBound
aliasContainer myAliases
 Container for the aliases which represent alternative names for the object.
bool myInvalid
 Set to true if there is a problem reading this item.

Static Protected Attributes

static DtVrfObjectManagermyDetCbackRegWithThisEntMgr
 Flag for indicating whether the detonation callback for munitions has been registered for this VrfObjectManager.

Additional Inherited Members

- 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::pair
< DtSymbolString, DtString
DtVariableNameType
- Protected Types inherited from DtVrfObjectStateRepository
typedef std::list
< DtSignatureModifierEvaluator * > 
DtSignatureModifierEvalList
typedef std::map
< DtSymbolString,
DtSignatureModifierEvalList * > 
DtSignatureModifierEvalMap
typedef std::map
< DtSymbolString, double > 
DtSensorSignatureCacheMap
typedef std::pair
< DtPostInitializeFromParametersCallbackFcn,
void * > 
DtPostInitializeFromParametersInfo
typedef std::list
< DtPostInitializeFromParametersInfo
DtPostInitializeFromParametersCallbackList
- Static Protected Member Functions inherited from DtVrfObjectStateRepository
static bool visibilityFilter (const DtVrfObject *object, void *usr)
 Used by isVisible to determine which objects can block visibility.

Detailed Description

This repository holds all information that is common to all the forms of missile entities within the system.

Constructor & Destructor Documentation

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

Constructor with parameters to set up read/writability correctly.

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

copy constructor

virtual DtMissileStateRepository::~DtMissileStateRepository ( )
virtual

destructor

Member Function Documentation

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

assignment operator

virtual DtSimObjectStateRepository* DtMissileStateRepository::clone ( const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
) const
virtual

Clone.

Reimplemented from DtVrfMovingObjectStateRepository.

virtual bool DtMissileStateRepository::init ( )
virtual

Our 'virtual' constructor. Calls all the create<>() methods.

Reimplemented from DtVrfObjectStateRepository.

virtual DtString DtMissileStateRepository::type ( ) const
virtual

Returns the string type of the repository, as defined in vrfSRTypes.h.

Reimplemented from DtVrfMovingObjectStateRepository.

virtual const int DtMissileStateRepository::vrfMovingObjectStateRepositorySubType ( ) const
virtual

Returns DtVrfMovingObjectStateRepositorySubTypeMissile.

Reimplemented from DtVrfMovingObjectStateRepository.

virtual const int DtMissileStateRepository::missileEntityStateRepositorySubType ( ) const
virtual

Returns DtMissileEntityStateRepositorySubTypeBase.

virtual void DtMissileStateRepository::tick ( )
virtual

Give a thread of control to the entity.

This will remove the missile if it was marked for removal.

Reimplemented from DtVrfObjectStateRepository.

virtual bool DtMissileStateRepository::createParameters ( )
virtual

Reimplemented from DtVrfMovingObjectStateRepository.

virtual void DtMissileStateRepository::initializeFromParameters ( )
virtual

Reimplemented from DtVrfMovingObjectStateRepository.

virtual const DtMissileParameters* DtMissileStateRepository::missileParameters ( ) const
virtual
virtual DtReal DtMissileStateRepository::range ( ) const
virtual

Set/Get the missile range.

virtual void DtMissileStateRepository::setRange ( const DtReal  range)
virtual
virtual DtReal DtMissileStateRepository::maxManeuverGs ( ) const
virtual

Set/Get maximum maneuver acceleration in Gs.

virtual void DtMissileStateRepository::setMaxManeuverGs ( const DtReal  maxAcceleration)
virtual
virtual void DtMissileStateRepository::setFuzeType ( DtDetonatorFuze  fuze)
virtual

Set/Get the detonator fuze type.

virtual DtDetonatorFuze DtMissileStateRepository::fuzeType ( ) const
virtual
virtual void DtMissileStateRepository::setWarheadType ( DtWarheadType  type)
virtual

Set/Get the warhead type.

virtual DtWarheadType DtMissileStateRepository::warheadType ( ) const
virtual
virtual void DtMissileStateRepository::setFireAndForget ( bool  isFireAndForget)
virtual

Set/Get a boolean indicating whether this is a fire-and-forget missile.

virtual bool DtMissileStateRepository::fireAndForget ( ) const
virtual
virtual void DtMissileStateRepository::setAttackerId ( const DtObjectId &  attackerId)
virtual

Set/Get the Id of who launched this missile.

virtual const DtObjectId& DtMissileStateRepository::attackerId ( ) const
virtual
virtual DtReal DtMissileStateRepository::radiusCEP ( ) const
virtual

Set/Get the Circular Error Probable radius (CEP).

This measures the radius of a circle within which 50 % of the missiles fired will impact. For example, if a cep-radius of 100 meters is specified, then 50 % of missiles fired at a given target should impact within 100 meters of that target and the remaining 50 % of the missile will impact at a distance greater that 100 meters from the target. This assumes that the a missile fired was potentially capable of hitting the desired target (that is, it was in range).

virtual void DtMissileStateRepository::setRadiusCEP ( const DtReal  radiusCEP)
virtual
virtual void DtMissileStateRepository::place ( const DtVector location)
virtual

Place entity at the x, y coordinates given in 'location', and z at 1000 m.

Keeps its the current heading.

virtual void DtMissileStateRepository::place ( const DtReal  heading)
virtual

Give entity the specified 'heading', but stay at its current location in x and y coordinates and pitch.

Sets the z component of the entity's position to 1000 m.

Note
Unlike the base class, this function does not have a "dataAvailable" parameter because it does not make any terrain intersection calls which might block. This function does not call down to DtVrfMovingObjectStateRepository::place
virtual void DtMissileStateRepository::place ( const DtReal  heading,
const DtReal  pitch 
)
virtual

Give entity the specified 'heading' and 'pitch', but stay at its current location in x and y coordinates.

Sets the z component of the entity's position to 1000 m.

Note
Unlike the base class, this function does not have a "dataAvailable" parameter because it does not make any terrain intersection calls which might block. This function does not call down to DtVrfMovingObjectStateRepository::place
virtual void DtMissileStateRepository::place ( const DtVector location,
const DtReal  heading 
)
virtual

Place entity at specified 'location' in x and y coordinates, and at the given 'heading'.

Sets the z component of the entity's position to 1000 m.

Note
Unlike the base class, this function does not have a "dataAvailable" parameter because it does not make any terrain intersection calls which might block. This function does not call down to DtVrfMovingObjectStateRepository::place
virtual void DtMissileStateRepository::place ( const DtVector location,
const DtReal  heading,
const DtReal  pitch 
)
virtual

Place entity at specified 'location' in x and y, 'heading', and 'pitch'.

Sets the z component of the entity's position to 1000 m.

Note
Unlike the base class, this function does not have a "dataAvailable" parameter because it does not make any terrain intersection calls which might block. This function does not call down to DtVrfMovingObjectStateRepository::place
virtual void DtMissileStateRepository::setStartLocalPosition ( const DtVector localPosition)
virtual

At launch time, the launcher should set position and orientation of the missile along with its velocity.

This position is where the launcher is. The velocity will be the velocity of the launcher, and orientation is the orientation of the launcher. Orientation is specified with respect to the database coordinate system.

virtual void DtMissileStateRepository::setStartLocalVelocity ( const DtVector localVelocity)
virtual
virtual void DtMissileStateRepository::setStartLocalOrientationWrtDatabase ( const DtTaitBryan &  localOrientation)
virtual
virtual bool DtMissileStateRepository::setTargetPoint ( const DtVector localTerrainPoint)
virtual

At launch time the missile should be given a target.

The target should be either a terrain point or an entity – not both. If both are set, the last one set will take precedence.

virtual bool DtMissileStateRepository::setTargetEntity ( const DtObjectId &  id)
virtual
virtual void DtMissileStateRepository::setEventId ( const DtEventId &  eventId)
virtual

Missile launcher must set the event Id from the DtFireInteraction sent out for the missile during launch.

Use this event Id when sending out detonation interaction. Event Ids for DtFireInteraction and DtDetonationInteractions should match.

virtual const DtEventId& DtMissileStateRepository::eventId ( ) const
virtual
virtual void DtMissileStateRepository::setDisconnectedFromLauncher ( )
virtual

If the launcher gets destroyed or the firing entity stops guiding this missile (because, perhaps, the wires to a wire-guided missile are cut), it will make this call to the missile.

Some missiles will continue tracking the target, others won't. In this missile base, if the launcher gets disconnected from the missile, the missile loses its targeting and will just fly straight until it hits something.

virtual bool DtMissileStateRepository::missilePassedTarget ( double &  distSquaredToTargetOut) const
virtual

Indicates with a boolean whether the missile has passed the target by comparing the missile's velocity vector with the target's position.

The current distance squared to the target will be returned in distSquaredToTargetOut.

virtual void DtMissileStateRepository::missileDetonated ( DtDetonationInteraction detInter)
virtual

For removing munition entities after they are destroyed.

static void DtMissileStateRepository::detonationCallback ( DtDetonationInteraction detInter,
void *  usr 
)
static
virtual DtReal DtMissileStateRepository::currentPitch ( ) const
virtual

Calculate the current pitch of this Missile.

virtual double DtMissileStateRepository::calcDistanceSquaredToTarget ( )
virtual

This function calculates and returns the distance to the target.

As a side-effect, it also sets myVectorToTarget.

virtual DtReal DtMissileStateRepository::transitionAngle ( ) const
virtual

Set/Get the half angle (in radians) to transition to a proportional navigation entity tracking algorithm.

virtual void DtMissileStateRepository::setTransitionAngle ( DtReal  angle)
virtual
virtual DtReal DtMissileStateRepository::proportionalNavigationGain ( ) const
virtual

Set/Get the gain constant used by the proportional navigation algorithm.

virtual void DtMissileStateRepository::setProportionalNavigationGain ( DtReal  gain)
virtual
virtual void DtMissileStateRepository::putSelf ( FILE *  fp,
int  indentLevel = 0,
bool  writeUnspecified = false,
const DtFilename &  path = DtReaderWriter::appPath() 
)
virtual

Override to map myAttackerId and myTargetEntity to myAttackerName and myTargetName (we can't write objectIds to file, but we can write the object name - it persists across scenario runs).

Reimplemented from DtVrfObjectStateRepository.

virtual void DtMissileStateRepository::getSelf ( DtlObjPtr  args,
const DtFilename &  searchPath,
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 DtVrfObjectStateRepository.

static DtVrfObjectStateRepository* DtMissileStateRepository::creator ( const DtString name,
DtVrfObject vrfObject,
const DtObjectType objectType,
DtVrfObjectParameters parameters,
DtReaderWriterRegistry parentRegistry 
)
static

Reimplemented from DtVrfMovingObjectStateRepository.

static DtMissileStateRepository* DtMissileStateRepository::isMissileStateRepository ( DtSimObjectStateRepository repository)
static

Returns a the pointer the repository, if the repository passed in is of type DtMissileStateRepostiory, 0 if not.

static const DtMissileStateRepository* DtMissileStateRepository::isMissileStateRepository ( const DtSimObjectStateRepository repository)
static
virtual void DtMissileStateRepository::setStartLocalOrientation ( const DtTaitBryan &  topocentricOrientation)
virtual
Deprecated:
To be removed after VR-Forces version 3.11 Sets the starting orientation of the missile, in topocentric Euler angles. This function will only work if the terrain database is in UTM coordinates. This function has been deprecated in the API. Calls to this function be replaced with calls to setStartLocalOrientationWrtDatabase().

Member Data Documentation

DtObjectId DtMissileStateRepository::myAttackerId
protected
DtReal DtMissileStateRepository::myRange
protected
DtReal DtMissileStateRepository::myMaxManeuverGs
protected
DtDetonatorFuze DtMissileStateRepository::myFuzeType
protected
DtWarheadType DtMissileStateRepository::myWarheadType
protected
bool DtMissileStateRepository::myFireAndForget
protected
DtReal DtMissileStateRepository::myRadiusCEP
protected
bool DtMissileStateRepository::myMarkedForRemoval
protected
DtObjectId* DtMissileStateRepository::myTargetEntity
protected
DtVector* DtMissileStateRepository::myTargetPoint
protected
DtVector DtMissileStateRepository::myVectorToTarget
protected

The instantaneous vector to the target for the current tick.

If there is no target, this vector will be zero.

double DtMissileStateRepository::myDistanceSquaredToTarget
protected
double DtMissileStateRepository::myLastDistanceSquaredToTarget
protected
DtVrfObjectManager* DtMissileStateRepository::myDetCbackRegWithThisEntMgr
staticprotected

Flag for indicating whether the detonation callback for munitions has been registered for this VrfObjectManager.

DtReal DtMissileStateRepository::myTransitionAngle
protected
DtReal DtMissileStateRepository::myProportionalNavigationGain
protected
DtRwString DtMissileStateRepository::myAttackerName
protected
DtRwString DtMissileStateRepository::myTargetEntityName
protected
DtEventId DtMissileStateRepository::myEventId
protected

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

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)