VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 DtReaderWriter::SearchPaths &searchPaths, 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)
 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 (FILE *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 getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 Top level to read itself from an input stream.
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 (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 void reset ()
 For those reader/writer items that support it, resets the reader/writer value to iriginal 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 void putData (FILE *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)
 Deriving class overrides these to get/put class specific data.
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.
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 ()
 The default value to use if the reader/writer object is a variable and that variable is not specified.
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 ()
 Collection of child DtReaderWriter nodes owned by this object.
virtual DtPropertyInterfaceproperty ()
virtual const DtPropertyInterfaceproperty () const
virtual DtString toXml () const
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 &)
 Restires 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.

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

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 Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)