+ void attach(SGSharedPtr<FGAIBase> model);
+
+ void destroyObject( int ID );
+
+ inline double get_user_latitude() const { return user_latitude; }
+ inline double get_user_longitude() const { return user_longitude; }
+ inline double get_user_altitude() const { return user_altitude; }
+ inline double get_user_heading() const { return user_heading; }
+ inline double get_user_pitch() const { return user_pitch; }
+ inline double get_user_yaw() const { return user_yaw; }
+ inline double get_user_speed() const {return user_speed; }
+ inline double get_wind_from_east() const {return wind_from_east; }
+ inline double get_wind_from_north() const {return wind_from_north; }
+
+ inline int getNum( FGAIBase::object_type ot ) const {
+ return (0 < ot && ot < FGAIBase::MAX_OBJECTS) ? numObjects[ot] : numObjects[0];
+ }
+
+ void processScenario( const string &filename );
+
+ ssgBranch * getModel(const string& path) const;
+ void setModel(const string& path, ssgBranch *model);
+
+ static SGPropertyNode_ptr loadScenarioFile(const std::string& filename);
+
+ static bool getStartPosition(const string& id, const string& pid,
+ Point3D& geodPos, double& hdng, sgdVec3 uvw);