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

Class DtVrfBalGunPSR: Used to hold checkpointable state for the processes associated with ballistic guns. Maintains information about any pending detonations (detonation interaction data, simulation time to fire).

Inheritance diagram for DtVrfBalGunPSR:
Inheritance graph
[legend]

Public Member Functions

 DtVrfBalGunPSR (DtLocalObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 
 DtVrfBalGunPSR (const DtVrfBalGunPSR &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 
const DtVrfBalGunPSRoperator= (const DtVrfBalGunPSR &orig)
 
virtual ~DtVrfBalGunPSR () override
 
virtual
DtVrfProcessStateRepository
clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const override
 
virtual DtString type () const override
 
virtual const
DtDetonationDescriptorList
pendingDetonations () const
 
virtual void addPendingDetonation (DtDetonationDescriptor *desc)
 
virtual void removePendingDetonation (const DtString &eventId)
 
virtual void setFiringCycleCompleteTime (DtTime completeTime)
 
virtual DtTime timeFiringCycleComplete () const
 
virtual void setDisplayName (const DtString &displayName)
 
virtual const DtString displayName () const
 
virtual void setCommandedToFire ()
 
virtual bool isCommandedToFire ()
 
virtual void setHasFired ()
 
virtual bool hasFired ()
 
virtual void setNextFireEventTime (const double time)
 
virtual double nextFireEventTime () const
 
virtual void setBurstRoundsRemaining (const int rounds)
 
virtual int burstRoundsRemaining () const
 
virtual void setFiringTracers ()
 
virtual void setNotFiringTracers ()
 
virtual bool isFiringTracers () const
 
virtual bool isFiringTracersSpecified () const
 
virtual DtArtPartType gunArtPart () const
 
virtual void setGunArtPart (DtArtPartType gunArtPart)
 
virtual
DtBaseWeaponComponentInterface
weaponInterface () const
 
virtual void setWeaponInterface (DtBaseWeaponComponentInterface *weapon)
 
- Public Member Functions inherited from DtVrfWeaponPSR
 DtVrfWeaponPSR (DtLocalObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=nullptr)
 
 DtVrfWeaponPSR (const DtVrfWeaponPSR &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=nullptr)
 
const DtVrfWeaponPSRoperator= (const DtVrfWeaponPSR &orig)
 
virtual ~DtVrfWeaponPSR () override
 
virtual void setUserTargetOverride (bool userTargetOverride)
 
virtual bool userTargetOverride () const
 
virtual void setCurrentTarget (const DtUUID &, bool targetOverride=false)
 
virtual DtSimObjectReference currentTarget () const
 
virtual void setCurrentLocationTarget (const DtVector &locationTarget, bool targetOverride=false)
 
virtual DtVector currentLocationTarget () const
 
virtual const DtVrfMunitionLoadermunitionLoader () const
 
virtual DtVrfMunitionLoadermunitionLoader ()
 
virtual void setCurrentMunitionType (const DtEntityType &currentMunitionName)
 
virtual const DtEntityType & currentMunitionType () const
 
virtual bool targetAcquired () const
 
virtual void setTargetAcquired (bool targetAcquired)
 
virtual bool weaponAimed () const
 
virtual void setWeaponAimed (bool aimed)
 
virtual void setWeaponStowed (bool v)
 
virtual bool weaponStowed () const
 
virtual void addActiveMissile (const DtUUID &)
 
virtual void removeActiveMissile (const DtUUID &)
 
virtual const
DtRwSimObjectReferenceList
activeMissiles () const
 
virtual DtSimObjectReference lastMissileFired () const
 
virtual bool stillTargeting (const DtUUID &) const
 
virtual void setRoundsFiredUponTarget (const int &roundsFired)
 
virtual const int roundsFiredUponTarget () const
 
virtual void setIsExplicitlyTasked (const bool &explicitlyTasked)
 
virtual const bool isExplicitlyTasked () const
 
virtual void setIsInFiringCycle (const bool)
 
virtual bool isInFiringCycle () const
 
virtual void setWeaponStatus (const int weaponStatus)
 
virtual const int weaponStatus () const
 
virtual void addWeaponStatus (const DtBaseWeaponComponentInterface::DtWeaponStatus weaponStatus)
 
virtual void removeWeaponStatus (const DtBaseWeaponComponentInterface::DtWeaponStatus weaponStatus)
 
virtual void setWorkingTargetPoint (const DtUUID &id)
 
virtual DtSimObjectReference workingTargetPoint () const
 
- Public Member Functions inherited from DtVrfProcessStateRepository
 DtVrfProcessStateRepository (DtLocalObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 
 DtVrfProcessStateRepository (const DtVrfProcessStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 
const DtVrfProcessStateRepositoryoperator= (const DtVrfProcessStateRepository &orig)
 
virtual ~DtVrfProcessStateRepository () override
 
virtual bool init ()
 
virtual bool loadedFromMTL () const
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 
bool operator== (const DtReaderWriter &) const
 
bool operator!= (const DtReaderWriter &rhs) const
 
virtual ~DtReaderWriter ()
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual void postPutSelf ()
 
virtual void prePutSelf ()
 
virtual void postGetSelf ()
 
virtual void preGetSelf ()
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual DtSymbolString name () const
 
virtual void addAlias (const DtSymbolString &alias)
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 
bool isReadonly () const
 
virtual void reset ()
 
virtual int alignment () const
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 
virtual void setName (const DtString &)
 
virtual const charreaderWriterType () const
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 
virtual bool hasVariableReference () const
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 
virtual void recordUpdateTime () const
 
virtual bool changedSinceLastChecked ()
 
virtual bool peekChangedSinceLastChecked () const
 
virtual void putData (std::string &fp, int indentLevel=0)
 
virtual DtlObjPtr getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 
virtual DtSymbolString variableName () const
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 
virtual bool toXml (const DtFilename &) const
 
virtual bool fromXml (const DtString &)
 
virtual bool fromXmlFile (const DtFilename &)
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 
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())
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 

Static Public Member Functions

static
DtVrfProcessStateRepository
creator (const DtString &name, DtLocalObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
 
- Static Public Member Functions inherited from DtVrfWeaponPSR
static
DtVrfProcessStateRepository
creator (const DtString &name, DtLocalObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
 
- Static Public Member Functions inherited from DtVrfProcessStateRepository
static
DtVrfProcessStateRepositoryFactory
factory ()
 
static void setFactory (DtVrfProcessStateRepositoryFactory *factory)
 
static void addVrfProcessStateRepositoryCreatorFcn (const DtString &type, DtVrfProcessStateRepositoryCreatorFcn fcn)
 
static
DtVrfProcessStateRepository
createRepository (const DtString &name, const DtString &type, DtLocalObject *vrfObject, DtReaderWriterRegistry *parentRegistry=0)
 
- 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 ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 

Protected Types

enum  FireState { CommandedToFire, HasFired }
 

Protected Member Functions

 DtVrfBalGunPSR ()
 
- Protected Member Functions inherited from DtVrfWeaponPSR
 DtVrfWeaponPSR ()
 
virtual void missileRemoved (const DtUUID &)
 
- Protected Member Functions inherited from DtVrfProcessStateRepository
 DtVrfProcessStateRepository ()
 
const DtSimObjectvrfObject () const
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Protected Attributes

DtDetonationDescriptorList myPendingDetonations
 
DtRwInt myFireState
 
DtRwReal myFireCycleCompleteTime
 
DtRwString myDisplayName
 
DtRwBoolean myFiringTracers
 
int myGunArtPart
 
DtBaseWeaponComponentInterfacemyWeaponInterface
 
DtRwReal myNextFireEventTime
 
DtRwInt myBurstRoundsRemaining
 
- Protected Attributes inherited from DtVrfWeaponPSR
DtRwBoolean myTargetAcquired
 
DtRwSimObjectReference myCurrentTarget
 
DtRwVector myCurrentLocationTarget
 
DtRwBoolean myUserTargetOverride
 
DtRwResource myCurrentMunitionType
 
DtVrfMunitionLoader myMunitionLoader
 
DtRwBoolean myWeaponAimed
 
DtRwSimObjectReferenceList myActiveMissiles
 
DtRwNLengthUUIDVector myMissileFireOrder
 
DtRwInt myRoundsFiredUponTarget
 
DtRwBoolean myIsExplicitlyTasked
 
DtRwBoolean myIsInFiringCycle
 
DtRwInt myWeaponStatus
 
DtRwBoolean myWeaponStowed
 
DtRwSimObjectReference myWorkingTargetPoint
 
boost::signals2::connection myActiveMissilesListConnection
 
- Protected Attributes inherited from DtVrfProcessStateRepository
DtLocalObjectmyVrfObject
 
bool myLoadedFromMTL
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

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::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 
- Static Protected Attributes inherited from DtVrfProcessStateRepository
static
DtVrfProcessStateRepositoryFactory
theFactory
 
- 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
 

Member Enumeration Documentation

enum DtVrfBalGunPSR::FireState
protected

State describing the gun. We could add more physical gun states here such as "jammed.".

Enumerator
CommandedToFire 
HasFired 

Constructor & Destructor Documentation

DtVrfBalGunPSR::DtVrfBalGunPSR ( )
protected
DtVrfBalGunPSR::DtVrfBalGunPSR ( DtLocalObject vrfObject,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)
DtVrfBalGunPSR::DtVrfBalGunPSR ( const DtVrfBalGunPSR orig,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)
virtual DtVrfBalGunPSR::~DtVrfBalGunPSR ( )
overridevirtual

Member Function Documentation

const DtVrfBalGunPSR& DtVrfBalGunPSR::operator= ( const DtVrfBalGunPSR orig)
virtual DtVrfProcessStateRepository* DtVrfBalGunPSR::clone ( const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
) const
overridevirtual

Reimplemented from DtVrfWeaponPSR.

Reimplemented in DtVrfTurretedBalGunPSR.

virtual DtString DtVrfBalGunPSR::type ( ) const
overridevirtual

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

Reimplemented from DtVrfWeaponPSR.

Reimplemented in DtVrfTurretedBalGunPSR.

virtual const DtDetonationDescriptorList& DtVrfBalGunPSR::pendingDetonations ( ) const
virtual

Get list of pending detonations.

virtual void DtVrfBalGunPSR::addPendingDetonation ( DtDetonationDescriptor desc)
virtual

Add a new pending detonation.

virtual void DtVrfBalGunPSR::removePendingDetonation ( const DtString eventId)
virtual

Remove a particular pending detonation.

virtual void DtVrfBalGunPSR::setFiringCycleCompleteTime ( DtTime  completeTime)
virtual

Update the time that the firing cycle will be complete.

virtual DtTime DtVrfBalGunPSR::timeFiringCycleComplete ( ) const
virtual

Access firing cycle complete time.

virtual void DtVrfBalGunPSR::setCommandedToFire ( )
virtual

Change and test functions for fire state. The controller sets commandedToFire when it sets its trigger port true, and then waits for hasFired AND for time > timeFiringCycleComplete before trying to reload or fire again. The gun actuator sets hasFired and the timeFiringCycleComplete when it fires.

virtual bool DtVrfBalGunPSR::isCommandedToFire ( )
virtual

Change and test functions for fire state. The controller sets commandedToFire when it sets its trigger port true, and then waits for hasFired AND for time > timeFiringCycleComplete before trying to reload or fire again. The gun actuator sets hasFired and the timeFiringCycleComplete when it fires.

virtual void DtVrfBalGunPSR::setHasFired ( )
virtual

Change and test functions for fire state. The controller sets commandedToFire when it sets its trigger port true, and then waits for hasFired AND for time > timeFiringCycleComplete before trying to reload or fire again. The gun actuator sets hasFired and the timeFiringCycleComplete when it fires.

virtual bool DtVrfBalGunPSR::hasFired ( )
virtual

Change and test functions for fire state. The controller sets commandedToFire when it sets its trigger port true, and then waits for hasFired AND for time > timeFiringCycleComplete before trying to reload or fire again. The gun actuator sets hasFired and the timeFiringCycleComplete when it fires.

virtual void DtVrfBalGunPSR::setNextFireEventTime ( const double  time)
virtual

Functions relating to the distribution of a burst of automatic fire over multiple fire/detonation events.

Member functions for next fire event time.

virtual double DtVrfBalGunPSR::nextFireEventTime ( ) const
virtual

Functions relating to the distribution of a burst of automatic fire over multiple fire/detonation events.

Member functions for next fire event time.

virtual void DtVrfBalGunPSR::setBurstRoundsRemaining ( const int  rounds)
virtual

Member functions for burst rounds remaining.

virtual int DtVrfBalGunPSR::burstRoundsRemaining ( ) const
virtual

Member functions for burst rounds remaining.

virtual void DtVrfBalGunPSR::setDisplayName ( const DtString displayName)
virtual
virtual const DtString DtVrfBalGunPSR::displayName ( ) const
virtual
virtual void DtVrfBalGunPSR::setFiringTracers ( )
virtual

Member functions indicating whether the gun is firing tracers.

virtual void DtVrfBalGunPSR::setNotFiringTracers ( )
virtual

Member functions indicating whether the gun is firing tracers.

virtual bool DtVrfBalGunPSR::isFiringTracers ( ) const
virtual

Member functions indicating whether the gun is firing tracers.

virtual bool DtVrfBalGunPSR::isFiringTracersSpecified ( ) const
virtual

Member functions indicating whether the gun is firing tracers.

virtual DtArtPartType DtVrfBalGunPSR::gunArtPart ( ) const
virtual

Get the art part number for the gun we're associated with.

virtual void DtVrfBalGunPSR::setGunArtPart ( DtArtPartType  gunArtPart)
virtual

Get the art part number for the gun we're associated with.

virtual DtBaseWeaponComponentInterface* DtVrfBalGunPSR::weaponInterface ( ) const
virtual

TODO Accessors for turret art part. The turret actuator sets this, and the gun controller copies the info into the weapon interface.

Accessor for weapon control interface.

virtual void DtVrfBalGunPSR::setWeaponInterface ( DtBaseWeaponComponentInterface weapon)
virtual

TODO Accessors for turret art part. The turret actuator sets this, and the gun controller copies the info into the weapon interface.

Accessor for weapon control interface.

static DtVrfProcessStateRepository* DtVrfBalGunPSR::creator ( const DtString name,
DtLocalObject vrfObject,
DtReaderWriterRegistry parentRegistry 
)
static

Member Data Documentation

DtDetonationDescriptorList DtVrfBalGunPSR::myPendingDetonations
protected

List of DtDetonationDescriptors, used to save/restore information about pending scheduled detonations.

DtRwInt DtVrfBalGunPSR::myFireState
protected

State describing the gun; for communication between the controller and actuator. The controller sets this to "commanded," and the actuator sets it either to "has fired" or "unable." When the gun "has fired" and the cycle complete time has expired (below), then the controller can fire again.

DtRwReal DtVrfBalGunPSR::myFireCycleCompleteTime
protected

The time at which the gun firing cycle is complete. Set by the gun actuator component to inform the gun controller component that it can issue another fire command for another target.

DtRwReal DtVrfBalGunPSR::myNextFireEventTime
protected

State variables for bursts with multiple detonations. These are used if the number of rounds-per-detonation is less than the number of rounds-per-trigger-pull.The time of the next fire-detonation event. This must be before the fire cycle complete time.

DtRwInt DtVrfBalGunPSR::myBurstRoundsRemaining
protected

The number of rounds left in the burst, yet to process in fire events.

DtRwString DtVrfBalGunPSR::myDisplayName
protected
DtRwBoolean DtVrfBalGunPSR::myFiringTracers
protected

A flag that indicates if the gun is firing tracer rounds (mixed with ball)

int DtVrfBalGunPSR::myGunArtPart
protected

The art part number for the gun we're associated with.

Note
This value is not saved to the OOB file. It is reset at runtime by the actuator when the scenario is loaded.
DtBaseWeaponComponentInterface* DtVrfBalGunPSR::myWeaponInterface
protected

The weapon control interface for this gun, if it exists. This is set during postAddComponentsInit by the balgun controller.


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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)