VR-Forces 4.7 Class Documentation
 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. More...

Inheritance diagram for DtVrfBalGunPSR:
Inheritance graph
[legend]

Public Member Functions

 DtVrfBalGunPSR (DtVrfObject *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 ()
virtual
DtVrfProcessStateRepository
clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
virtual DtString type () const
 Returns the string type of the repository, as defined in procSRTypes.h.
virtual const
DtDetonationDescriptorList
pendingDetonations () const
 Get list of pending detonations.
virtual void addPendingDetonation (DtDetonationDescriptor *desc)
 Add a new pending detonation.
virtual void removePendingDetonation (const DtEventId &eventId)
 Remove a particular pending detonation.
virtual void setFiringCycleCompleteTime (DtTime completeTime)
 Update the time that the firing cycle will be complete.
virtual DtTime timeFiringCycleComplete () const
 Access firing cycle complete time.
virtual void setDisplayName (const DtString &displayName)
virtual const DtString displayName () const
virtual void setCommandedToFire ()
 Change and test functions for fire state.
virtual bool isCommandedToFire ()
virtual void setHasFired ()
virtual bool hasFired ()
virtual void setNextFireEventTime (const double time)
 Functions relating to the distribution of a burst of automatic fire over multiple fire/detonation events.
virtual double nextFireEventTime () const
virtual void setBurstRoundsRemaining (const int rounds)
 Member functions for burst rounds remaining.
virtual int burstRoundsRemaining () const
virtual void setFiringTracers ()
 Member functions indicating whether the gun is firing tracers.
virtual void setNotFiringTracers ()
virtual bool isFiringTracers () const
virtual bool isFiringTracersSpecified () const
virtual DtArtPartType gunArtPart () const
 Get the art part number for the gun we're associated with.
virtual void setGunArtPart (DtArtPartType gunArtPart)
virtual
DtBaseWeaponComponentInterface
weaponInterface () const
 TODO Accessors for turret art part.
virtual void setWeaponInterface (DtBaseWeaponComponentInterface *weapon)
- Public Member Functions inherited from DtVrfWeaponPSR
 DtVrfWeaponPSR (DtVrfObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 DtVrfWeaponPSR (const DtVrfWeaponPSR &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
const DtVrfWeaponPSRoperator= (const DtVrfWeaponPSR &orig)
virtual ~DtVrfWeaponPSR ()
virtual void setCurrentTarget (const DtEntityIdentifier &target, bool targetOverride=false)
 These two are provided for backward compatibility.
virtual void setUserTargetOverride (bool userTargetOverride)
 Sets the user target override for the next target detection period.
virtual bool userTargetOverride () const
virtual void setCurrentTarget (const DtUUID &, bool targetOverride=false)
 The target this weapon is currently attacking Was: setCurrentTargetName.
virtual const
DtRwVrfObjectReference
currentTarget () const
 Was: currentTargetName.
virtual DtRwVrfObjectReferencecurrentTarget ()
virtual const DtVrfMunitionLoadermunitionLoader () const
 The munitionLoader manages loading and unloading timers.
virtual DtVrfMunitionLoadermunitionLoader ()
virtual void setCurrentMunitionName (const DtString &currentMunitionName)
 Sets the name of the current munition.
virtual const DtStringcurrentMunitionName () const
 Returns the name of the current munition.
virtual bool targetAcquired () const
 Do I have the target in my sights, ready to be fired upon?
virtual void setTargetAcquired (bool targetAcquired)
virtual bool weaponAimed () const
 Is the weapon aimed at the correct location?
virtual void setWeaponAimed (bool aimed)
- Public Member Functions inherited from DtVrfProcessStateRepository
 DtVrfProcessStateRepository (DtVrfObject *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 ()
virtual bool init ()
 Used for virtual construction. This base method simply returns true.
virtual bool loadedFromMTL () const
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 Top level to read itself from an input stream.
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 default constructor
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 real constructor Setting the readonly flag prevents object from writing itself to the stream.
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 pseudo-copy constructor
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 copy constructor
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 assignment operator
bool operator== (const DtReaderWriter &) const
 Equivalence operator.
bool operator!= (const DtReaderWriter &rhs)
virtual ~DtReaderWriter ()
 destructor
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Top level call to write itself to file.
virtual void postPutSelf ()
 Called after either version of put self (file or environment). Default is no-op.
virtual void prePutSelf ()
 Called before either version of put self (file or environment). Default is no-op.
virtual void postGetSelf ()
 Called after either version of getSelf (mtl or environment). Default is no-op.
virtual void preGetSelf ()
 Called before either version of get self (file or environment). Default is no-op.
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry.
virtual DtSymbolString name () const
 Accessor for name of this readable/writable object.
virtual void addAlias (const DtSymbolString &alias)
 Add an alias as an alternative name for this object.
virtual void addAlias (const DtString &alias)
virtual bool hasAlias (const DtSymbolString &alias)
virtual const aliasContaineraliases () const
virtual void setReadonly (bool flag)
 Set read-only flag.
bool isReadonly () const
virtual void reset ()
 For those reader/writer items that support it, resets the reader/writer value to original state Default is no-op.
virtual int alignment () const
 For those items that are sent over the network via HLA, this will give the network alignment.
virtual bool variableIsBound () const
virtual void unbindVariable ()
 Sets the myVariableIsBound flag to false.
virtual void setName (const DtString &)
 Set the name of the object.
virtual const charreaderWriterType () const
 Used to supply a string type that this reader writer type is.
virtual const charxmlType () const
virtual DtString prettyPrint () const
 Routine to return a human readable form of the reader/writer variable.
std::string debugText () const
virtual void bindVariables (DtVariableBindingsList variableBindings)
 Runs a variable binding pass on this reader writer and any of its children.
virtual std::list
< DtVariableNameType
unboundVariables () const
bool invalid () const
virtual bool hasChild (const DtReaderWriter *p) const
 Returns true if this variable has a child p in it's chain.
virtual bool hasVariableReference () const
 Returns true if this item or any item in the registry (recursive) is a variable reference.
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 Checks to see if this RW object is a variable reference that can be bound using the provided bindings.
virtual void recordUpdateTime () const
 Can be implemented in subclasses to stamp the time when updated.
virtual bool wasUpdatedSince (DtTime t) const
 Can be implemented in subclasses to return true if an update occurred after the specified time.
virtual bool changedSinceLastChecked ()
 Returns true if this objects value has changed since the last time this function was called.
virtual bool peekChangedSinceLastChecked () const
 Returns the value that changedSinceLastChecked would return but does not reset the internal flag.
virtual void putData (std::string &fp, int indentLevel=0)
 Deriving class overrides these to get/put class specific data.
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.
virtual bool valueSpecified () const
virtual bool isVariableReference () const
 Specifies whether or not this reader writer is really a variable that is specified elsewhere.
virtual void setIsVariableReference (bool value)
virtual void clearAllVariableReferenceFlags ()
 Clears out all variable reference flags from all readerwriter items in registry recursively.
virtual DtSymbolString variableName () const
 The variable name, if this object is a variable reference.
virtual void setVariableName (const DtSymbolString variableName)
virtual const DtReaderWriterdefaultRWValue () const
 The default value to use if the reader/writer object is a variable and that variable is not specified.
virtual DtReaderWriterdefaultRWValue ()
virtual void setDefaultRWValue (DtReaderWriter *)
 Previous default value, if exists, will be removed and replaced with a clone of the supplied variable.
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Give the stream, if the stream contains a default value then set it here.
const DtReaderWriterRegistryregistry () const
 Collection of child DtReaderWriter nodes owned by this object.
DtReaderWriterRegistryregistry ()
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.
virtual bool toXml (const DtFilename &) const
 Writes contents of xml result to the given filename.
virtual bool fromXml (const DtString &)
 Restores object from given xml string. Returns true if valid.
virtual bool fromXmlFile (const DtFilename &)
 Restores object from given xml file.
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 Override to add attributes of actual data.
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 Called when the item is a variable reference.
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 Gets data from the environment value.
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 Called when the xml reader tries to parse an unknown reader/writer item. Default is a no-op.
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 Called when the item is a variable reference.

Static Public Member Functions

static
DtVrfProcessStateRepository
creator (const DtString &name, DtVrfObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
 Create an instance of a DtVrfWeaponPSR.

Protected Types

enum  FireState { CommandedToFire, HasFired }
 State describing the gun. More...

Protected Member Functions

 DtVrfBalGunPSR ()
- Protected Member Functions inherited from DtVrfWeaponPSR
 DtVrfWeaponPSR ()
- Protected Member Functions inherited from DtVrfProcessStateRepository
 DtVrfProcessStateRepository ()
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 Copies values from the specified DtReaderWriter.

Protected Attributes

DtDetonationDescriptorList myPendingDetonations
 List of DtDetonationDescriptors, used to save/restore information about pending scheduled detonations.
DtRwInt myFireState
 State describing the gun; for communication between the controller and actuator.
DtRwReal myFireCycleCompleteTime
 The time at which the gun firing cycle is complete.
DtRwString myDisplayName
DtRwBoolean myFiringTracers
 A flag that indicates if the gun is firing tracer rounds (mixed with ball)
int myGunArtPart
 The art part number for the gun we're associated with.
DtBaseWeaponComponentInterfacemyWeaponInterface
 The weapon control interface for this gun, if it exists.
DtRwReal myNextFireEventTime
 State variables for bursts with multiple detonations.
DtRwInt myBurstRoundsRemaining
 The number of rounds left in the burst, yet to process in fire events.
- Protected Attributes inherited from DtVrfWeaponPSR
DtRwBoolean myTargetAcquired
DtRwVrfObjectReference myCurrentTarget
DtRwBoolean myUserTargetOverride
DtRwString myCurrentMunitionName
DtVrfMunitionLoader myMunitionLoader
DtRwBoolean myWeaponAimed
- Protected Attributes inherited from DtVrfProcessStateRepository
DtVrfObjectmyVrfObject
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
 Container for the aliases which represent alternative names for the object.
bool myInvalid
 Set to true if there is a problem reading this item.
bool myChangedFlag
 Set to true when value changes Set to false when value checked with changedSinceLastChecked.

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

Detailed Description

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).

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 ( DtVrfObject 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 ( )
virtual

Member Function Documentation

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

Reimplemented from DtVrfWeaponPSR.

Reimplemented in DtVrfTurretedBalGunPSR.

virtual DtString DtVrfBalGunPSR::type ( ) const
virtual

Returns the string type of the repository, as defined in procSRTypes.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 DtEventId &  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
virtual void DtVrfBalGunPSR::setHasFired ( )
virtual
virtual bool DtVrfBalGunPSR::hasFired ( )
virtual
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
virtual void DtVrfBalGunPSR::setBurstRoundsRemaining ( const int  rounds)
virtual

Member functions for burst rounds remaining.

virtual int DtVrfBalGunPSR::burstRoundsRemaining ( ) const
virtual
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
virtual bool DtVrfBalGunPSR::isFiringTracers ( ) const
virtual
virtual bool DtVrfBalGunPSR::isFiringTracersSpecified ( ) const
virtual
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
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
static DtVrfProcessStateRepository* DtVrfBalGunPSR::creator ( const DtString name,
DtVrfObject vrfObject,
DtReaderWriterRegistry parentRegistry 
)
static

Create an instance of a DtVrfWeaponPSR.

Reimplemented from DtVrfWeaponPSR.

Reimplemented in DtVrfTurretedBalGunPSR.

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 Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)