VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
indirectFireController.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 
17 #include <vlpi/disEnums.h>
18 #include <matrix/vlVector.h>
19 
20 class DtString;
21 class DtSimManager;
22 class DtTaskMessage;
23 class DtSimMessage;
25 
29 
30 
37 {
38 
39 public:
40 
41  typedef std::list<DtIndirectWeaponComponentInterface*> DtIndirectWeaponInterfaceList;
42 
46  DtVrfObject* owner,
47  DtSimManager* simManager,
48  DtComponentDescriptor* desc = 0,
49  DtReaderWriterRegistry* parentRegistry = 0);
50 
52  virtual ~DtIndirectFireController();
53 
55  virtual bool init();
56 
59  virtual const char* type() const;
60 
62  virtual bool postAddComponentsInit();
63 
68  virtual void tick();
69 
72  virtual void clearTask();
73 
76  virtual bool isWeaponFireFinished(DtIndirectWeaponComponentInterface* weapIf);
77 
78  virtual void findWeaponControlInterfaces();
79 
81  virtual void setCurrentTargetLocation(const DtVector& location);
83  virtual const DtVector& currentTargetLocation();
84 
90  virtual void registerTaskMsgCallbacks();
91 
104 
105  static void indirectFireAtLocationTaskCallback(DtSimMessage* msg, void* usr);
106  virtual void processIndirectFireAtLocationTask(DtSimMessage* msg);
107 
108  static void indirectFireAtTargetTaskCallback(DtSimMessage* msg, void* usr);
109  virtual void processIndirectFireAtTargetTask(DtSimMessage* msg);
111 
113  static void FFEOnTargetCallback(DtSimMessage * msg, void * usr);
115  static void FFEOnEntityCallback(DtSimMessage * msg, void * usr);
117  static void FFEOnLocationCallback(DtSimMessage * msg, void * usr);
119  static void userTaskCallback(DtSimMessage * msg, void * usr);
120 
127  virtual bool processFFEOnTargetTask(DtSimMessage * msg);
128  virtual bool processFFEOnLocationTask(DtSimMessage * msg);
129  virtual bool processFFEOnEntityTask(DtSimMessage * msg);
135  virtual void processUserTask(DtSimMessage * msg);
138  virtual void processFFETask(DtFireForEffectTask * task);
139 
142 
143  static void weaponListRequestCallback(const DtVrfObjectMessage* msg, void* usr);
144  virtual void processWeaponListRequest(const DtVrfObjectMessage* msg);
146 
147  virtual void taskComplete(bool success = true);
148 
152  static DtSimComponent * creator(const DtString& name,
153  DtVrfObject* owner,
154  DtSimManager* simManager,
155  DtComponentDescriptor* desc = 0,
156  DtReaderWriterRegistry* parentRegistry = 0);
157 
158 protected:
162  void makeDisplayNamesUnique();
163 
169  virtual bool createPSR();
170 
171  virtual void clearTaskState(DtIndirectWeaponComponentInterface* weapIf);
172 
174  virtual void getOrientation(DtRwString *orientString,DtRwTaitBryan & orientation);
175 
178 
181 
184  orig);
185 
186 protected:
191 
195 
201 };
202 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)