VR-Forces 4.1.1 Class Documentation
targetSelectionController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
16 #include <map>
17 #include <list>
19 #include "targetRankOperator.h"
20 
29 class DtSimMessage;
30 class DtVrfObjectMessage;
32 
46 
74 {
75 private:
82  const DtTargetSelectionController& orig);
83 public:
84 
85  typedef std::list<DtWeaponComponentInterface*> DtWeaponInterfaceList;
86 
90  DtSimManager* simManager, DtComponentDescriptor* desc=0,
91  DtReaderWriterRegistry *parentRegistry=0);
92 
94  virtual ~DtTargetSelectionController();
95 
97  virtual bool init();
98 
101  virtual DtString type() const;
102 
104  virtual void registerTaskMsgCallbacks();
105 
108  virtual void updateWeaponInterfaceTaskState(DtWeaponComponentInterface* weapIf);
109 
113 
114  static void fireAtTargetTaskCallback(DtSimMessage* msg, void* usr);
115  virtual void processFireAtTargetTask(DtSimMessage* msg);
117 
120 
121  static void weaponListRequestCallback(const DtVrfObjectMessage* msg, void* usr);
122  virtual void processWeaponListRequest(const DtVrfObjectMessage* msg);
124 
126 
127  static void fireNowCallback(DtSimMessage* msg, void* usr);
128  virtual void processFireNow(DtSimMessage* msg);
130 
132  virtual void taskComplete(bool success = true);
133 
136  virtual void preFirstTickInit();
137 
143  virtual void tick();
144 
148  static DtSimComponent* creator(const DtString& name,
149  DtVrfObject* owner,
150  DtSimManager* simManager,
151  DtComponentDescriptor* desc = 0,
152  DtReaderWriterRegistry* parentRegistry = 0);
153 
154 protected:
155  typedef std::set<DtRwSensorContactInfo*, DtTargetRankOperatorWrapper> DtOrderedTargetSet;
156 
158  virtual bool createPorts();
159 
163  virtual bool createOutputPorts();
164 
170  virtual bool createPSR();
171 
173  virtual void registerRadioMessageCallbacks();
174 
176  static void setTargetCallback(DtSimMessage* msg, void* usr);
177 
180  virtual void processSetTarget(DtSimMessage* msg);
181 
190  virtual void selectTargets();
191 
194  virtual bool targetForce(DtForceType force) const;
195 
199  virtual bool validTarget(const DtRwSensorContactInfo& contactInfo,
200  const DtWeaponComponentInterface& weapIf) const;
201 
204  virtual DtEntityTargetInformation targetInfoFromContactInfo(
205  const DtRwSensorContactInfo& contactInfo) const;
206 
209  virtual void updateRegionEvaluators();
210 
214  virtual DtTargetRankOperator* createTargetRankOperator(
215  const DtTargetSelectionCriteria& criteria) const;
216 
219  virtual void setupDetectableForces(DtForceType);
220 
223 
224  static void hostilitiesChangedCallback(DtU8 force, void* usr);
225  virtual void processHostilitiesChanged(DtU8 force);
227 
229  virtual void clearTargets();
230 
232  virtual bool isSurrenderedLifeform(const DtVrfObject* entity) const;
233 
234  virtual bool findFusedTargets(const DtSensorContactInfoList* contactList,
235  const DtWeaponComponentInterface& weapIf, DtRwSensorContactInfo& userTargetInfo,
236  DtOrderedTargetSet & orderedTargets);
237  virtual void setTargetsToWeaponInterface(DtWeaponComponentInterface& weapIf, DtRwSensorContactInfo& userTargetInfo, DtOrderedTargetSet& orderedTargets);
238 
241  virtual void findWeaponControlInterfaces();
242 
245  virtual bool permissionToFire();
246 
247 protected:
248 
256 
264 
268 
270 
272  DtForceType myForce;
273 
278 
282 };

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)