VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Attributes
DtDetonationContext Class Reference

The DtDetonationContext contains all the information necessary for processing a Detonation Interaction for damage adjudication or other information. More...

Public Types

typedef std::map< DtString,
double
DetonationPowerMap
 

Public Member Functions

 DtDetonationContext (const DtDetonationInteraction &detonationInteraction)
 
virtual ~DtDetonationContext ()
 
virtual const
DtDetonationInteraction
detonationInter () const
 The detonation to which this context refers. More...
 
virtual void setIsDirectFire (bool isDirect)
 Indicates whether this detonation is in reference to direct fire or not. More...
 
virtual bool isDirectFire () const
 
virtual void setRange (double range)
 When isDirectFire returns true, this range is between the attacker and target. More...
 
virtual double range () const
 
virtual void setEventId (const DtEventId id)
 Set the EventId of the incoming detonation interaction This can be useful in places where you want to make sure the detonation isn't counted twice. More...
 
virtual const DtEventId & eventId () const
 
virtual void setSurface (const DtSymbolString &surface)
 The impacted surface of the target. More...
 
virtual DtSymbolString surface () const
 
virtual void setAngleOfIncidence (double angleOfIncidence)
 The angle of incidence of the impact, in relation to the target. More...
 
virtual double angleOfIncidence () const
 
virtual void setMunition (const DtSimMunition &munition)
 The munition associated with the detonation. More...
 
virtual const DtSimMunitionmunition () const
 
virtual void setDetonationPowers (const DetonationPowerMap &powers)
 The power of the detonation at the target's location for each relevant type of power. More...
 
virtual void setDetonationPower (const DtString &powerType, double power)
 
virtual void clearDetonationPowers ()
 
virtual const DetonationPowerMapdetonationPowers () const
 
virtual double detonationPower (const DtString &powerType) const
 

Private Attributes

const DtDetonationInteractionmyDetonationInteraction
 
DtSimMunition myMunition
 ! Default values: More...
 
bool myIsDirectFire
 ! More...
 
DtSymbolString mySurface
 ! false More...
 
double myAngleOfIncidence
 ! "front" More...
 
double myRange
 ! 0.0 More...
 
DetonationPowerMap myPowers
 ! 4000.0 More...
 
DtEventId myEventId
 

Detailed Description

The DtDetonationContext contains all the information necessary for processing a Detonation Interaction for damage adjudication or other information.

Note
As of VRF 3.9 shooterObjId() has been removed. To get the same functionallity, call deonationInter().attackerId() when isDirectFire() is true, and deonationInter().munitionId() with isDirectFile() is false.

Member Typedef Documentation

Constructor & Destructor Documentation

DtDetonationContext::DtDetonationContext ( const DtDetonationInteraction detonationInteraction)
virtual DtDetonationContext::~DtDetonationContext ( )
virtual

Member Function Documentation

virtual const DtDetonationInteraction& DtDetonationContext::detonationInter ( ) const
virtual

The detonation to which this context refers.

virtual void DtDetonationContext::setIsDirectFire ( bool  isDirect)
virtual

Indicates whether this detonation is in reference to direct fire or not.

Direct fire is fire, such as a bullet or tank shell, which must impact on its target to damage it.

virtual bool DtDetonationContext::isDirectFire ( ) const
virtual
virtual void DtDetonationContext::setRange ( double  range)
virtual

When isDirectFire returns true, this range is between the attacker and target.

Otherwise, this is the range from the detonation to the target.

virtual double DtDetonationContext::range ( ) const
virtual
virtual void DtDetonationContext::setEventId ( const DtEventId  id)
virtual

Set the EventId of the incoming detonation interaction This can be useful in places where you want to make sure the detonation isn't counted twice.

virtual const DtEventId& DtDetonationContext::eventId ( ) const
virtual
virtual void DtDetonationContext::setSurface ( const DtSymbolString surface)
virtual

The impacted surface of the target.

virtual DtSymbolString DtDetonationContext::surface ( ) const
virtual
virtual void DtDetonationContext::setAngleOfIncidence ( double  angleOfIncidence)
virtual

The angle of incidence of the impact, in relation to the target.

virtual double DtDetonationContext::angleOfIncidence ( ) const
virtual
virtual void DtDetonationContext::setMunition ( const DtSimMunition munition)
virtual

The munition associated with the detonation.

virtual const DtSimMunition& DtDetonationContext::munition ( ) const
virtual
virtual void DtDetonationContext::setDetonationPowers ( const DetonationPowerMap powers)
virtual

The power of the detonation at the target's location for each relevant type of power.

virtual void DtDetonationContext::setDetonationPower ( const DtString powerType,
double  power 
)
virtual
virtual void DtDetonationContext::clearDetonationPowers ( )
virtual
virtual const DetonationPowerMap& DtDetonationContext::detonationPowers ( ) const
virtual
virtual double DtDetonationContext::detonationPower ( const DtString powerType) const
virtual

Member Data Documentation

const DtDetonationInteraction& DtDetonationContext::myDetonationInteraction
private
DtSimMunition DtDetonationContext::myMunition
private

! Default values:

bool DtDetonationContext::myIsDirectFire
private

!

DtSymbolString DtDetonationContext::mySurface
private

! false

double DtDetonationContext::myAngleOfIncidence
private

! "front"

double DtDetonationContext::myRange
private

! 0.0

DetonationPowerMap DtDetonationContext::myPowers
private

! 4000.0

DtEventId DtDetonationContext::myEventId
private

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)