VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fixedWingMoveAlongController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 
13 #pragma once
14 
16 
17 class DtString;
18 class DtSimManager;
19 
20 class DtConstrainedAnalogPort;
21 class boolPort;
22 class DtRouteState;
23 class DtSimMessage;
24 
27 #define DT_LANDING_BUFFER 5.0
28 
48 {
49 
50 public:
51 
55  DtVrfObject* owner,
56  DtSimManager* simManager,
57  DtComponentDescriptor* desc = 0,
58  DtReaderWriterRegistry* parentRegistry = 0);
59 
62 
64  virtual bool init();
65 
71  virtual void preFirstTickInit();
72 
77  virtual void tick();
78 
81  virtual const char* type() const;
82 
85  virtual void doFinishing();
86 
94  virtual void doFinishingForFlying();
95 
99  virtual void doFinishingForTaxiing();
100 
103  virtual void doMoving();
104 
110  virtual void doFlying();
111 
116  virtual void doTaxiing();
117 
122  virtual void doTakeOff();
123 
130  virtual void doLanding();
131 
140  virtual double findDesiredSpeed();
141 
151  virtual bool nearGoal();
152 
158  virtual bool atGoal();
159 
163  virtual bool passedGoal();
164 
170  static void routeChangedCallback(DtVrfObject * obj, void * usrData);
171  static void routeRemovedCallback(DtVrfObject * obj, void * usrData);
172  static void setAltitudeCallback(DtSimMessage * msg, void * usrData);
173  static void setLocationCallback(DtSimMessage * msg, void * usrData);
174  static void setRestoreCallback(DtSimMessage * msg, void * usrData);
175  static void modifyVrfObjectCallback(DtSimMessage * msg, void * usr);
176  static void deleteVrfObjectCallback(DtVrfObject * msg, void * usr);
177 
178  virtual bool processFlyAlongTask(DtSimTask* msg, DtSimTaskStatePtr taskStatePtr);
179 
180  virtual bool processMoveAlongTask(DtSimTask* msg, DtSimTaskStatePtr taskStatePtr);
184  virtual void processRouteChanged(DtVrfObject * obj);
186  virtual void processRouteRemoved(DtVrfObject * obj);
190  virtual void processSetAltitude(DtSimMessage * msg);
191  virtual void processSetLocation(DtSimMessage * msg);
192  virtual void processSetRestore(DtSimMessage * msg);
197  virtual void processModifyVrfObject(DtSimMessage * msg);
200  virtual void processDeleteVrfObject(DtVrfObject *msg);
201 
202  virtual bool setupRoute();
203 
206  virtual void registerTaskMsgCallbacks();
207 
208  static void moveAlongCallback(DtSimMessage* msg, void* usr, DtSimTaskStatePtr taskStatePtr);
209 
211  static DtReaderWriter* provideNextRoutePointIndex(void* c);
212 
215 
216  virtual DtSimTaskStatePtr currentTaskState() const;
217 
221  static DtSimComponent * creator(const DtString& name,
222  DtVrfObject* owner,
223  DtSimManager* simManager,
224  DtComponentDescriptor* desc = 0,
225  DtReaderWriterRegistry* parentRegistry = 0);
226 
227 protected:
228  virtual void processMoveAlong(const DtTaskMessage& msg, DtSimTaskStatePtr taskStatePtr);
229 
232 
235  const DtFixedWingMoveAlongController& orig);
236 
239  const DtFixedWingMoveAlongController& orig);
240 
242  void clearStoredRoute();
243 
247  void updateTakeOffDir();
248  void updateLandingDir();
249 
257  void processEntityLocationChange();
258 
281  virtual bool setMovementStatusFromRoute();
282 
284  virtual void resetValues();
285 
287  virtual void clearTask();
288 
289  virtual void updateTaskVisualizations();
290 
291 protected:
292 
296 
299 };
300 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)