VR-Forces 4.1 Class Documentation
fireManager.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: fireManager.h,v $ $Revision: 1.7 $ $State: Exp $
7 *********************************************************************/
8 #ifndef fireManager_H_
9 #define fireManager_H_
10 
13 
14 #include <matrix/vlVector.h>
15 
16 #include <vl/fireInter.h>
17 #include "vrfobjcore/fireContext.h"
18 
19 #include "vrfobjcore/vrfObjMgr.h"
20 #include "vrfobjcore/vrfObject.h"
21 #include "vrfobjcore/vrfKinState.h"
22 #include "vrftasks/radioMsgTypes.h"
23 #include "vrfobjcore/baseRadio.h"
24 #include "vrfobjcore/vrfObjSR.h"
25 
26 #include "vrfcore/simMgr.h"
27 #include "vrfutil/kinTools.h"
29 #include "vrfobjcore/compTypes.h"
30 
32 
33 #include <map>
34 
45 {
46 public:
47 
48  typedef bool (*DtFireProcessingFunction)(const DtFireContext& fireContext, void* usr);
49  typedef std::map<DtVrfObject*, DtGlobalObjectDesignator> DtRegisteredVrfObjects;
50  typedef std::map<DtVrfObject*, DtFireProcessingFunction> DtFireCallbackFuncs;
51  typedef std::map<DtVrfObject*, void*> DtFireCallbackObjects;
52 
55  DtFireManager(DtSimManager& simManager);
56 
59  virtual ~DtFireManager();
60 
67  virtual bool init();
68 
75  virtual bool reinitialize();
76 
77 
85  virtual bool registerFireTarget(DtVrfObject& entity,
86  DtGlobalObjectDesignator entityId,
87  void* callbackObject,
88  DtFireProcessingFunction func);
89 
99  virtual bool registerFireTargetForRemoval(DtVrfObject& entity);
100 
108  virtual bool unRegisterFireTarget(DtVrfObject& entity);
109 
111  virtual void sendFireInteraction(DtFireInteraction& fire);
112 
113 protected:
114 
120  bool testInvariant() const;
121 
132  static void detonationCallback(DtDetonationInteraction* fireInter, void* usr);
133 
145  virtual void processDetonation(const DtDetonationInteraction& fire);
146 
147 
152  static void fireCallback(DtFireInteraction* fireInter, void* usr);
153 
165  virtual void processFire(const DtFireInteraction& fire);
166 
167 
169  virtual void determineUnderFire(const DtDetonationInteraction& detonation);
170 
172  virtual void determineUnderFire(const DtFireInteraction& fireInter);
173 
175  virtual void removeQueuedFireTargets();
176 
177 protected:
178 
181  DtFireManager(const DtFireManager& orig);
183  DtFireManager& operator=(const DtFireManager& other);
184 
185 protected:
188 
192 
197 
199  std::vector<DtVrfObject*> myFireTargetsToBeRemoved;
200 
202 };
203 
204 
205 #endif
206 
207 
208 

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)