FGAIBase(object_type ot);
virtual ~FGAIBase();
- inline const Point3D& GetPos() const { return(pos); }
virtual void readFromScenario(SGPropertyNode* scFileNode);
FGAIManager* manager;
// these describe the model's actual state
- Point3D pos; // WGS84 lat & lon in degrees, elev above sea-level in meters
+ SGGeod pos; // WGS84 lat & lon in degrees, elev above sea-level in meters
double hdg; // True heading in degrees
double roll; // degrees, left is negative
double pitch; // degrees, nose-down is negative
double speed; // knots true airspeed
- double altitude; // meters above sea level
+ double altitude_ft; // feet above sea level
double vs; // vertical speed, feet per minute
double turn_radius_ft; // turn radius ft at 15 kts rudder angle 15 degrees
double ft_per_deg_lat;
// these describe the model's desired state
- double tgt_heading; // target heading, degrees true
- double tgt_altitude; // target altitude, *feet* above sea level
- double tgt_speed; // target speed, KTAS
+ double tgt_heading; // target heading, degrees true
+ double tgt_altitude_ft; // target altitude, *feet* above sea level
+ double tgt_speed; // target speed, KTAS
double tgt_roll;
double tgt_pitch;
double tgt_yaw;
hdg = tgt_heading = heading;
}
-inline void FGAIBase::setAltitude( double altitude_ft ) {
- altitude = tgt_altitude = altitude_ft;
- pos.setelev(altitude * SG_FEET_TO_METER);
+inline void FGAIBase::setAltitude( double alt_ft ) {
+ altitude_ft = tgt_altitude_ft = alt_ft;
+ pos.setElevationFt(altitude_ft);
}
inline void FGAIBase::setBank( double bank ) {
}
inline void FGAIBase::setLongitude( double longitude ) {
- pos.setlon( longitude );
+ pos.setLongitudeDeg( longitude );
}
inline void FGAIBase::setLatitude ( double latitude ) {
- pos.setlat( latitude );
+ pos.setLatitudeDeg( latitude );
}
inline void FGAIBase::setDie( bool die ) { delete_me = die; }