VR-Forces 5.0.2 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 Member Functions | Protected Attributes
DtDmgMunitionEntry Class Reference

DtDmgMunitionEntry.

DtDmgMunitionEntry is a readable/writable triplet of DtSimMunition and 2 DtDmgSurfaceTable, with one important distinction: Instead of the DtDmgSurfaceTables being read from/written to the FILE given to this objects getSelf/putSelf, it is read/written from a separate file, specified using the setFilename() member. Holds 2 damage files one for direct damage–i.e a direct fire weapon makes direct hit and one for collateral damage–i.e. from being near a detonation from a weapon be it an explosive direct fire round, an indirect fire round from artillery, or a missile detonation

Inheritance diagram for DtDmgMunitionEntry:
Inheritance graph
[legend]

Public Member Functions

 DtDmgMunitionEntry ()
 
 DtDmgMunitionEntry (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtDmgMunitionEntry (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtDmgMunitionEntry (const DtString &name, const DtDmgMunitionEntry &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtDmgMunitionEntry (const DtSymbolString &name, const DtDmgMunitionEntry &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
const DtDmgMunitionEntryoperator= (const DtDmgMunitionEntry &orig)
 
virtual ~DtDmgMunitionEntry ()
 
virtual DtDmgMunitionEntryclone (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL) const
 
virtual DtDmgMunitionEntryclone (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL) const
 
virtual void addSurfaceEntry (const DtDmgSurfaceEntry &surfaceEntry, bool isDirectDamge=true)
 
virtual bool getProbabilities (const DtString &surface, DtReal angleOfIncidence, DtReal range, DtPrbValueList *rangeEntry, bool isDirectDamage=true)
 
virtual double getMaximumInputValue ()
 
virtual double getMaximumSuppressionRadius ()
 
bool operator== (const DtDmgMunitionEntry &rhs) const
 
bool operator!= (const DtDmgMunitionEntry &rhs) const
 
virtual const DtSimMunitionmunition () const
 
virtual void setMunition (const DtSimMunition &munition)
 
virtual const DtStringdirectDamageFilename ()
 
virtual void setDirectDamageFilename (const DtString &filename)
 
virtual const DtStringcollateralDamageFilename ()
 
virtual void setCollateralDamageFilename (const DtString &filename)
 
virtual double suppressionDetonationInsult () const
 
virtual void setSuppressionDetonationInsult (const double i)
 
virtual double suppressionDetonationRange () const
 
virtual void setSuppressionDetonationRange (const double r)
 
virtual double suppressionLofInsult () const
 
virtual void setSuppressionLofInsult (const double r)
 
virtual double suppressionLofRange () const
 
virtual void setSuppressionLofRange (const double r)
 
virtual double nonLethalDetonationRange () const
 
virtual void setNonLethalDetonationRange (const double range)
 
virtual const DtStringnonLethalDamageEffect ()
 
virtual void setNonLethalDamageEffect (const DtString &nonLethalDamageEffect)
 
virtual double nonLethalDamageRecoveryTime () const
 
virtual void setNonLethalDamageRecoveryTime (const double recoveryTime)
 
- 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)
 
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 wasUpdatedSince (DtTime t) 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 Member Functions

virtual void removeSurfaceEntry (DtDmgSurfaceEntry *surfaceEntry, bool isDirectDamage=true)
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Protected Attributes

DtRwReal myNonLethalDetonationRange
 
DtRwString myNonLethalDamageEffect
 
DtRwReal myNonLethalDamageRecoveryTime
 
parameters

These parameters are available for setting in the OPD files.

DtSimMunition myMunition
 
DtReaderWriterFile myDirectDamageFile
 
DtReaderWriterFile myCollateralDamageFile
 
DtDmgSurfaceTable myDirectDamageTable
 
DtDmgSurfaceTable myCollateralDamageTable
 
DtRwReal mySuppressionDetonationInsult
 
DtRwReal mySuppressionDetonationRange
 
DtRwReal mySuppressionLofInsult
 
DtRwReal mySuppressionLofRange
 
- 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)
 
- 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
 

Constructor & Destructor Documentation

DtDmgMunitionEntry::DtDmgMunitionEntry ( )

default constructor

DtDmgMunitionEntry::DtDmgMunitionEntry ( const DtString name,
DtReaderWriterRegistry parentRegistry = NULL 
)

real constructor

DtDmgMunitionEntry::DtDmgMunitionEntry ( const DtSymbolString name,
DtReaderWriterRegistry parentRegistry = NULL 
)
DtDmgMunitionEntry::DtDmgMunitionEntry ( const DtString name,
const DtDmgMunitionEntry orig,
DtReaderWriterRegistry parentRegistry = NULL 
)

copy constructor

DtDmgMunitionEntry::DtDmgMunitionEntry ( const DtSymbolString name,
const DtDmgMunitionEntry orig,
DtReaderWriterRegistry parentRegistry = NULL 
)
virtual DtDmgMunitionEntry::~DtDmgMunitionEntry ( )
virtual

Member Function Documentation

const DtDmgMunitionEntry& DtDmgMunitionEntry::operator= ( const DtDmgMunitionEntry orig)

assignment operator

virtual DtDmgMunitionEntry* DtDmgMunitionEntry::clone ( const DtString name,
DtReaderWriterRegistry parentRegistry = NULL 
) const
virtual
virtual DtDmgMunitionEntry* DtDmgMunitionEntry::clone ( const DtSymbolString name,
DtReaderWriterRegistry parentRegistry = NULL 
) const
virtual
virtual const DtSimMunition& DtDmgMunitionEntry::munition ( ) const
virtual

Accessor/mutator for myMunition.

virtual void DtDmgMunitionEntry::setMunition ( const DtSimMunition munition)
virtual

Accessor/mutator for myMunition.

virtual const DtString& DtDmgMunitionEntry::directDamageFilename ( )
virtual

Accessor/mutator for myDirectDamageFile.

virtual void DtDmgMunitionEntry::setDirectDamageFilename ( const DtString filename)
virtual

Accessor/mutator for myDirectDamageFile.

virtual const DtString& DtDmgMunitionEntry::collateralDamageFilename ( )
virtual

Accessor/mutator for myCollateralDamageFile.

virtual void DtDmgMunitionEntry::setCollateralDamageFilename ( const DtString filename)
virtual

Accessor/mutator for myCollateralDamageFile.

virtual double DtDmgMunitionEntry::suppressionDetonationInsult ( ) const
virtual

Access #mySuppresionDetonationInsult.

virtual void DtDmgMunitionEntry::setSuppressionDetonationInsult ( const double  i)
virtual

Access #mySuppresionDetonationInsult.

virtual double DtDmgMunitionEntry::suppressionDetonationRange ( ) const
virtual

Access #mySuppresionDetonationRange.

virtual void DtDmgMunitionEntry::setSuppressionDetonationRange ( const double  r)
virtual

Access #mySuppresionDetonationRange.

virtual double DtDmgMunitionEntry::suppressionLofInsult ( ) const
virtual

Access #mySuppresionLofInsult.

virtual void DtDmgMunitionEntry::setSuppressionLofInsult ( const double  r)
virtual

Access #mySuppresionLofInsult.

virtual double DtDmgMunitionEntry::suppressionLofRange ( ) const
virtual

Access #mySuppresionLofRange.

virtual void DtDmgMunitionEntry::setSuppressionLofRange ( const double  r)
virtual

Access #mySuppresionLofRange.

virtual double DtDmgMunitionEntry::nonLethalDetonationRange ( ) const
virtual
virtual void DtDmgMunitionEntry::setNonLethalDetonationRange ( const double  range)
virtual
virtual const DtString& DtDmgMunitionEntry::nonLethalDamageEffect ( )
virtual
virtual void DtDmgMunitionEntry::setNonLethalDamageEffect ( const DtString nonLethalDamageEffect)
virtual
virtual double DtDmgMunitionEntry::nonLethalDamageRecoveryTime ( ) const
virtual
virtual void DtDmgMunitionEntry::setNonLethalDamageRecoveryTime ( const double  recoveryTime)
virtual
virtual void DtDmgMunitionEntry::addSurfaceEntry ( const DtDmgSurfaceEntry surfaceEntry,
bool  isDirectDamge = true 
)
virtual

Add entry to one of the damage files. Default is to add to the direct damage file. Set isDirectDamage to false if adding to the collateral damage file.

virtual bool DtDmgMunitionEntry::getProbabilities ( const DtString surface,
DtReal  angleOfIncidence,
DtReal  range,
DtPrbValueList rangeEntry,
bool  isDirectDamage = true 
)
virtual

Fills in the range entry passed based on the remaining arguments. false is returned if appropriate data cannot be found.

virtual double DtDmgMunitionEntry::getMaximumInputValue ( )
virtual

Returns the maximum radius at which the munition can do damage.

virtual double DtDmgMunitionEntry::getMaximumSuppressionRadius ( )
virtual

Returns the maximum radius at which the munition detonation can cause suppression.

bool DtDmgMunitionEntry::operator== ( const DtDmgMunitionEntry rhs) const

Equivalence operator.

bool DtDmgMunitionEntry::operator!= ( const DtDmgMunitionEntry rhs) const
inline
virtual void DtDmgMunitionEntry::removeSurfaceEntry ( DtDmgSurfaceEntry surfaceEntry,
bool  isDirectDamage = true 
)
protectedvirtual

Removes entry pointed to by surfaceEntry, but does not delete.

Member Data Documentation

DtSimMunition DtDmgMunitionEntry::myMunition
protected

Parameter Name: ammo
Parameter Description: The type of munition we're taking damage from
Parameter Default Value:
.

DtReaderWriterFile DtDmgMunitionEntry::myDirectDamageFile
protected

Parameter Name: direct-damage-file
Parameter Description: The direct damage file to read in from
Parameter Default Value:
.

DtReaderWriterFile DtDmgMunitionEntry::myCollateralDamageFile
protected

Parameter Name: collateral-damage-file
Parameter Description: The collateral damage file to read in from
Parameter Default Value:
.

DtDmgSurfaceTable DtDmgMunitionEntry::myDirectDamageTable
protected

Parameter Name: damage-table
Parameter Description: The direct damage table used to determine damage from direct fire.
Parameter Default Value:
.

DtDmgSurfaceTable DtDmgMunitionEntry::myCollateralDamageTable
protected

Parameter Name: damage-table
Parameter Description: The collateral damage table used to determine any collateral damage from a detonation.
Parameter Default Value:
.

DtRwReal DtDmgMunitionEntry::mySuppressionDetonationInsult
protected

Parameter Name: suppression-detonation-insult
Parameter Description: The amount of insult caused by a detonation of this munition at 1m range.
Parameter Default Value: 1.0
.

DtRwReal DtDmgMunitionEntry::mySuppressionDetonationRange
protected

Parameter Name: suppression-detonation-range
Parameter Description: The maximum effect range of this munition (detonation).
Parameter Default Value: 10.0
.

DtRwReal DtDmgMunitionEntry::mySuppressionLofInsult
protected

Note: Line-of-fire proximity suppression not implemented yet.Parameter Name: suppression-lof-insult
Parameter Description: The amount of insult suffered by being within 1m of the line of fire of this munition.
Parameter Default Value: 1.0
.

DtRwReal DtDmgMunitionEntry::mySuppressionLofRange
protected

Parameter Name: suppression-lof-range
Parameter Description: The maximum effect range of this munition (proximity to line of fire).
Parameter Default Value: 5.0
.

DtRwReal DtDmgMunitionEntry::myNonLethalDetonationRange
protected

Parameter Name: non-lethal-detonation-range
Parameter Description: The maximum effect range of this munition (proximity to line of fire).
Parameter Default Value: 5.0
.

DtRwString DtDmgMunitionEntry::myNonLethalDamageEffect
protected

Parameter Name: non-lethal-damage-effect
Parameter Description: The damage effect caused by the munition.
Parameter Default Value:
.

DtRwReal DtDmgMunitionEntry::myNonLethalDamageRecoveryTime
protected

Parameter Name: non-lethal-damage-recovery-time
Parameter Description: Recovery time > 0. If 0, the etity cannot recover. Parameter Default Value: 0.0
.


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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)