#define _ROUTE_MGR_HXX 1
#include <simgear/props/props.hxx>
-#include <simgear/route/waypoint.hxx>
#include <simgear/structure/subsystem_mgr.hxx>
-#include <Navaids/route.hxx>
+#include <Navaids/FlightPlan.hxx>
// forward decls
class SGPath;
class PropertyWatcher;
-class FGAirport;
-class FGRunway;
-
-typedef SGSharedPtr<FGAirport> FGAirportRef;
-
/**
* Top level route manager class
*
void unbind ();
void update (double dt);
- typedef enum {
- ROUTE_HIGH_AIRWAYS, ///< high-level airways routing
- ROUTE_LOW_AIRWAYS, ///< low-level airways routing
- ROUTE_VOR ///< VOR-VOR routing
- } RouteType;
-
- /**
- * Insert waypoints from index-1 to index. In practice this means you can
- * 'fill in the gaps' between defined waypoints. If index=0, the departure
- * airport is used as index-1; if index is -1, the destination airport is
- * used as the final waypoint.
- */
- bool routeToIndex(int index, RouteType aRouteType);
-
bool isRouteActive() const;
int currentIndex() const;
* route could not be activated for some reason
*/
bool activate();
+
+ /**
+ * deactivate the route if active
+ */
+ void deactivate();
/**
* Step to the next waypoint on the active route
SGPropertyNode_ptr _pathNode;
SGPropertyNode_ptr _currentWpt;
- /// integer property corresponding to the RouteType enum
- SGPropertyNode_ptr _routingType;
/**
* Signal property to notify people that the route was edited
*/
SGPropertyNode_ptr _finished;
+ SGPropertyNode_ptr _flightplanChanged;
+
void setETAPropertyFromDistance(SGPropertyNode_ptr aProp, double aDistance);
/**
SGPropertyNode_ptr input;
SGPropertyNode_ptr weightOnWheels;
-
+ SGPropertyNode_ptr groundSpeed;
+
InputListener *listener;
SGPropertyNode_ptr mirror;
- virtual void departureChanged();
- void buildDeparture(flightgear::WayptRef enroute, flightgear::WayptVec& wps);
-
- virtual void arrivalChanged();
- void buildArrival(flightgear::WayptRef enroute, flightgear::WayptVec& wps);
-
/**
* Helper to keep various pieces of state in sync when the route is
* modified (waypoints added, inserted, removed). Notably, this fires the