VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
damageAdjudicationActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 
12 #pragma once
13 
15 
17 
21 class DtSimMessage;
22 class DtSimRadio;
23 class DtPrbValueList;
24 class DtRwExplosionEntry;
25 
42 
61 
64 {
65 
66 public:
67 
71  DtVrfObject* owner,
72  DtSimManager* simManager,
73  DtComponentDescriptor* desc = 0,
74  DtReaderWriterRegistry* parentRegistry = 0);
75 
79 
89  virtual bool init();
90 
93  virtual bool createPSR();
94 
101  static bool processDirectDetonationCallback(const DtDetonationContext& detonationContext, void* usr);
102 
109  static bool processCollateralDetonationCallback(const DtDetonationContext& detonationContext, void* usr);
110 
133 
135  virtual bool adjudicateDirectDamage(const DtDetonationContext& detonationContext);
136 
138  virtual bool adjudicateCollateralDamage(const DtDetonationContext& detonationContext);
139 
142  virtual const char* type() const;
143 
153  virtual void tick();
154 
156  static void setDestroyedCallback(DtSimMessage* msg, void* usrData);
157 
159  static void setRestoredCallback(DtSimMessage* msg, void* usrData);
160 
162  static void setInvulnerableCallback(DtSimMessage* msg, void* usrData);
163 
165  static void setFunctionDamageStatusCallback(DtSimMessage* msg, void* usrData);
166 
170  static DtSimComponent * creator(const DtString& name,
171  DtVrfObject* owner,
172  DtSimManager* simManager,
173  DtComponentDescriptor* desc = 0,
174  DtReaderWriterRegistry* parentRegistry = 0);
175 
176 protected:
177 
180  virtual void getDirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
181 
184  virtual void getIndirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
185 
187  virtual DtSymbolString getSurface(DtBoundingVolumeFace impactSurface);
188 
200  virtual bool getProbabilities(const DtDetonationContext& detonationContext,
201  DtPrbValueList& probabilities, bool isDirectDamage = true) const;
202 
213  virtual bool isCatastrophicallyKilled(DtPrbValueList& probabilities,
214  DtSymbolString catastrophicKillString) const;
215 
225  virtual bool isFirepowerKilled(DtPrbValueList& probabilities,
226  DtSymbolString firepowerKillString) const;
227 
237  virtual bool isMobilityKilled(DtPrbValueList& probabilities,
238  DtSymbolString mobilityKillString) const;
239 
249  virtual bool isSensorsKilled(DtPrbValueList& probabilities,
250  DtSymbolString sensorsKillString) const;
251 
252 
254  virtual DtSymbolString catastrophicKillString() const;
255 
257  virtual DtSymbolString mobilityKillString() const;
258 
260  virtual DtSymbolString firepowerKillString() const;
261 
263  virtual DtSymbolString sensorsKillString() const;
264 
266  virtual bool protectedFromCollateralDamageByEmbarkation() const;
267 
274  virtual void determineDestroyedStatus();
275 
276 
279  virtual bool isRegisteredForDetonations() const;
280  virtual void setIsRegisteredForDetonations(bool yesOrNo);
282 
290  virtual void setDestroyed();
291 
294  virtual void setRestored();
295 
297  virtual void processSetInvulnerable(DtSimMessage* msg);
298 
301  virtual void processSetFunctionDamageStatus(DtSimMessage* msg);
302 
307  virtual bool registerForDetonations();
308 
312  virtual bool unregisterForDetonations();
313 
315  virtual void setMobilityKilled();
316 
318  virtual void setFirepowerKilled();
319 
321  virtual void setSensorsKilled();
322 
324  virtual void setRadio(DtSimRadio* radio);
325 
327  virtual void triggerDestructionExplosions();
328 
331  virtual void updateDestructionExplosions();
332 
333  virtual void sendDetonation(const DtRwExplosionEntry& explosionEntry);
334 
338  virtual DtVector positionOnEntity(const DtVector& percentOffset);
339 
340 protected:
342 
344 
345 private:
346 
349 
352 
355 
356 private:
360 };
361 
362 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
Definition: symbolString.h:20
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
class DtSimRadio:
Definition: simRadio.h:25
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
virtual bool init()
Overridden to cache a pointer to the entity's radio in this class.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
virtual void setRadio(DtSimRadio *radio)
Definition: readerWriterRegistry.h:39
End User Description: DtActuator is the base class for all actuator model components.
Definition: actuatorComponent.h:48
DtBoundingVolumeFace
Definition: boundingVolumeFace.h:16
DtDamageAdjudicationActuator is responsible for adjudicating the damage from appropriate detonations...
Definition: damageAdjudicationActuator.h:63
DtDamageAdjudicationComponentDescriptor * myDamageComponentDescriptor
Definition: damageAdjudicationActuator.h:341
DtPrbValueList.
Definition: prbValueList.h:19
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component.
The DtDetonationContext contains all the information necessary for processing a Detonation Interactio...
Definition: detonationContext.h:27
DtDamageAdjudicationPSR * myProcessState
Definition: damageAdjudicationActuator.h:343
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
bool myIsRegisteredForDetonations
Keep track of whether or not we've registered detonation callbacks with detonation manager...
Definition: damageAdjudicationActuator.h:359
Definition: rwExplosionEntry.h:17
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
virtual const char * type() const =0
Returns a string identifies the class type of component.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)