VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
probabilityDamageActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 
12 #pragma once
13 
19 
23 class DtSimMessage;
24 class DtSimRadio;
25 class DtPrbValueList;
26 class DtRwExplosionEntry;
27 
44 
64 {
65 
66 public:
67 
71  DtLocalObject* owner,
72  DtSimulationServices* simManager,
73  DtComponentDescriptor* desc = nullptr,
74  DtReaderWriterRegistry* parentRegistry = nullptr);
75 
78  virtual ~DtProbabilityDamageActuator() override;
79 
89  virtual bool init() override;
90 
114 
116  virtual bool adjudicateDirectDamage(const DtDetonationContext& detonationContext) override;
117 
119  virtual bool adjudicateCollateralDamage(const DtDetonationContext& detonationContext) override;
120 
123  virtual const char* type() const override;
124 
128  static DtSimComponent* creator(const DtString& name,
129  DtLocalObject* owner,
130  DtSimulationServices* simManager,
131  DtComponentDescriptor* desc = nullptr,
132  DtReaderWriterRegistry* parentRegistry = nullptr);
133 
134 protected:
137  virtual void getImpactZoneFromDirectFire(DtDetonationContext& detonationContext) override;
138 
141  virtual void getDirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
142 
145  virtual void getImpactZoneFromIndirectFire(DtDetonationContext& detonationContext) override;
146 
149  virtual void getIndirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
150 
152  virtual DtSymbolString getSurface(DtBoundingVolumeFace impactSurface);
153 
165  virtual bool getProbabilities(const DtDetonationContext& detonationContext,
166  DtPrbValueList& probabilities, bool isDirectDamage = true) const;
167 
178  virtual bool isCatastrophicallyKilled(DtPrbValueList& probabilities,
179  DtSymbolString catastrophicKillString) const;
180 
190  virtual bool isFirepowerKilled(DtPrbValueList& probabilities,
191  DtSymbolString firepowerKillString) const;
192 
202  virtual bool isMobilityKilled(DtPrbValueList& probabilities,
203  DtSymbolString mobilityKillString) const;
204 
214  virtual bool isSensorsKilled(DtPrbValueList& probabilities,
215  DtSymbolString sensorsKillString) const;
216 
217 protected:
218 
219 private:
220 
222  DtProbabilityDamageActuator() = delete;
223 
226 
229 };
230 
231 
232 #pragma once
virtual bool init() override
Registers callbacks with the detonation manager. Provides the detonation manager a pointer to the com...
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtDamageAdjudicationActuator & operator=(const DtDamageAdjudicationActuator &orig)=delete
assignment operator; not implemented
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
DtDamageAdjudicationComponentDescriptor is used to specify the parameters for the DtDamageAdjudicatio...
Definition: damageAdjudicationComponentDescriptor.h:33
Holds data and provides accessors pertinent to damage adjudication. E.g. time destroyed.
Definition: damageAdjudicationPSR.h:18
Definition: simRadio.h:30
virtual void getImpactZoneFromDirectFire(DtDetonationContext &detonationContext)=0
Determines the impact zone–can just be bounding volume surface or a user defined impact zone– from a ...
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
virtual bool adjudicateDirectDamage(const DtDetonationContext &detonationContext)=0
When a detonation context is received, from the detonation manager, it is processed in order to deter...
DtBoundingVolumeFace
Definition: boundingVolumeFace.h:19
virtual bool adjudicateCollateralDamage(const DtDetonationContext &detonationContext)=0
Determines collateral damage from an impact near the entity.
virtual const char * type() const override=0
Returns a string identifies the class type of component. Type values are defined in compTypes...
DtDamageAdjudicationActuator is responsible for adjudicating the damage from appropriate detonations...
Definition: damageAdjudicationActuator.h:63
DtPrbValueList.
Definition: prbValueList.h:19
virtual void getImpactZoneFromIndirectFire(DtDetonationContext &detonationContext)=0
Determines the impact zon–can just be bounding volume surface or a user defined impact zone– from a i...
File: simMsg.h.
Definition: simMessage.h:35
The DtDetonationContext contains all the information necessary for processing a Detonation Interactio...
Definition: detonationContext.h:23
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
virtual bool isSensorsKilled() const
Determines if the entity has its sensors killed by the detonation.
Definition: rwExplosionEntry.h:17
DtProbabilityDamageActuator is responsible for adjudicating the damage from appropriate detonations...
Definition: probabilityDamageActuator.h:63
virtual bool isCatastrophicallyKilled() const
Determines if the entity is catastrophically killed by the detonation.
virtual bool isFirepowerKilled() const
Determines if the entity is firepower killed by the detonation.
A locally simulated VRF object.
Definition: localObject.h:98
virtual bool isMobilityKilled() const
Determines if the entity is mobility killed by the detonation.

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)