#ifndef UTIL_H #define UTIL_H /*************************************************************** ** ** ** "util.h" ** ** ** ** CONTENTS: ** ** ** ** Definition of Class Util; ** ** Static methods define ... and ... calculate ... ** ** This file contains prototypes of small math utilities. ** ** ** ** HISTORY: ** ** ** ** Version Date Changes Author/Programmer ** ** ** ** 1.00 12/01/03 Original J.Malinowski ** ** 1.10 12/03/11 Nmi_To_Km(..) method added JM ** ** 1.11 16/03/07 Redesign JM ** ***************************************************************/ #include <math.h>
typedef unsigned int word;
//---extern const double pi; // pi constant with full accuracy extern const double tpi; // 2*pi
extern const double hpi; // pi/2
extern const double dtr; // 1 deg of arc = dtr radians extern const double rtd; // 1 rad = rtd degrees
extern const double hts; // hrs to sec: 3600.0 extern const double sth; // sec to hrs: 1/3600.0 extern const double htm; // hrs to min: 60.0 extern const double mth; // min to hrs: 1/60.o
//---class Util {
// Represents utility class of static methods. public:
public:
static double Rad_To_Km( double r ); static double Rad_To_Nmi( double r );
static double Nmi_To_Rad( double m ){return nmikm*m/r_equat;} static double Km_To_Rad( double k ) { return k/r_equat; } static double Km_To_Nmi( double k ) { return k/nmikm; } static double Nmi_To_Km( double m ) { return m*nmikm; }
// Conversions between radians, naut.miles and kilometers //= radians nautical miles kilometers distance units
static word Version(); // Version control protected:
static double r_equat; // equatorial radius, meters static const double nmikm = 1.852;
// nmi to km conversion=1.852 static const double kmnmi;
};
//---#endif