#include <Astro/stars.hxx>
// #include <Astro/sun.hxx>
#include <Astro/solarsystem.hxx>
-#include <Autopilot/autopilot.h>
+#include <Autopilot/autopilot.hxx>
#include <Cockpit/cockpit.hxx>
#include <Debug/fg_debug.h>
#include <Joystick/joystick.h>
-#include <Math/fg_geodesy.h>
+#include <Math/fg_geodesy.hxx>
#include <Math/fg_random.h>
+#include <Math/point3d.hxx>
#include <Math/polar3d.hxx>
#include <Scenery/scenery.hxx>
#include <Scenery/tilemgr.hxx>
}
-// convert a geodetic point lon(radians), lat(radians), elev(meter) to
-// a cartesian point
-fgPoint3d geod_to_cart(double geod[3]) {
- fgPoint3d cp;
- fgPoint3d pp;
- double gc_lon, gc_lat, sl_radius;
-
- // printf("A geodetic point is (%.2f, %.2f, %.2f)\n",
- // geod[0], geod[1], geod[2]);
-
- gc_lon = geod[0];
- fgGeodToGeoc(geod[1], geod[2], &sl_radius, &gc_lat);
-
- // printf("A geocentric point is (%.2f, %.2f, %.2f)\n", gc_lon,
- // gc_lat, sl_radius+geod[2]);
-
- pp.lon = gc_lon;
- pp.lat = gc_lat;
- pp.radius = sl_radius + geod[2];
- cp = fgPolarToCart3d(pp);
-
- // printf("A cart point is (%.8f, %.8f, %.8f)\n", cp.x, cp.y, cp.z);
-
- return(cp);
-}
-
-
// This is the top level init routine which calls all the other
// initialization routines. If you are adding a subsystem to flight
// gear, its initialization call should located in this routine.
fgLIGHT *l;
fgTIME *t;
fgVIEW *v;
- double geod_pos[3];
- fgPoint3d abs_view_pos;
+ Point3D geod_pos, abs_view_pos;
l = &cur_light_params;
t = &cur_time_params;
}
// calculalate a cartesian point somewhere along the line between
- // the center of the earth and our view position
- geod_pos[0] = FG_Longitude;
- geod_pos[1] = FG_Latitude;
- // doesn't have to be the exact elevation (this is good because we
- // don't know it yet :-)
- geod_pos[2] = 0;
- abs_view_pos = geod_to_cart(geod_pos);
+ // the center of the earth and our view position. Doesn't have to
+ // be the exact elevation (this is good because we don't know it
+ // yet :-)
+ geod_pos.setvals( FG_Longitude, FG_Latitude, 0.0);
+ abs_view_pos = fgGeodToCart(geod_pos);
// Calculate ground elevation at starting point
scenery.cur_elev =
- fgTileMgrCurElev( FG_Longitude, FG_Latitude, &abs_view_pos );
+ fgTileMgrCurElev( FG_Longitude, FG_Latitude, abs_view_pos );
FG_Runway_altitude = scenery.cur_elev * METER_TO_FEET;
// Reset our altitude if we are below ground
// Initialize the weather modeling subsystem
fgWeatherInit();
- // update the weather for our current position
- global_events.Register( "fgWeatherUpdate()", fgWeatherUpdate,
- fgEVENT::FG_EVENT_READY, 120000 );
-
// Initialize the Cockpit subsystem
if( fgCockpitInit( ¤t_aircraft )) {
// Cockpit initialized ok.
// $Log$
+// Revision 1.42 1998/10/16 23:27:54 curt
+// C++-ifying.
+//
+// Revision 1.41 1998/10/16 00:54:01 curt
+// Converted to Point3D class.
+//
+// Revision 1.40 1998/10/02 12:46:49 curt
+// Added an "auto throttle"
+//
+// Revision 1.39 1998/09/29 02:03:39 curt
+// Autopilot mods.
+//
// Revision 1.38 1998/09/15 04:27:30 curt
// Changes for new Astro code.
//