VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fireManager.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 #ifndef fireManager_H_
6 #define fireManager_H_
7 
10 
11 #include <matrix/vlVector.h>
12 
13 #include <vl/fireInteraction.h>
14 #include "vrfobjcore/fireContext.h"
15 
17 #include "vrfobjcore/vrfObject.h"
20 #include "vrfobjcore/simRadio.h"
22 
23 #include "vrfcore/simManager.h"
24 #include "vrfutil/kinematicTools.h"
26 
28 
29 #include <map>
30 
41 {
42 public:
43 
44  typedef bool (*DtFireProcessingFunction)(const DtFireContext& fireContext, void* usr);
45  typedef std::map<DtVrfObject*, DtGlobalObjectDesignator> DtRegisteredVrfObjects;
46  typedef std::map<DtVrfObject*, DtFireProcessingFunction> DtFireCallbackFuncs;
47  typedef std::map<DtVrfObject*, void*> DtFireCallbackObjects;
48 
51  DtFireManager(DtSimManager& simManager);
52 
55  virtual ~DtFireManager();
56 
63  virtual bool init();
64 
71  virtual bool reinitialize();
72 
73 
81  virtual bool registerFireTarget(DtVrfObject& entity,
82  DtGlobalObjectDesignator entityId,
83  void* callbackObject,
84  DtFireProcessingFunction func);
85 
95  virtual bool registerFireTargetForRemoval(DtVrfObject& entity);
96 
104  virtual bool unRegisterFireTarget(DtVrfObject& entity);
105 
107  virtual void sendFireInteraction(DtFireInteraction& fire);
108 
109 protected:
110 
116  bool testInvariant() const;
117 
128  static void detonationCallback(DtDetonationInteraction* fireInter, void* usr);
129 
141  virtual void processDetonation(const DtDetonationInteraction& fire);
142 
143 
148  static void fireCallback(DtFireInteraction* fireInter, void* usr);
149 
161  virtual void processFire(const DtFireInteraction& fire);
162 
163 
165  virtual void determineUnderFire(const DtDetonationInteraction& detonation);
166 
168  virtual void determineUnderFire(const DtFireInteraction& fireInter);
169 
171  virtual void removeQueuedFireTargets();
172 
173 protected:
174 
177  DtFireManager(const DtFireManager& orig);
179  DtFireManager& operator=(const DtFireManager& other);
180 
181 protected:
184 
188 
193 
195  std::vector<DtVrfObject*> myFireTargetsToBeRemoved;
196 
198 };
199 
200 
201 #endif
202 
203 
204 

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)