00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _VECANGLE_H_
00021 #define _VECANGLE_H_
00022
00023 #include <math.h>
00024
00027
00033 inline double rad2deg (const float &rad) {return(rad/M_PI * 180.);}
00039 inline double deg2rad (const float °) {return(deg/180. * M_PI);}
00040
00045 void flip (double &dec, double &dip);
00049 void flip (float &dec, float &dip);
00050
00051
00056 float normRadAngle(float angleRad);
00057
00067 void rotateXY (const float x1, const float y1, const float angleRad, float &x2, float &y2);
00068
00069
00077 void xyz2tpr (const double x, const double y, const double z, double &theta, double &phi, double &radius);
00078
00084 void ldi2xyz( const float len, const float dec, const float inc, std::vector<float> &xyz);
00085
00090 inline bool isEqual (const float a, const float b, const float del) {
00091 return ( ( a<b+del && a > b-del) ? true : false );
00092 }
00093
00094
00095 #endif // _VECANGLE_H_