VR-Forces 4.2 Class Documentation
damageAdjudicationActuator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 
12 #pragma once
13 
14 #include "vrfobjcore/actCmpnt.h"
15 
16 #include <geometry/boundingVolumeFace.h>
17 
20 class DtSimMessage;
21 class DtSimBaseRadio;
23 
40 
59 
62 {
63 
64 public:
65 
69  DtVrfObject* owner,
70  DtSimManager* simManager,
71  DtComponentDescriptor* desc = 0,
72  DtReaderWriterRegistry* parentRegistry = 0);
73 
77 
87  virtual bool init();
88 
95  static bool processDirectDetonationCallback(const DtDetonationContext& detonationContext, void* usr);
96 
103  static bool processCollateralDetonationCallback(const DtDetonationContext& detonationContext, void* usr);
104 
127 
129  virtual bool adjudicateDirectDamage(const DtDetonationContext& detonationContext);
130 
132  virtual bool adjudicateCollateralDamage(const DtDetonationContext& detonationContext);
133 
136  virtual DtString type() const;
137 
147  virtual void tick();
148 
150  static void setDestroyedCallback(DtSimMessage* msg, void* usrData);
151 
153  static void setRestoredCallback(DtSimMessage* msg, void* usrData);
154 
158  static DtSimComponent * creator(const DtString& name,
159  DtVrfObject* owner,
160  DtSimManager* simManager,
161  DtComponentDescriptor* desc = 0,
162  DtReaderWriterRegistry* parentRegistry = 0);
163 
164 protected:
165 
168  virtual void getDirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
169 
172  virtual void getIndirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
173 
175  virtual DtSymbolString getSurface(DtBoundingVolumeFace impactSurface);
176 
188  virtual bool getRangeEntry(const DtDetonationContext& detonationContext,
189  DtPrbRangeTableEntry& rangeEntry, bool isDirectDamage = true) const;
190 
201  virtual bool isCatastrophicallyKilled(DtPrbRangeTableEntry& rangeEntry,
202  DtSymbolString catastrophicKillString) const;
203 
213  virtual bool isFirepowerKilled(DtPrbRangeTableEntry& rangeEntry,
214  DtSymbolString firepowerKillString) const;
215 
225  virtual bool isMobilityKilled(DtPrbRangeTableEntry& rangeEntry,
226  DtSymbolString mobilityKillString) const;
227 
228 
230  virtual DtSymbolString catastrophicKillString() const;
231 
233  virtual DtSymbolString mobilityKillString() const;
234 
236  virtual DtSymbolString firepowerKillString() const;
237 
244  virtual void determineDestroyedStatus();
245 
246 
249  virtual bool isRegisteredForDetonations() const;
250  virtual void setIsRegisteredForDetonations(bool yesOrNo);
252 
260  virtual void setDestroyed();
261 
264  virtual void setRestored();
265 
270  virtual bool registerForDetonations();
271 
275  virtual bool unregisterForDetonations();
276 
278  virtual void setMobilityKilled();
279 
281  virtual void setFirepowerKilled();
282 
284  virtual void setRadio(DtSimBaseRadio* radio);
285 
286 protected:
287 
291 
292 
293 private:
294 
297 
300 
303 
304 private:
308 };
309 
310 

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)