]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGJSBBase.h
Remove a bunch of unneede files.
[flightgear.git] / src / FDM / JSBSim / FGJSBBase.h
index d0f24e59154690890096a86383e2edfb6885b6bf..f47a779f693128bdfca0362cd9abbfa2c670f4b3 100644 (file)
@@ -38,7 +38,7 @@ SENTRY
 INCLUDES
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-#include <limits>
+#include <float.h>
 
 #ifdef FGFS
 #  include <simgear/compiler.h>
@@ -48,12 +48,12 @@ INCLUDES
 
 SG_USING_STD(string);
 
-# ifndef M_PI
-#  include <simgear/constants.h>
-#  define M_PI SG_PI
-# endif
+#  ifndef M_PI
+#    include <simgear/constants.h>
+#    define M_PI SG_PI
+#  endif
 
-#else
+#else  // JSBSim section
 
 #  include <queue>
 #  include <string>
@@ -65,9 +65,23 @@ SG_USING_STD(string);
 
 using std::string;
 
-# ifndef M_PI
-#  define M_PI 3.14159265358979323846
-# endif
+#  if defined(_MSC_VER) && _MSC_VER <= 1200
+#    ifndef max
+#      define max(a,b)            (((a) > (b)) ? (a) : (b))
+#    endif
+
+#    ifndef min
+#      define min(a,b)            (((a) < (b)) ? (a) : (b))
+#    endif
+#  else
+
+using std::fabs;
+
+#  endif
+
+#  ifndef M_PI
+#    define M_PI 3.14159265358979323846
+#  endif
 
 #endif
 
@@ -92,6 +106,8 @@ CLASS DOCUMENTATION
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
 /** JSBSim Base class.
+*   This class provides universal constants, utility functions, messaging
+*   functions, and enumerated constants to JSBSim.
     @author Jon S. Berndt
     @version $Id$
 */
@@ -178,34 +194,50 @@ public:
       @return pointer to a Message structure (or NULL if no mesage) */
   Message* ProcessMessage(void);
   //@}
+
+  /** Returns the version number of JSBSim.
+  *   @return The version number of JSBSim. */
   string GetVersion(void) {return JSBSim_version;}
 
+  /// Disables highlighting in the console output.
   void disableHighLighting(void);
 
   static short debug_lvl;
+
+  /** Converts from degrees Kelvin to degrees Fahrenheit.
+  *   @param kelvin The temperature in degrees Kelvin.
+  *   @return The temperature in Fahrenheit. */
   static double KelvinToFahrenheit (double kelvin) {
     return 1.8*kelvin - 459.4;
   }
 
+  /** Converts from degrees Rankine to degrees Celsius.
+  *   @param rankine The temperature in degrees Rankine.
+  *   @return The temperature in Celsius. */
   static double RankineToCelsius (double rankine) {
     return (rankine - 491.67)/1.8;
   }
 
+  /** Converts from degrees Fahrenheit to degrees Celsius.
+  *   @param fahrenheit The temperature in degrees Fahrenheit.
+  *   @return The temperature in Celsius. */
   static double FahrenheitToCelsius (double fahrenheit) {
     return (fahrenheit - 32.0)/1.8;
   }
 
+  /** Converts from degrees Celsius to degrees Fahrenheit.
+  *   @param celsius The temperature in degrees Celsius.
+  *   @return The temperature in Fahrenheit. */
   static double CelsiusToFahrenheit (double celsius) {
     return celsius * 1.8 + 32.0;
   }
 
-
   /** Finite precision comparison.
       @param a first value to compare
       @param b second value to compare
       @return if the two values can be considered equal up to roundoff */
   static bool EqualToRoundoff(double a, double b) {
-    double eps = 2.0*std::numeric_limits<double>::epsilon();
+    double eps = 2.0*DBL_EPSILON;
     return fabs(a - b) <= eps*max(fabs(a), fabs(b));
   }
 
@@ -214,7 +246,7 @@ public:
       @param b second value to compare
       @return if the two values can be considered equal up to roundoff */
   static bool EqualToRoundoff(float a, float b) {
-    float eps = 2.0*std::numeric_limits<float>::epsilon();
+    float eps = 2.0*FLT_EPSILON;
     return fabs(a - b) <= eps*max(fabs(a), fabs(b));
   }
 
@@ -248,6 +280,7 @@ protected:
   static const double degtorad;
   static const double hptoftlbssec;
   static const double psftoinhg;
+  static const double psftopa;
   static const double fpstokts;
   static const double ktstofps;
   static const double inchtoft;
@@ -258,8 +291,8 @@ protected:
   static const double slugtolb;
   static const string needed_cfg_version;
   static const string JSBSim_version;
-};
 
+public:
 /// Moments L, M, N
 enum {eL     = 1, eM,     eN    };
 /// Rates P, Q, R
@@ -281,6 +314,8 @@ enum {eLat = 1, eLong, eRad     };
 /// Conversion specifiers
 enum {inNone = 0, inDegrees, inRadians, inMeters, inFeet };
 
+};
+
 }
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 #endif