VR-Forces 4.7 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 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)