12 #ifndef DtCoordinateConverter_H_
13 #define DtCoordinateConverter_H_
17 #include <matrix/geodCoord.h>
18 #include <matrix/utmRefPt.h>
19 #include <matrix/vlDcm.h>
20 #include <matrix/vlVector.h>
36 static const char*
UTM;
51 virtual const std::string& type()
const;
57 virtual bool init(
const std::string& originstring) = 0;
60 virtual std::string stringRep() = 0;
63 virtual bool zIsAlt()
const;
66 virtual bool usesOffsetFile()
const;
70 virtual DtGeodeticCoord databaseOrigin()
const;
81 virtual const DtDcm& nedToCigDcm()
const;
84 virtual const DtDcm& cigToNedDcm()
const;
87 virtual const DtDcm& geocToCigDcm()
const;
91 virtual const DtDcm& cigToGeocDcm()
const;
94 virtual const DtDcm& geocToNedDcm()
const;
100 virtual const DtDcm& cigToEnuDcm()
const;
103 virtual const DtDcm& nedToGeocDcm()
const;
113 virtual void setupTopoFrame(
const DtVector& truth);
116 virtual void cigToEnu_coordTrans(
const DtVector& cigPos,
120 virtual void cigToEnu_vecTrans(
const DtVector& cigVec,
124 virtual void enuToCig_coordTrans(
const DtVector& enuPos,
129 virtual void enuToCig_vecTrans(
const DtVector& enuVec,
138 virtual const DtTaitBryan& nedToCig_EulerTrans(
139 const DtTaitBryan& topo)
const;
150 static double convertToDouble(
const std::string& str);
151 static double convertToDouble(
const DtDegMinSec& dms);
152 static DtDegMinSec convertToDmsLat(
double deg);
153 static DtDegMinSec convertToDmsLon(
double deg);
156 static bool isCoordinateSystemProjected(
const std::string& csType );
164 std::string polarDirectionToStr(
int dir);
167 std::string parseLatLng( DtDegMinSec lat, DtDegMinSec lng);
209 const double w,
double& yawOut,
double& pitchOut,
double& rollOut);
213 const double w,
double& yawOut,
double& pitchOut,
double& rollOut);
217 double& xOut,
double& yOut,
double& zOut,
double& wOut);
221 double& xOut,
double& yOut,
double& zOut,
double& wOut);