public:
+ FGAIBase();
virtual ~FGAIBase();
virtual void update(double dt);
inline Point3D GetPos() { return(pos); }
void setPath( const char* model );
void setSpeed( double speed_KTAS );
void setAltitude( double altitude_ft );
- void setLongitude( double longitude );
- void setLatitude( double latitude );
void setHeading( double heading );
+ void setLatitude( double latitude );
+ void setLongitude( double longitude );
void setDie( bool die );
bool getDie();
SGPropertyNode *props;
Point3D pos; // WGS84 lat & lon in degrees, elev above sea-level in meters
- double lat, lon; // As above, this is needed for the property bindings
double hdg; // True heading in degrees
double roll; // degrees, left is negative
double pitch; // degrees, nose-down is negative
void Transform();
+ static FGAIBase *_self;
+ const char *_type_str;
+
+private:
+
+ static void _setLongitude( double longitude );
+ static void _setLatitude ( double latitude );
+ static double _getLongitude();
+ static double _getLatitude ();
+
};
pos.setelev(altitude * SG_FEET_TO_METER);
}
-
-inline void FGAIBase::setLongitude( double longitude ) {
- lon = longitude;
- pos.setlon(longitude);
+inline void FGAIBase::setHeading( double heading ) {
+ hdg = tgt_heading = heading;
}
-inline void FGAIBase::setLatitude( double latitude ) {
- lat = latitude;
- pos.setlat(latitude);
+inline void FGAIBase::setLongitude( double longitude ) {
+ pos.setlon( longitude );
}
-inline void FGAIBase::setHeading( double heading ) {
- hdg = tgt_heading = heading;
+inline void FGAIBase::setLatitude ( double latitude ) {
+ pos.setlat( latitude );
}
inline void FGAIBase::setDie( bool die ) { delete_me = die; }