VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
16 #include <geometry/boundingVolumeFace.h>
17 
21 class DtSimMessage;
22 class DtSimRadio;
24 
41 
60 
63 {
64 
65 public:
66 
70  DtVrfObject* owner,
71  DtSimManager* simManager,
72  DtComponentDescriptor* desc = 0,
73  DtReaderWriterRegistry* parentRegistry = 0);
74 
78 
88  virtual bool init();
89 
92  virtual bool createPSR();
93 
100  static bool processDirectDetonationCallback(const DtDetonationContext& detonationContext, void* usr);
101 
108  static bool processCollateralDetonationCallback(const DtDetonationContext& detonationContext, void* usr);
109 
132 
134  virtual bool adjudicateDirectDamage(const DtDetonationContext& detonationContext);
135 
137  virtual bool adjudicateCollateralDamage(const DtDetonationContext& detonationContext);
138 
141  virtual DtString type() const;
142 
152  virtual void tick();
153 
155  static void setDestroyedCallback(DtSimMessage* msg, void* usrData);
156 
158  static void setRestoredCallback(DtSimMessage* msg, void* usrData);
159 
163  static DtSimComponent * creator(const DtString& name,
164  DtVrfObject* owner,
165  DtSimManager* simManager,
166  DtComponentDescriptor* desc = 0,
167  DtReaderWriterRegistry* parentRegistry = 0);
168 
169 protected:
170 
173  virtual void getDirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
174 
177  virtual void getIndirectFireSurfaceAndAngleOfIncidence(DtDetonationContext& detonationContext);
178 
180  virtual DtSymbolString getSurface(DtBoundingVolumeFace impactSurface);
181 
193  virtual bool getRangeEntry(const DtDetonationContext& detonationContext,
194  DtPrbRangeTableEntry& rangeEntry, bool isDirectDamage = true) const;
195 
206  virtual bool isCatastrophicallyKilled(DtPrbRangeTableEntry& rangeEntry,
207  DtSymbolString catastrophicKillString) const;
208 
218  virtual bool isFirepowerKilled(DtPrbRangeTableEntry& rangeEntry,
219  DtSymbolString firepowerKillString) const;
220 
230  virtual bool isMobilityKilled(DtPrbRangeTableEntry& rangeEntry,
231  DtSymbolString mobilityKillString) const;
232 
233 
235  virtual DtSymbolString catastrophicKillString() const;
236 
238  virtual DtSymbolString mobilityKillString() const;
239 
241  virtual DtSymbolString firepowerKillString() const;
242 
249  virtual void determineDestroyedStatus();
250 
251 
254  virtual bool isRegisteredForDetonations() const;
255  virtual void setIsRegisteredForDetonations(bool yesOrNo);
257 
265  virtual void setDestroyed();
266 
269  virtual void setRestored();
270 
275  virtual bool registerForDetonations();
276 
280  virtual bool unregisterForDetonations();
281 
283  virtual void setMobilityKilled();
284 
286  virtual void setFirepowerKilled();
287 
289  virtual void setRadio(DtSimRadio* radio);
290 
291 protected:
293 
295 
296 private:
297 
300 
303 
306 
307 private:
311 };
312 
313 

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)