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 | Protected Types | Protected Attributes
DtVrfMunitionLoader Class Reference

Class DtVrfMunitionLoader:

Inheritance diagram for DtVrfMunitionLoader:
Inheritance graph
[legend]

Public Member Functions

 DtVrfMunitionLoader (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 
 DtVrfMunitionLoader (const DtVrfMunitionLoader &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 
const DtVrfMunitionLoaderoperator= (const DtVrfMunitionLoader &orig)
 
virtual ~DtVrfMunitionLoader () override
 
virtual void tick (const DtSimMunition &correctMunition, DtDetonatorFuze correctFuze, DtTime currentTime, int roundsAvailable=1)
 
virtual void load (DtTime startLoadTime, const DtSimMunition &munition, DtDetonatorFuze fuze)
 
virtual void loadComplete (int roundsAvailable)
 
virtual void unload (DtTime startUnloadTime)
 
virtual void unload ()
 
virtual bool isLoading () const
 
virtual bool isUnLoading () const
 
virtual bool isLoaded () const
 
virtual bool isUnloaded () const
 
virtual int state () const
 
virtual std::string stateString () const
 
virtual const DtSimMunitioncurrentMunition () const
 
virtual void setCurrentMunition (const DtSimMunition &currentMunition)
 
virtual DtDetonatorFuze currentFuze () const
 
virtual void setCurrentFuze (DtDetonatorFuze currentFuze)
 
virtual double completeLoadTime () const
 
virtual void setCompleteLoadTime (double completeLoadTime)
 
virtual double completeUnloadTime () const
 
virtual void setCompleteUnloadTime (double completeUnloadTime)
 
virtual double loadAmmoTime () const
 
virtual void setLoadAmmoTime (double loadAmmoTime)
 
virtual double unloadAmmoTime () const
 
virtual void setUnloadAmmoTime (double unloadAmmoTime)
 
virtual void setRoundsPerMagazine (const int nRounds)
 
virtual int roundsPerMagazine () const
 
virtual int roundsLeftInMagazine () const
 
virtual void useRounds (const int nRounds)
 
virtual void setConsoleWarn (DtOutputStream *const warnStream)
 
virtual void setConsoleDebug (DtOutputStream *const debugStream)
 
virtual void setParentComponent (const DtSimComponent *component)
 
virtual bool isDetailedDebuggingOn () const
 
- 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 getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
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)
 

Protected Types

enum  LoadState { Loading, Unloading, Unloaded, Loaded }
 

Protected Attributes

DtRwInt myState
 
DtOutputStream * myConsoleWarn
 
DtOutputStream * myConsoleDebug
 
const DtSimComponentmyParentComponent
 
DtSimMunition myCurrentMunition
 
DtRwInt myCurrentFuze
 
DtRwReal myCompleteLoadTime
 
DtRwReal myCompleteUnloadTime
 
DtReal myLoadAmmoTime
 
DtReal myUnloadAmmoTime
 
DtRwInt myRoundsPerMagazine
 
DtRwInt myRoundsLeftInMagazine
 
- 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 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 Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 
- 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

Enumerator
Loading 
Unloading 
Unloaded 
Loaded 

Constructor & Destructor Documentation

DtVrfMunitionLoader::DtVrfMunitionLoader ( const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)
DtVrfMunitionLoader::DtVrfMunitionLoader ( const DtVrfMunitionLoader orig,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)
virtual DtVrfMunitionLoader::~DtVrfMunitionLoader ( )
overridevirtual

Member Function Documentation

const DtVrfMunitionLoader& DtVrfMunitionLoader::operator= ( const DtVrfMunitionLoader orig)
virtual void DtVrfMunitionLoader::tick ( const DtSimMunition correctMunition,
DtDetonatorFuze  correctFuze,
DtTime  currentTime,
int  roundsAvailable = 1 
)
virtual

Tick the munition loader to update the load state. The munition and fuze arguments indicate the correct load for the current target; if the loader is not loaded with or loading this munition, it will begin doing so. If the gun loads magazines of ammo at a time, the rounds available argument will make sure that the loader doesn't load more rounds than are available.

virtual void DtVrfMunitionLoader::load ( DtTime  startLoadTime,
const DtSimMunition munition,
DtDetonatorFuze  fuze 
)
virtual

Sets the loading state to Loading. Also remembers what munition and fuze is being loaded so loader can compare to the values in the next tick call.

virtual void DtVrfMunitionLoader::loadComplete ( int  roundsAvailable)
virtual

Sets the loading state to Loaded. Loads the gun with a number of rounds equal to RoundsPerMagazine, if there are that many available (or otherwise what is available). If there is no ammo in the resource database, the loader refuses to load.

virtual void DtVrfMunitionLoader::unload ( DtTime  startUnloadTime)
virtual

Sets the load state to Unloaded, and the number of rounds currently in the magazine to zero.

virtual void DtVrfMunitionLoader::unload ( )
virtual

Unload without a timer. Called when munition is fired.

virtual bool DtVrfMunitionLoader::isLoading ( ) const
virtual

myState == Loading

virtual bool DtVrfMunitionLoader::isUnLoading ( ) const
virtual

myState == Unloading

virtual bool DtVrfMunitionLoader::isLoaded ( ) const
virtual

myState == Loaded

virtual bool DtVrfMunitionLoader::isUnloaded ( ) const
virtual

myState == Unloaded This is included for completeness, but typically the user will want to use if (! isLoaded()) rather than (isUnloaded()) as the former is the one that tells you that the gun isn't ready to shoot yet

virtual int DtVrfMunitionLoader::state ( ) const
virtual

Returns the state in integer form. Mostly for debugging.

virtual std::string DtVrfMunitionLoader::stateString ( ) const
virtual

Returns state in string form. Mostly for debugging.

virtual const DtSimMunition& DtVrfMunitionLoader::currentMunition ( ) const
virtual
virtual void DtVrfMunitionLoader::setCurrentMunition ( const DtSimMunition currentMunition)
virtual
virtual DtDetonatorFuze DtVrfMunitionLoader::currentFuze ( ) const
virtual
virtual void DtVrfMunitionLoader::setCurrentFuze ( DtDetonatorFuze  currentFuze)
virtual
virtual double DtVrfMunitionLoader::completeLoadTime ( ) const
virtual

CompleteLoadTime is normally set by the load() method, and sets the exercise time that a load operation will complete.

virtual void DtVrfMunitionLoader::setCompleteLoadTime ( double  completeLoadTime)
virtual
virtual double DtVrfMunitionLoader::completeUnloadTime ( ) const
virtual

CompleteUnloadTime is normally set by the unload() method, and sets the exercise time that an unload operation will complete.

virtual void DtVrfMunitionLoader::setCompleteUnloadTime ( double  completeUnloadTime)
virtual
virtual double DtVrfMunitionLoader::loadAmmoTime ( ) const
virtual

Called by the controller based on the value in the descriptor.

virtual void DtVrfMunitionLoader::setLoadAmmoTime ( double  loadAmmoTime)
virtual

Called by the controller based on the value in the descriptor.

virtual double DtVrfMunitionLoader::unloadAmmoTime ( ) const
virtual

Called by the controller based on the value in the descriptor.

virtual void DtVrfMunitionLoader::setUnloadAmmoTime ( double  unloadAmmoTime)
virtual

Called by the controller based on the value in the descriptor.

virtual void DtVrfMunitionLoader::setRoundsPerMagazine ( const int  nRounds)
virtual

Called by the actuator, which sets value based on descriptor. Needed by the loader so it knows how many rounds to load at once.

virtual int DtVrfMunitionLoader::roundsPerMagazine ( ) const
virtual
virtual int DtVrfMunitionLoader::roundsLeftInMagazine ( ) const
virtual

Returns number of rounds left in magazine (rounds to fire before becoming unloaded)

virtual void DtVrfMunitionLoader::useRounds ( const int  nRounds)
virtual

Deplete the rounds left. Called by actuator when it fires.

virtual void DtVrfMunitionLoader::setConsoleWarn ( DtOutputStream *const  warnStream)
virtual

Set object output consoles for the munition loader so that debug messages can be output.

virtual void DtVrfMunitionLoader::setConsoleDebug ( DtOutputStream *const  debugStream)
virtual
virtual void DtVrfMunitionLoader::setParentComponent ( const DtSimComponent component)
virtual

Set the parent component.

virtual bool DtVrfMunitionLoader::isDetailedDebuggingOn ( ) const
virtual

Determine if detailed debugging is turned on in the parent component. If so, information will be printed to the sim console whenever the load state changes.

Member Data Documentation

DtRwInt DtVrfMunitionLoader::myState
protected
DtOutputStream* DtVrfMunitionLoader::myConsoleWarn
protected
DtOutputStream* DtVrfMunitionLoader::myConsoleDebug
protected
const DtSimComponent* DtVrfMunitionLoader::myParentComponent
protected

Pointer back to component that is running the loader.

DtSimMunition DtVrfMunitionLoader::myCurrentMunition
protected

The munition and fuze currently loaded / loading. If these do not match the values passed in to tick, a load (or unload/load) sequence is initiated.

DtRwInt DtVrfMunitionLoader::myCurrentFuze
protected
DtRwReal DtVrfMunitionLoader::myCompleteLoadTime
protected
DtRwReal DtVrfMunitionLoader::myCompleteUnloadTime
protected
DtReal DtVrfMunitionLoader::myLoadAmmoTime
protected

Fed from controller based on the value from the descriptor.

DtReal DtVrfMunitionLoader::myUnloadAmmoTime
protected

Fed from controller based on the value from the descriptor.

DtRwInt DtVrfMunitionLoader::myRoundsPerMagazine
protected

How many rounds the magazine holds; loader loads a magazine at a time. Set by gun (actuator) using parameter values in the descriptor.

DtRwInt DtVrfMunitionLoader::myRoundsLeftInMagazine
protected

How many rounds left to be fired before becoming unloaded.


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)