#ifndef _ROUTE_MGR_HXX
#define _ROUTE_MGR_HXX 1
-#ifndef __cplusplus
-# error This library requires C++
-#endif
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <simgear/compiler.h>
-
-#include STL_STRING
-#include <vector>
-
-SG_USING_STD(string);
-SG_USING_STD(vector);
-
#include <simgear/props/props.hxx>
#include <simgear/route/route.hxx>
#include <simgear/structure/subsystem_mgr.hxx>
SGPropertyNode_ptr mirror;
bool altitude_set;
- int make_waypoint( SGWayPoint **wp, string& target );
+ SGWayPoint* make_waypoint(const string& target);
void update_mirror();
bool near_ground();
+ /**
+ * Helper to set a string property to the estimated arrival time (ETA),
+ * formatted as either hours:minutes or minutes:seconds, based on a distance
+ * and the current groundspeed.
+ */
+ void setETAPropertyFromDistance(SGPropertyNode_ptr aProp, double aDistance);
+
+ /**
+ * Helper to update the target_altitude_ft and altitude_set flag when wp0
+ * changes
+ */
+ void updateTargetAltitude();
public:
FGRouteMgr();
bool build ();
- int new_waypoint( const string& tgt_alt, int n = -1 );
+ void new_waypoint( const string& tgt_alt, int n = -1 );
void add_waypoint( const SGWayPoint& wp, int n = -1 );
SGWayPoint pop_waypoint( int i = 0 );