13 #include <matrix/geodeticCoord.h>
14 #include <matrix/utmReferencePoint.h>
15 #include <matrix/vlDcm.h>
16 #include <matrix/vlVector.h>
31 static const char* UTM;
47 virtual const std::string& type()
const;
53 virtual bool init(
const std::string& originstring) = 0;
56 virtual std::string stringRep() = 0;
59 virtual bool zIsAlt()
const;
62 virtual bool usesOffsetFile()
const;
66 virtual DtGeodeticCoord databaseOrigin()
const;
77 virtual const DtDcm& nedToCigDcm()
const;
80 virtual const DtDcm& cigToNedDcm()
const;
83 virtual const DtDcm& geocToCigDcm()
const;
87 virtual const DtDcm& cigToGeocDcm()
const;
90 virtual const DtDcm& geocToNedDcm()
const;
96 virtual const DtDcm& cigToEnuDcm()
const;
99 virtual const DtDcm& nedToGeocDcm()
const;
109 virtual void setupTopoFrame(
const DtVector& truth);
112 virtual void cigToEnu_coordTrans(
const DtVector& cigPos,
116 virtual void cigToEnu_vecTrans(
const DtVector& cigVec,
120 virtual void enuToCig_coordTrans(
const DtVector& enuPos,
125 virtual void enuToCig_vecTrans(
const DtVector& enuVec,
134 virtual const DtTaitBryan& nedToCig_EulerTrans(
135 const DtTaitBryan& topo)
const;
146 return myNedToEnuDcm;
151 static double convertToDouble(
const std::string& str);
152 static double convertToDouble(
const DtDegMinSec& dms);
153 static DtDegMinSec convertToDmsLat(
double deg);
154 static DtDegMinSec convertToDmsLon(
double deg);
157 static bool isCoordinateSystemProjected(
const std::string& csType );
165 std::string polarDirectionToStr(
int dir);
168 std::string parseLatLng(
const DtDegMinSec& lat,
const DtDegMinSec& lng);
210 const double w,
double& yawOut,
double& pitchOut,
double& rollOut);
214 const double w,
double& yawOut,
double& pitchOut,
double& rollOut);
218 double& xOut,
double& yOut,
double& zOut,
double& wOut);
222 double& xOut,
double& yOut,
double& zOut,
double& wOut);
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
void DT_DLL_VRVUTIL DtQuaternionToEulerDeg(const double x, const double y, const double z, const double w, double &yawOut, double &pitchOut, double &rollOut)
Converts Quaternions to Eulers. Eulers are in degrees.
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
DtDcm myGeocToNedDcm
Definition: DtCoordinateConverter.h:190
DtGeodeticCoord myGeodOrigin
initializing system
Definition: DtCoordinateConverter.h:186
DtCoordinateConverter is the base class for 'local (cig) to geocentric' converters.
Definition: DtCoordinateConverter.h:25
voidpf uLong int origin
Definition: ioapi.h:42
static const char * Geocentric
Does no conversion.
Definition: DtCoordinateConverter.h:30
const DtDcm myNedToEnuDcm
Definition: DtCoordinateConverter.h:199
void DT_DLL_VRVUTIL DtEulerToQuaternionRad(const double yaw, const double pitch, const double roll, double &xOut, double &yOut, double &zOut, double &wOut)
Converts from Eulers to Quaternions. Eulers are in degrees.
DtDcm myNedToGeocDcm
topo frame DCM's
Definition: DtCoordinateConverter.h:189
void DT_DLL_VRVUTIL DtEulerToQuaternionDeg(const double yaw, const double pitch, const double roll, double &xOut, double &yOut, double &zOut, double &wOut)
Converts from Eulers to Quaternions. Eulers are in degrees.
bool myUsesWarbreaker
Definition: DtCoordinateConverter.h:182
bool myZAlt
Definition: DtCoordinateConverter.h:183
Contains DLL export macros.
virtual void setGeocOriginOffset(const DtVector &offset)
set origin offset (geoc cig origin)
Definition: DtCoordinateConverter.h:69
DtDcm myNed2CigEulerDcm
to-euler DCM's
Definition: DtCoordinateConverter.h:202
DtDcm myGeocToCigDcm
Definition: DtCoordinateConverter.h:195
static const char * Lambert
Converts between UTM and geocentric.
Definition: DtCoordinateConverter.h:33
const DtDcm nedToEnuDcm() const
Definition: DtCoordinateConverter.h:144
std::string myType
flags
Definition: DtCoordinateConverter.h:181
DtDcm myCigToNedDcm
Definition: DtCoordinateConverter.h:193
static const char * NoOp
Definition: DtCoordinateConverter.h:29
static const char * FlatEarth
Converts between Lambert and geocentric.
Definition: DtCoordinateConverter.h:34
DtDcm myCigToGeocDcm
Definition: DtCoordinateConverter.h:196
DtDcm myCigToEnuDcm
Definition: DtCoordinateConverter.h:198
DtVector myLastLocation
DtCoordTransform myGeocToNedTransform;.
Definition: DtCoordinateConverter.h:205
void DT_DLL_VRVUTIL DtQuaternionToEulerRad(const double x, const double y, const double z, const double w, double &yawOut, double &pitchOut, double &rollOut)
Converts Quaternions to Eulers. Eulers are in radians.
voidpf uLong offset
Definition: ioapi.h:42
static const char * Cartesian
Converts between Flat Earth and geocentric.
Definition: DtCoordinateConverter.h:35
DtDcm myNedToCigDcm
Definition: DtCoordinateConverter.h:192