37 void update(
double dt)
override;
99 bool commandDefineUserWaypoint(
const SGPropertyNode * arg, SGPropertyNode * root);
100 bool commandDeleteUserWaypoint(
const SGPropertyNode * arg, SGPropertyNode * root);
105 time_t _touchdownTime;
108 SGPropertyNode_ptr magvar;
111 SGPropertyNode_ptr departure;
112 SGPropertyNode_ptr destination;
113 SGPropertyNode_ptr alternate;
114 SGPropertyNode_ptr cruise;
116 SGPropertyNode_ptr totalDistance;
117 SGPropertyNode_ptr distanceToGo;
118 SGPropertyNode_ptr ete;
119 SGPropertyNode_ptr elapsedFlightTime;
121 SGPropertyNode_ptr active;
122 SGPropertyNode_ptr airborne;
124 SGPropertyNode_ptr wp0;
125 SGPropertyNode_ptr wp1;
126 SGPropertyNode_ptr wpn;
129 SGPropertyNode_ptr _pathNode;
130 SGPropertyNode_ptr _currentWpt;
131 SGPropertyNode_ptr _isRoute;
136 SGPropertyNode_ptr _edited;
141 SGPropertyNode_ptr _finished;
143 SGPropertyNode_ptr _flightplanChanged;
145 void setETAPropertyFromDistance(SGPropertyNode_ptr aProp,
double aDistance);
150 double cachedLegPathDistanceM(
int index)
const;
151 double cachedWaypointPathTotalDistance(
int index)
const;
153 class InputListener :
public SGPropertyChangeListener {
156 virtual void valueChanged (SGPropertyNode * prop);
161 SGPropertyNode_ptr input;
162 SGPropertyNode_ptr weightOnWheels;
163 SGPropertyNode_ptr groundSpeed;
165 InputListener *listener;
166 SGPropertyNode_ptr mirror;
168 std::unique_ptr<RoutePath> _routePath;
175 void waypointsChanged()
override;
176 void arrivalChanged()
override;
177 void departureChanged()
override;
179 void update_mirror();
181 void currentWaypointChanged()
override;
184 std::string getDepartureICAO()
const;
185 std::string getDepartureName()
const;
186 void setDepartureICAO(
const std::string& aIdent);
188 std::string getDepartureRunway()
const;
189 void setDepartureRunway(
const std::string& aIdent);
191 std::string getSID()
const;
192 void setSID(
const std::string& aIdent);
194 std::string getDestinationICAO()
const;
195 std::string getDestinationName()
const;
196 void setDestinationICAO(
const std::string& aIdent);
198 std::string getDestinationRunway()
const;
199 void setDestinationRunway(
const std::string& aIdent);
201 std::string getApproach()
const;
202 void setApproach(
const std::string& aIdent);
204 std::string getSTAR()
const;
205 void setSTAR(
const std::string& aIdent);
207 double getDepartureFieldElevation()
const;
208 double getDestinationFieldElevation()
const;
210 int getCruiseAltitudeFt()
const;
211 void setCruiseAltitudeFt(
int ft);
213 int getCruiseFlightLevel()
const;
214 void setCruiseFlightLevel(
int fl);
216 int getCruiseSpeedKnots()
const;
217 void setCruiseSpeedKnots(
int kts);
219 double getCruiseSpeedMach()
const;
220 void setCruiseSpeedMach(
double m);
222 std::string getAlternate()
const;
223 std::string getAlternateName()
const;
224 void setAlternate(
const std::string &icao);