VR-Forces 4.2 Class Documentation
List of all members | Public Types | Public Member Functions | Protected Attributes | Private Member Functions
DtBaseWeaponComponentInterface Class Reference

Abstract base class for all psrs that will serve as an interface between a controlling component on the entity and a group of weapon systems of the same type. More...

Inheritance diagram for DtBaseWeaponComponentInterface:
Inheritance graph
[legend]

Public Types

enum  DtWeaponStatus { DT_OK_TO_FIRE = 0, DT_WEAPON_DISABLED = 1, DT_NO_AMMUNITION_FOR_TARGET = 2, DT_CANNOT_ACQUIRE_TARGET = 4 }

Public Member Functions

 DtBaseWeaponComponentInterface (DtVrfObject *vrfObject, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 DtBaseWeaponComponentInterface (const DtBaseWeaponComponentInterface &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
const
DtBaseWeaponComponentInterface
operator= (const DtBaseWeaponComponentInterface &orig)
virtual ~DtBaseWeaponComponentInterface ()
virtual
DtVrfProcessStateRepository
clone (const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
virtual void updateRegionEvaluator ()=0
 This must be called before calling locationWithinRegion() if the host entity has moved at all since this was last called.
virtual bool locationWithinRegion (const DtVector &localLocation) const =0
virtual void setRoundsFiredUponTarget (const int &roundsFired)
 Accessor/mutator for myRoundsFiredUponTarget.
virtual const int roundsFiredUponTarget () const
virtual void setTotalRoundsToFireUponTarget (const int &totalRoundsToFire)
 Accessor/mutator for myTotalRoundsToFireUponTarget.
virtual const int totalRoundsToFireUponTarget () const
virtual void setIsExplicitlyTasked (const bool &explicitlyTasked)
 Accessor/mutator for myIsExplicitlyTasked.
virtual const bool isExplicitlyTasked () const
 Accessor/mutator for myIsExplicitlyTasked.
virtual void setAllowExplicitTasking (const bool &includeInDialogs)
 Accessor/mutator for myAllowExplicitTasking.
virtual const bool allowExplicitTasking () const
 Accessor/mutator for myAllowExplicitTasking.
virtual void setDisplayName (const DtString &displayName)
 Accessor/mutator for myDisplayName.
virtual const DtString displayName () const
 Accessor/mutator for myDisplayName.
virtual void setWeaponStatus (const int weaponStatus)
 Accessor/mutator for myWeaponStatus.
virtual const int weaponStatus () const
 Accessor/mutator for myWeaponStatus.
virtual void setResourceList (const std::list< DtString > &list)
 Accessor/mutator for #myResourceList.
virtual const std::list
< DtString > & 
resourceList () const
 Accessor/mutator for #myResourceList.
virtual std::list< DtString > & resourceList ()
 Accessor/mutator for #myResourceList.
- 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 DtString type () const =0
 Returns the string type of the repository, as defined in procSRTypes.h.
virtual bool loadedFromMTL () const
virtual void getSelf (DtlObjPtr args, const DtFilename &searchPath, const DtVariableBindingsList &variableBindings)
- 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
bool operator== (const DtReaderWriter &) const
 Equivalence operator.
bool operator!= (const DtReaderWriter &rhs)
virtual ~DtReaderWriter ()
 destructor
virtual void putSelf (FILE *fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 Top level call to write itself to file.
virtual void getSelf (DtlObjPtr args, const DtFilename &searchPath=DtFilename::nullFilename(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Top level to read itself from an input stream.
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 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)
 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.

Protected Attributes

DtRwInt myRoundsFiredUponTarget
 Tracks rounds fired upon current target.
DtRwInt myTotalRoundsToFireUponTarget
 Tracks total rounds to fire upon current target.
DtRwBoolean myIsExplicitlyTasked
 Tracks whether the weapon system has been explicitly tasked as opposed to a target being automatically selected.
DtRwBoolean myAllowExplicitTasking
DtRwString myDisplayName
 Name to be used in the gui to represent this weapon.
DtVrfObjectmyHostObject
 DtVrfObject the weapon is attached to.
DtRwInt myWeaponStatus
 Current status of the weapon, is it able to fire or not.
std::list< DtStringmyResources
 List of the available munition resources.
- Protected Attributes inherited from DtVrfProcessStateRepository
DtVrfObjectmyVrfObject
bool myLoadedFromMTL
- 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.

Private Member Functions

 DtBaseWeaponComponentInterface ()
 default constructor, not implemented

Additional Inherited Members

- Static Public Member Functions inherited from DtVrfProcessStateRepository
static
DtVrfProcessStateRepositoryFactory
factory ()
 a DtVrfProcessStateRepositoryFactory is allocated by the DtSimCreator, and this pointer is set.
static void setFactory (DtVrfProcessStateRepositoryFactory *factory)
static void addVrfProcessStateRepositoryCreatorFcn (const DtString &type, DtVrfProcessStateRepositoryCreatorFcn fcn)
static
DtVrfProcessStateRepository
createRepository (const DtString &name, const DtString &type, DtVrfObject *vrfObject, DtReaderWriterRegistry *parentRegistry=0)
 Creates a new state repository object, using the factory.
- Protected Member Functions inherited from DtVrfProcessStateRepository
 DtVrfProcessStateRepository ()
- Static Protected Attributes inherited from DtVrfProcessStateRepository
static
DtVrfProcessStateRepositoryFactory
theFactory

Detailed Description

Abstract base class for all psrs that will serve as an interface between a controlling component on the entity and a group of weapon systems of the same type.

For example a derived child of this, weaponComponentInterface, is used as an interface between the entity's target selection controller and it's direct fire weapons, finding available targets for direct fire weapons that aren't currently engaged, and monitoring their progress.

Member Enumeration Documentation

Enumerator:
DT_OK_TO_FIRE 
DT_WEAPON_DISABLED 
DT_NO_AMMUNITION_FOR_TARGET 
DT_CANNOT_ACQUIRE_TARGET 

Constructor & Destructor Documentation

DtBaseWeaponComponentInterface::DtBaseWeaponComponentInterface ( )
private

default constructor, not implemented

DtBaseWeaponComponentInterface::DtBaseWeaponComponentInterface ( DtVrfObject vrfObject,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)
DtBaseWeaponComponentInterface::DtBaseWeaponComponentInterface ( const DtBaseWeaponComponentInterface orig,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)
virtual DtBaseWeaponComponentInterface::~DtBaseWeaponComponentInterface ( )
virtual

Member Function Documentation

const DtBaseWeaponComponentInterface& DtBaseWeaponComponentInterface::operator= ( const DtBaseWeaponComponentInterface orig)
virtual DtVrfProcessStateRepository* DtBaseWeaponComponentInterface::clone ( const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
) const
pure virtual
virtual void DtBaseWeaponComponentInterface::updateRegionEvaluator ( )
pure virtual

This must be called before calling locationWithinRegion() if the host entity has moved at all since this was last called.

Implemented in DtWeaponComponentInterface, and DtIndirectWeaponComponentInterface.

virtual bool DtBaseWeaponComponentInterface::locationWithinRegion ( const DtVector localLocation) const
pure virtual
Returns
True if localLocation falls within the valid target region.
Note
updateRegionEvaluator() must be called prior to this function if there is a chance that the host entity has moved or reoriented since the last time updateRegionEvaluator() was called.

Implemented in DtWeaponComponentInterface, and DtIndirectWeaponComponentInterface.

virtual void DtBaseWeaponComponentInterface::setRoundsFiredUponTarget ( const int &  roundsFired)
virtual

Accessor/mutator for myRoundsFiredUponTarget.

virtual const int DtBaseWeaponComponentInterface::roundsFiredUponTarget ( ) const
virtual
virtual void DtBaseWeaponComponentInterface::setTotalRoundsToFireUponTarget ( const int &  totalRoundsToFire)
virtual

Accessor/mutator for myTotalRoundsToFireUponTarget.

virtual const int DtBaseWeaponComponentInterface::totalRoundsToFireUponTarget ( ) const
virtual
virtual void DtBaseWeaponComponentInterface::setIsExplicitlyTasked ( const bool explicitlyTasked)
virtual

Accessor/mutator for myIsExplicitlyTasked.

virtual const bool DtBaseWeaponComponentInterface::isExplicitlyTasked ( ) const
virtual

Accessor/mutator for myIsExplicitlyTasked.

virtual void DtBaseWeaponComponentInterface::setAllowExplicitTasking ( const bool includeInDialogs)
virtual

Accessor/mutator for myAllowExplicitTasking.

virtual const bool DtBaseWeaponComponentInterface::allowExplicitTasking ( ) const
virtual

Accessor/mutator for myAllowExplicitTasking.

virtual void DtBaseWeaponComponentInterface::setDisplayName ( const DtString displayName)
virtual

Accessor/mutator for myDisplayName.

virtual const DtString DtBaseWeaponComponentInterface::displayName ( ) const
virtual

Accessor/mutator for myDisplayName.

virtual void DtBaseWeaponComponentInterface::setWeaponStatus ( const int  weaponStatus)
virtual

Accessor/mutator for myWeaponStatus.

virtual const int DtBaseWeaponComponentInterface::weaponStatus ( ) const
virtual

Accessor/mutator for myWeaponStatus.

virtual void DtBaseWeaponComponentInterface::setResourceList ( const std::list< DtString > &  list)
virtual

Accessor/mutator for #myResourceList.

virtual const std::list<DtString>& DtBaseWeaponComponentInterface::resourceList ( ) const
virtual

Accessor/mutator for #myResourceList.

virtual std::list<DtString>& DtBaseWeaponComponentInterface::resourceList ( )
virtual

Accessor/mutator for #myResourceList.

Member Data Documentation

DtRwInt DtBaseWeaponComponentInterface::myRoundsFiredUponTarget
protected

Tracks rounds fired upon current target.

DtRwInt DtBaseWeaponComponentInterface::myTotalRoundsToFireUponTarget
protected

Tracks total rounds to fire upon current target.

DtRwBoolean DtBaseWeaponComponentInterface::myIsExplicitlyTasked
protected

Tracks whether the weapon system has been explicitly tasked as opposed to a target being automatically selected.

DtRwBoolean DtBaseWeaponComponentInterface::myAllowExplicitTasking
protected
DtRwString DtBaseWeaponComponentInterface::myDisplayName
protected

Name to be used in the gui to represent this weapon.

DtVrfObject* DtBaseWeaponComponentInterface::myHostObject
protected

DtVrfObject the weapon is attached to.

DtRwInt DtBaseWeaponComponentInterface::myWeaponStatus
protected

Current status of the weapon, is it able to fire or not.

std::list<DtString> DtBaseWeaponComponentInterface::myResources
protected

List of the available munition resources.

This is not written out since it get's updated from the system. Only resources with non zero amounts are on this list. This list is used in the weapon response reply to the front end to provide the available munitions for the user to choose.


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

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)