VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
fixedWingLandingController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 
12 #pragma once
13 
16 
17 class DtString;
18 class DtSimManager;
19 class DtTaskMessage;
22 class DtLocalVertex;
25 
36 
39 {
40 public:
41 
45  DtVrfObject* owner,
46  DtSimManager* simManager,
47  DtComponentDescriptor* desc = 0,
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
52 
54  virtual bool init();
55 
56  virtual bool postAddComponentsInit();
57 
60  virtual const char* type() const;
61 
64  virtual bool tickWhileDestroyed() const;
65 
69  static DtSimComponent * creator(const DtString& name,
70  DtVrfObject* owner,
71  DtSimManager* simManager,
72  DtComponentDescriptor* desc = 0,
73  DtReaderWriterRegistry* parentRegistry = 0);
74 
75 protected:
77  virtual void registerTaskMsgCallbacks();
78 
80  virtual void preFirstTickInit();
81 
83  virtual void tick();
84 
86  virtual void clearCurrentTaskMessage();
87 
89  virtual void clearTask();
90 
92  virtual void removeControlPoint();
93 
95 protected:
96 
102  virtual bool createPSR();
103 
105  DtFixedWingFlightPSR* lookupFixedWingFlightPSR();
106 
108  virtual bool createPorts();
109 
112  static void taskCompleteReportCallback(DtSimMessage * msg, void * usr);
113  virtual void processTaskComplete(DtSimMessage * msg);
114 
117  static void landingStripChanged(DtVrfObject* obj, void* userData);
118  virtual void processLandingStripChanged(DtVrfObject*);
119 
123  virtual void processLandingTask(DtSimMessage* msg);
124  static void landingTaskCallback(DtSimMessage* msg, void* usr);
125 
128  static void deleteVrfObjectCallback(DtVrfObject * msg, void * usr);
129  virtual void processDeleteVrfObjectCallback(DtVrfObject* obj);
130 
135  virtual bool generateApproachRoute();
136 
140  virtual bool generateLandingRoute();
141 
145 
146  virtual void initRunwayCoordTransform(const DtVector& runwayStartLocal,
147  const DtVector& runwayEndLocal, DtCoordTransform& resultTransform) const;
148 
151  virtual double calculateDecelerationConstant() const;
152 
154  virtual double calculateApproachSpeed() const;
155 
157  virtual void setupExistingConditions();
158 
161  virtual void setApproachSpeed();
162 
165  virtual void flyingAlongApproachRoute(ComponentCriticalSection&);
166 
169  virtual void moveAlongLandingStrip();
170 
172  virtual void movingAlongLandingStrip();
173 
180  virtual bool moveAlongLandingRouteRemainder();
181 
185  virtual bool checkPositionOnFinalLeg();
186 
190  virtual void flyingTowardsApproachRoute();
191 
194  virtual bool createApproachRoutePoints();
195 
199  virtual void setLandingAppearanceState(ComponentCriticalSection&);
200 
203  virtual double decelerationDistance() const;
204 
205 private:
206 
209 
212  orig);
213 
217 
218 protected:
221 
225 
229  bool myWaiting;
231 
234 
241 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)