41 using namespace mrpt::utils;
56 inline TCoords(
const int _deg,
const int _min,
const double _sec ) { setDegMinSec(_deg,_min,_sec); }
57 inline TCoords(
const double dec ) { setFromDecimal(dec); }
61 inline operator double(
void)
const {
return decimal_value; }
64 inline operator double& (void) {
return decimal_value; }
73 inline void getDegMinSec(
int °rees,
int &minutes,
double &seconds)
const
75 double aux =
std::abs(decimal_value);
77 minutes = (int)((aux - degrees)*60.0f);
78 seconds = ((aux - degrees)*60.0f - minutes)*60.0f;
79 if( decimal_value<0 ) degrees = -degrees;
83 inline void setDegMinSec(
const int degrees,
const int minutes,
const double seconds)
85 decimal_value =
std::abs(degrees)+minutes/60.0+seconds/3600.0;
86 if(degrees<0) decimal_value = - decimal_value;
90 inline std::string getAsString()
const
94 getDegMinSec( deg,min,sec);
107 inline TEllipsoid() : sa( 6378137.0 ), sb( 6356752.314245 ), name(
"WGS84") {}
108 inline TEllipsoid(
const double _sa,
const double _sb,
const string _name ) : sa(_sa), sb(_sb), name(_name) {}
147 TGeodeticCoords(
const double _lat,
const double _lon,
const double _height) : lat(_lat),lon(_lon),height(_height) {}
149 inline bool isClear()
const {
return lat.getDecimalValue()==0 && lon.getDecimalValue()==0 && height==0; }
170 const double _dX,
const double _dY,
const double _dZ,
171 const double _Rx,
const double _Ry,
const double _Rz,
173 dX(_dX), dY(_dY), dZ(_dZ)
185 double m11, m12, m13, m21, m22, m23, m31, m32,
m33;
189 const double _dX,
const double _dY,
const double _dZ,
190 const double _m11,
const double _m12,
const double _m13,
191 const double _m21,
const double _m22,
const double _m23,
192 const double _m31,
const double _m32,
const double _m33,
194 dX(_dX), dY(_dY), dZ(_dZ), m11(_m11), m12(_m12), m13(_m13), m21(_m21), m22(_m22), m23(_m23), m31(_m31), m32(_m32), m33(_m33)
212 const double _dX,
const double _dY,
const double _dZ,
213 const double _Xp,
const double _Yp,
const double _Zp,
214 const double _Rx,
const double _Ry,
const double _Rz,
216 dX(_dX), dY(_dY), dZ(_dZ), Xp(_Xp), Yp(_Yp), Zp(_Zp)
236 const double _dX,
const double _dY,
237 const double _alpha,
const double _dS,
238 const double _Xp,
const double _Yp ) :
239 dX(_dX), dY(_dY), Xp(_Xp), Yp(_Yp)
251 const double _a,
const double _b,
252 const double _c,
const double _d ) :
253 a(_a), b(_b), c(_c), d(_d) {}
267 const double _dX,
const double _dY,
const double _dZ,
268 const double _Rx,
const double _Ry,
const double _Rz,
270 dX(_dX), dY(_dY), dZ(_dZ)
284 double a,b,c,d,e,f,
g;
287 const double _a,
const double _b,
const double _c,
288 const double _d,
const double _e,
const double _f,
const double _g ) :
289 a(_a), b(_b), c(_c), d(_d), e(_e), f(_f), g(_g) { }
301 const double _dX,
const double _dY,
const double _DZ,
303 dX(_dX), dY(_dY), DZ(_DZ)
319 const double _dX,
const double _dY,
320 const double _dSx,
const double _dSy,
const double _beta ) :