VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
150  virtual bool nearGoal();
151 
156  virtual bool atGoal();
157 
161  virtual bool passedGoal();
162 
168  static void routeChangedCallback(DtVrfObject * obj, void * usrData);
169  static void setAltitudeCallback(DtSimMessage * msg, void * usrData);
170  static void setLocationCallback(DtSimMessage * msg, void * usrData);
171  static void setRestoreCallback(DtSimMessage * msg, void * usrData);
172  static void modifyVrfObjectCallback(DtSimMessage * msg, void * usr);
173  static void deleteVrfObjectCallback(DtVrfObject * msg, void * usr);
174 
175  virtual bool processFlyAlongTask(DtSimTask* msg, DtSimTaskStatePtr taskStatePtr);
176 
177  virtual bool processMoveAlongTask(DtSimTask* msg, DtSimTaskStatePtr taskStatePtr);
181  virtual void processRouteChanged(DtVrfObject * obj);
185  virtual void processSetAltitude(DtSimMessage * msg);
186  virtual void processSetLocation(DtSimMessage * msg);
187  virtual void processSetRestore(DtSimMessage * msg);
192  virtual void processModifyVrfObject(DtSimMessage * msg);
195  virtual void processDeleteVrfObject(DtVrfObject *msg);
196 
197  virtual bool setupRoute();
198 
201  virtual void registerTaskMsgCallbacks();
202 
203  static void moveAlongCallback(DtSimMessage* msg, void* usr, DtSimTaskStatePtr taskStatePtr);
204 
206  static DtReaderWriter* provideNextRoutePointIndex(void* c);
207 
210 
211  virtual DtSimTaskStatePtr currentTaskState() const;
212 
216  static DtSimComponent * creator(const DtString& name,
217  DtVrfObject* owner,
218  DtSimManager* simManager,
219  DtComponentDescriptor* desc = 0,
220  DtReaderWriterRegistry* parentRegistry = 0);
221 
222 protected:
223  virtual void processMoveAlong(const DtTaskMessage& msg, DtSimTaskStatePtr taskStatePtr);
224 
227 
230  const DtFixedWingMoveAlongController& orig);
231 
234  const DtFixedWingMoveAlongController& orig);
235 
237  void clearStoredRoute();
238 
242  void updateTakeOffDir();
243  void updateLandingDir();
244 
252  void processEntityLocationChange();
253 
276  virtual bool setMovementStatusFromRoute();
277 
279  virtual void resetValues();
280 
282  virtual void clearTask();
283 
284  virtual void updateTaskVisualizations();
285 
286 protected:
287 
291 
294 };
295 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)