-/**************************************************************************
- * constants.h -- various constant definitions
- *
- * Written by Curtis Olson, started July 1997.
- *
- * Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * $Id$
- * (Log is kept at end of this file)
- **************************************************************************/
-
-
-#ifndef _FG_CONSTANTS_H
-#define _FG_CONSTANTS_H
+// fg_constants.hxx -- various constant definitions
+//
+// Written by Curtis Olson, started July 1997.
+//
+// Copyright (C) 1997 Curtis L. Olson - curt@flightgear.org
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License as
+// published by the Free Software Foundation; either version 2 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+//
+// $Id$
+// (Log is kept at end of this file)
+
+
+#ifndef _FG_CONSTANTS_HXX
+#define _FG_CONSTANTS_HXX
+
+
+/*
+#ifndef __cplusplus
+# error This library requires C++
+#endif
+*/
#ifdef HAVE_CONFIG_H
# include <math.h>
#endif
-/* This should be defined via autoconf in configure.in */
+// This should be defined via autoconf in configure.in
#ifndef VERSION
#define VERSION "\"not defined\""
#endif
# define M_E 2.7182818284590452354
#endif
-/* ONE_SECOND is pi/180/60/60, or about 100 feet at earths' equator */
+// ONE_SECOND is pi/180/60/60, or about 100 feet at earths' equator
#define ONE_SECOND 4.848136811E-6
-/* Radius of Earth in kilometers at the equator. Another source had
- * 6378.165 but this is probably close enough */
+// Radius of Earth in kilometers at the equator. Another source had
+// 6378.165 but this is probably close enough
#define EARTH_RAD 6378.155
-/* Earth parameters for WGS 84, taken from LaRCsim/ls_constants.h */
+// Earth parameters for WGS 84, taken from LaRCsim/ls_constants.h
-/* Value of earth radius from [8] */
-#define EQUATORIAL_RADIUS_FT 20925650. /* ft */
-#define EQUATORIAL_RADIUS_M 6378138.12 /* meter */
-/* Radius squared */
-#define RESQ_FT 437882827922500. /* ft */
-#define RESQ_M 40680645877797.1344 /* meter */
+// Value of earth radius from [8]
+#define EQUATORIAL_RADIUS_FT 20925650. // ft
+#define EQUATORIAL_RADIUS_M 6378138.12 // meter
+// Radius squared
+#define RESQ_FT 437882827922500. // ft
+#define RESQ_M 40680645877797.1344 // meter
-/* Value of earth flattening parameter from ref [8]
- *
- * Note: FP = f
- * E = 1-f
- * EPS = sqrt(1-(1-f)^2)
- */
+// Value of earth flattening parameter from ref [8]
+//
+// Note: FP = f
+// E = 1-f
+// EPS = sqrt(1-(1-f)^2)
+//
#define FP 0.003352813178
#define E 0.996647186
#define EPS 0.081819221
#define INVG 0.031080997
-/* Time Related Parameters */
+// Time Related Parameters
#define MJD0 2415020.0
#define J2000 (2451545.0 - MJD0)
#define SIDRATE .9972695677
-/* Conversions */
+// Conversions
-/* Degrees to Radians */
-#define DEG_TO_RAD 0.017453292 /* deg*pi/180 = rad */
+// Degrees to Radians
+#define DEG_TO_RAD 0.017453292 // deg*pi/180 = rad
-/* Radians to Degrees */
-#define RAD_TO_DEG 57.29577951 /* rad*180/pi = deg */
+// Radians to Degrees
+#define RAD_TO_DEG 57.29577951 // rad*180/pi = deg
-/* Arc seconds to radians */ /* (arcsec*pi)/(3600*180) = rad */
+// Arc seconds to radians // (arcsec*pi)/(3600*180) = rad
#define ARCSEC_TO_RAD 4.84813681109535993589e-06
-/* Radians to arc seconds */ /* (rad*3600*180)/pi = arcsec */
+// Radians to arc seconds // (rad*3600*180)/pi = arcsec
#define RAD_TO_ARCSEC 206264.806247096355156
-/* Feet to Meters */
+// Feet to Meters
#define FEET_TO_METER 0.3048
-/* Meters to Feet */
+// Meters to Feet
#define METER_TO_FEET 3.28083989501312335958
-/* Meters to Nautical Miles, 1 nm = 6076.11549 feet */
+// Meters to Nautical Miles, 1 nm = 6076.11549 feet
#define METER_TO_NM 0.00053995680
-/* Nautical Miles to Meters */
+// Nautical Miles to Meters
#define NM_TO_METER 1852.0000
-/* Radians to Nautical Miles, 1 nm = 1/60 of a degree */
+// Radians to Nautical Miles, 1 nm = 1/60 of a degree
#define NM_TO_RAD 0.00029088820866572159
-/* Nautical Miles to Radians */
+// Nautical Miles to Radians
#define RAD_TO_NM 3437.7467707849392526
-/* For divide by zero avoidance, this will be close enough to zero */
+// For divide by zero avoidance, this will be close enough to zero
#define FG_EPSILON 0.0000001
-/* Timing constants for Flight Model updates */
+// Timing constants for Flight Model updates
#define DEFAULT_TIMER_HZ 20
#define DEFAULT_MULTILOOP 6
#define DEFAULT_MODEL_HZ (DEFAULT_TIMER_HZ * DEFAULT_MULTILOOP)
-/* Field of view limits */
+// Field of view limits
#define FG_FOV_MIN 0.1
#define FG_FOV_MAX 179.9
-#endif /* _FG_CONSTANTS_H */
+#endif // _FG_CONSTANTS_HXX
+
+
+// $Log$
+// Revision 1.11 1999/02/01 21:14:10 curt
+// Converted to C++ style comments.
+//
+// Revision 1.10 1999/01/27 04:45:19 curt
+// Tweak for solaris.
+//
+// Revision 1.9 1998/08/24 20:02:35 curt
+// Added ONE_SECOND (in radians)
+//
+// Revision 1.8 1998/07/12 03:07:13 curt
+// Added #ifdef HAVE_CONFIG_H ...
+//
+// Revision 1.7 1998/07/08 14:36:29 curt
+// Changed name of EQUATORIAL_RADIUS_KM and RESQ_KM to "M" since they were
+// in meters anyways.
+//
+// Unified fgCartesianPoint3d and fgPolarPoint3d in a single struct called
+// fgPoint3d.
+//
+// Revision 1.6 1998/07/03 14:36:11 curt
+// Added conversion constants to fg_constants.h to assist with converting
+// between various world units and coordinate systems.
+// Added gl vendor/renderer/version info to general structure. Initialized
+// in fg_init.cxx
+//
+// Revision 1.5 1998/05/17 16:56:47 curt
+// Re-organized PI related constants.
+//
+// Revision 1.4 1998/05/16 13:03:10 curt
+// Defined field of view max/min limits.
+//
+// Revision 1.3 1998/04/08 23:35:32 curt
+// Tweaks to Gnu automake/autoconf system.
+//
+// Revision 1.2 1998/03/23 21:18:37 curt
+// Made FG_EPSILON smaller.
+//
+// Revision 1.1 1998/01/27 00:46:50 curt
+// prepended "fg_" on the front of these to avoid potential conflicts with
+// system include files.
+//
+// Revision 1.3 1998/01/22 02:59:35 curt
+// Changed #ifdef FILE_H to #ifdef _FILE_H
+//
+// Revision 1.2 1998/01/07 03:31:26 curt
+// Miscellaneous tweaks.
+//
+// Revision 1.1 1997/12/15 21:02:15 curt
+// Moved to .../FlightGear/Src/Include/
+//
+// Revision 1.10 1997/09/13 01:59:45 curt
+// Mostly working on stars and generating sidereal time for accurate star
+// placement.
+//
+// Revision 1.9 1997/08/22 21:34:32 curt
+// Doing a bit of reorganizing and house cleaning.
+//
+// Revision 1.8 1997/07/31 22:52:22 curt
+// Working on redoing internal coordinate systems & scenery transformations.
+//
+// Revision 1.7 1997/07/23 21:52:10 curt
+// Put comments around the text after an #endif for increased portability.
+//
+// Revision 1.6 1997/07/21 14:45:01 curt
+// Minor tweaks.
+//
+// Revision 1.5 1997/07/19 23:04:46 curt
+// Added an initial weather section.
+//
+// Revision 1.4 1997/07/19 22:37:03 curt
+// Added various PI definitions.
+//
+// Revision 1.3 1997/07/14 16:26:03 curt
+// Testing/playing -- placed objects randomly across the entire terrain.
+//
+// Revision 1.2 1997/07/08 18:20:11 curt
+// Working on establishing a hard ground.
+//
+// Revision 1.1 1997/07/07 21:02:36 curt
+// Initial revision.
-
-/* $Log$
-/* Revision 1.10 1999/01/27 04:45:19 curt
-/* Tweak for solaris.
-/*
- * Revision 1.9 1998/08/24 20:02:35 curt
- * Added ONE_SECOND (in radians)
- *
- * Revision 1.8 1998/07/12 03:07:13 curt
- * Added #ifdef HAVE_CONFIG_H ...
- *
- * Revision 1.7 1998/07/08 14:36:29 curt
- * Changed name of EQUATORIAL_RADIUS_KM and RESQ_KM to "M" since they were
- * in meters anyways.
- *
- * Unified fgCartesianPoint3d and fgPolarPoint3d in a single struct called
- * fgPoint3d.
- *
- * Revision 1.6 1998/07/03 14:36:11 curt
- * Added conversion constants to fg_constants.h to assist with converting
- * between various world units and coordinate systems.
- * Added gl vendor/renderer/version info to general structure. Initialized
- * in fg_init.cxx
- *
- * Revision 1.5 1998/05/17 16:56:47 curt
- * Re-organized PI related constants.
- *
- * Revision 1.4 1998/05/16 13:03:10 curt
- * Defined field of view max/min limits.
- *
- * Revision 1.3 1998/04/08 23:35:32 curt
- * Tweaks to Gnu automake/autoconf system.
- *
- * Revision 1.2 1998/03/23 21:18:37 curt
- * Made FG_EPSILON smaller.
- *
- * Revision 1.1 1998/01/27 00:46:50 curt
- * prepended "fg_" on the front of these to avoid potential conflicts with
- * system include files.
- *
- * Revision 1.3 1998/01/22 02:59:35 curt
- * Changed #ifdef FILE_H to #ifdef _FILE_H
- *
- * Revision 1.2 1998/01/07 03:31:26 curt
- * Miscellaneous tweaks.
- *
- * Revision 1.1 1997/12/15 21:02:15 curt
- * Moved to .../FlightGear/Src/Include/
- *
- * Revision 1.10 1997/09/13 01:59:45 curt
- * Mostly working on stars and generating sidereal time for accurate star
- * placement.
- *
- * Revision 1.9 1997/08/22 21:34:32 curt
- * Doing a bit of reorganizing and house cleaning.
- *
- * Revision 1.8 1997/07/31 22:52:22 curt
- * Working on redoing internal coordinate systems & scenery transformations.
- *
- * Revision 1.7 1997/07/23 21:52:10 curt
- * Put comments around the text after an #endif for increased portability.
- *
- * Revision 1.6 1997/07/21 14:45:01 curt
- * Minor tweaks.
- *
- * Revision 1.5 1997/07/19 23:04:46 curt
- * Added an initial weather section.
- *
- * Revision 1.4 1997/07/19 22:37:03 curt
- * Added various PI definitions.
- *
- * Revision 1.3 1997/07/14 16:26:03 curt
- * Testing/playing -- placed objects randomly across the entire terrain.
- *
- * Revision 1.2 1997/07/08 18:20:11 curt
- * Working on establishing a hard ground.
- *
- * Revision 1.1 1997/07/07 21:02:36 curt
- * Initial revision.
- * */