SGRoute* _route;
time_t _takeoffTime;
time_t _touchdownTime;
- bool _autoSequence; // true if we are doing internal sequencing
- // false if other code (FMS/GPS) is managing sequencing
-
+
// automatic inputs
SGPropertyNode_ptr lon;
SGPropertyNode_ptr lat;
SGPropertyNode_ptr alt;
SGPropertyNode_ptr magvar;
- // automatic outputs
- SGPropertyNode_ptr target_altitude_ft;
- SGPropertyNode_ptr altitude_lock;
-
+ // automatic outputs
SGPropertyNode_ptr departure; ///< departure airport information
SGPropertyNode_ptr destination; ///< destination airport information
SGPropertyNode_ptr alternate; ///< alternate airport information
SGPropertyNode_ptr active;
SGPropertyNode_ptr airborne;
- SGPropertyNode_ptr currentWp;
SGPropertyNode_ptr wp0;
SGPropertyNode_ptr wp1;
SGPropertyNode_ptr _pathNode;
+ /**
+ * Signal property to notify people that the route was edited
+ */
+ SGPropertyNode_ptr _edited;
+
+ /**
+ * Signal property to notify when the last waypoint is reached
+ */
+ SGPropertyNode_ptr _finished;
+
void setETAPropertyFromDistance(SGPropertyNode_ptr aProp, double aDistance);
class InputListener : public SGPropertyChangeListener {
InputListener *listener;
SGPropertyNode_ptr mirror;
- bool altitude_set;
/**
* Create a SGWayPoint from a string in the following format:
void update_mirror();
- bool near_ground();
void currentWaypointChanged();
/**
- * Helper to update the target_altitude_ft and altitude_set flag when wp0
- * changes
+ * Parse a route/wp node (from a saved, property-lsit formatted route)
*/
- void updateTargetAltitude();
+ void parseRouteWaypoint(SGPropertyNode* aWP);
/**
- * Parse a route/wp node (from a saved, property-lsit formatted route)
+ * Check if we've reached the final waypoint.
+ * Returns true if we have.
*/
- void parseRouteWaypoint(SGPropertyNode* aWP);
+ bool checkFinished();
public:
FGRouteMgr();