]> git.mxchange.org Git - simgear.git/blobdiff - simgear/constants.h
Add another subsystem group.
[simgear.git] / simgear / constants.h
index b77a7965f00b442ffb27ed19f2a154c4a5b23772..0356af7a473ba01adb0c9f1d7e5c918c1ea9032b 100644 (file)
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 // Library General Public License for more details.
 //
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the
-// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-// Boston, MA  02111-1307, USA.
+// 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 // $Id$
 
 
 #include <simgear/compiler.h>
 
-#ifdef SG_HAVE_STD_INCLUDES
-#  include <cmath>
-#else
-#  ifdef SG_MATH_EXCEPTION_CLASH
-#    define exception C_exception
-#  endif
-#  include <math.h>
-#endif
-
-#include <plib/sg.h>
+#include <cmath>
 
 
 // Make sure PI is defined in its various forms
 
-// SG_PI and SGD_PI (float and double) come from plib/sg.h
+#ifndef SGD_PI // remove me once FlightGear no longer uses PLIB
+
+#ifdef M_PI
+const double SGD_PI = M_PI;
+const float SG_PI = M_PI;
+#else
+const float SG_PI = 3.1415926535f;
+const double SGD_PI = 3.1415926535;
+#endif
+
+#endif // of PLIB-SG guard
 
 /** 2 * PI */
-#define SGD_2PI      6.28318530717958647692
+const double SGD_2PI = SGD_PI * 2.0;
 
 /** PI / 2 */
 #ifdef M_PI_2
 #endif
 
 /** PI / 4 */
-#define SGD_PI_4     0.78539816339744830961
+const double SGD_PI_4 = 0.78539816339744830961;
+
+#ifndef SGD_DEGREES_TO_RADIANS // // remove me once FlightGear no longer uses PLIB
+
+const double SGD_DEGREES_TO_RADIANS = SGD_PI / 180.0;
+const double SGD_RADIANS_TO_DEGREES = 180.0 / SGD_PI;
+
+const float SG_DEGREES_TO_RADIANS = SG_PI / 180.0f;
+const float SG_RADIANS_TO_DEGREES = 180.0f / SG_PI;
+
+#endif // of PLIB-SG guard
 
 /** \def SG_E "e" */
 #ifdef M_E
@@ -76,6 +86,8 @@
  *  6378.165 but this is probably close enough */
 #define SG_EARTH_RAD 6378.155
 
+// Maximum terrain elevation from sea level
+#define SG_MAX_ELEVATION_M 9000.0
 
 // Earth parameters for WGS 84, taken from LaRCsim/ls_constants.h
 
 /** Nautical Miles to Radians */
 #define SG_RAD_TO_NM        3437.7467707849392526
 
-/** Miles per second to Knots */
+/** meters per second to Knots */
 #define SG_MPS_TO_KT        1.9438444924406046432
 
-/** Knots to Miles per second */
+/** Knots to meters per second */
 #define SG_KT_TO_MPS        0.5144444444444444444
 
-/** Miles per second to Miles per hour */
+/** Feet per second to Knots */
+#define SG_FPS_TO_KT        0.5924838012958962841
+
+/** Knots to Feet per second */
+#define SG_KT_TO_FPS        1.6878098571011956874
+
+/** meters per second to Miles per hour */
 #define SG_MPS_TO_MPH       2.2369362920544020312
 
-/** Miles per hour to Miles per second */
+/** meetrs per hour to Miles per second */
 #define SG_MPH_TO_MPS       0.44704
 
 /** Meters per second to Kilometers per hour */
 #define SG_MPS_TO_KMH       3.6
 
-/** Kilometers per hour to Miles per second */
+/** Kilometers per hour to meters per second */
 #define SG_KMH_TO_MPS       0.2777777777777777778
 
 /** Pascal to Inch Mercury */