15#include <matrix/vlVector.h>
16#include <matrix/vlTaitBryan.h>
17#include <matrix/geodeticCoord.h>
18#include <matrix/coordTransform.h>
19#include <matrix/utmReferencePoint.h>
68 origin = DtGeodeticCoord(0.0, 0.0, 0.0);
108 virtual DtVector
toGeocVec(
const DtVector& vec,
const DtVector& localPos)
const;
117 virtual DtTaitBryan
toGeocOri(
float heading,
float pitch,
float roll,
const DtVector& localPos)
const;
124 virtual DtTaitBryan
toGeocOri(
const DtTaitBryan& localOri,
const DtVector& localPos)
const;
137 virtual DtVector
fromGeocVec(
const DtVector& geocVec,
const DtVector& geocPos)
const;
144 virtual DtTaitBryan
fromGeocOri(
const DtTaitBryan& geocOri,
const DtVector& geocLoc)
const;
158 static double calcPitch(DtVector geocLoc, DtTaitBryan geocOri);
165 static double calcRoll(DtVector geocLoc, DtTaitBryan geocOri);
175 DtVector geocLoc, DtTaitBryan geocOri,
double& heading,
double& pitch,
double& roll);
184 static DtTaitBryan
calcTaitBryan(
double heading,
double pitch,
double roll, DtVector geocLoc);
DtCoordTransform myTopoTransform
Transformation from topographic to geocentric coordinates.
Definition coordConverter.h:219
DtCoordTransform myInverseTopoTransform
Transformation from geocentric to topographic coordinates.
Definition coordConverter.h:222
DtVector handleFlipping(const DtVector &vec, bool x, bool y, bool z) const
Handle axis flipping for vector conversion.
static double calcPitch(DtVector geocLoc, DtTaitBryan geocOri)
Calculate pitch from geocentric location and orientation.
AxisType myRemapX
The axis to use for X in remapping.
Definition coordConverter.h:228
virtual DtTaitBryan toGeocOri(const DtTaitBryan &localOri, const DtVector &localPos) const
Convert an orientation from local to geocentric coordinates.
CoordinateType
Enumeration of coordinate system types.
Definition coordConverter.h:43
@ FLATEARTH
Flat earth coordinates (local tangent plane approximation)
Definition coordConverter.h:44
@ UTM
Universal Transverse Mercator coordinates.
Definition coordConverter.h:46
@ GEOCENTRIC
Earth-centered Earth-fixed coordinates.
Definition coordConverter.h:47
@ TOPOGRAPHIC
Topographic coordinates (local NED coordinate system)
Definition coordConverter.h:45
bool myFlipX
Whether to flip the X axis.
Definition coordConverter.h:237
virtual DtVector toGeocVec(const DtVector &vec, const DtVector &localPos) const
Convert a vector from local to geocentric coordinates.
static double calcHeading(DtVector geocLoc, DtTaitBryan geocOri)
Calculate heading from geocentric location and orientation.
AxisType myRemapZ
The axis to use for Z in remapping.
Definition coordConverter.h:234
DtUtmReferencePoint myUtmReference
UTM reference point for UTM conversions.
Definition coordConverter.h:225
virtual void init(DtInitTable &init)
Initialize the converter from a configuration table.
virtual DtVector toGeocPos(const DtVector &pos) const
Convert a position from local to geocentric coordinates.
DtGeodeticCoord myOrigin
Geodetic origin (lat, lon, alt)
Definition coordConverter.h:249
bool myFlipZ
Whether to flip the Z axis.
Definition coordConverter.h:243
virtual DtVector fromGeocPos(const DtVector &pos) const
Convert a position from geocentric to local coordinates.
virtual void init(DtCoordConvertInitData data)
Initialize the converter with explicit settings.
AxisType
Enumeration of axis types.
Definition coordConverter.h:35
@ X
X axis.
Definition coordConverter.h:36
@ Y
Y axis.
Definition coordConverter.h:37
@ Z
Z axis.
Definition coordConverter.h:38
DtVector myOffset
Offset to apply to coordinates.
Definition coordConverter.h:246
static DtTaitBryan calcTaitBryan(double heading, double pitch, double roll, DtVector geocLoc)
Calculate Tait-Bryan orientation from heading, pitch, roll and geocentric location.
AxisType myRemapY
The axis to use for Y in remapping.
Definition coordConverter.h:231
DtVector handleRemapping(const DtVector &vec, AxisType x, AxisType y, AxisType z) const
Handle axis remapping for vector conversion.
virtual DtTaitBryan fromGeocOri(const DtTaitBryan &geocOri, const DtVector &geocLoc) const
Convert an orientation from geocentric to local coordinates.
virtual DtVector fromGeocVec(const DtVector &geocVec, const DtVector &geocPos) const
Convert a vector from geocentric to local coordinates.
const DtGeodeticCoord & origin() const
returns the geodetic coordinate origin
virtual ~DtCoordinateConvert()
Virtual destructor.
virtual DtTaitBryan toGeocOri(float heading, float pitch, float roll, const DtVector &localPos) const
Convert an orientation from local heading/pitch/roll to geocentric orientation.
double convertToDouble(const std::string &str) const
Convert a string to a double.
bool myFlipY
Whether to flip the Y axis.
Definition coordConverter.h:240
static void calcHeadingPitchRoll(DtVector geocLoc, DtTaitBryan geocOri, double &heading, double &pitch, double &roll)
Calculate heading, pitch, and roll from geocentric location and orientation.
DtCoordinateConvert()
Default constructor.
CoordinateType myCoordinateType
The current coordinate system type.
Definition coordConverter.h:216
static double calcRoll(DtVector geocLoc, DtTaitBryan geocOri)
Calculate roll from geocentric location and orientation.
Table-based access to Lua state for configuration data.
Definition initializer.h:38
Defines export macros for the VREngage Utility library.
#define UTIL_DLL
Export/import macro for non-Windows platforms.
Definition export.h:39
Provides configuration initialization for VREngage components.
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
Structure containing initialization data for coordinate conversion.
Definition coordConverter.h:52
AxisType rempapY
Axis to use for Y in remapping.
Definition coordConverter.h:60
bool flipX
Flag to flip the X axis.
Definition coordConverter.h:56
CoordinateType coordinateType
The coordinate system type.
Definition coordConverter.h:53
DtGeodeticCoord origin
The geodetic origin (lat, lon, alt)
Definition coordConverter.h:54
DtCoordConvertInitData()
Default constructor with default values.
Definition coordConverter.h:65
bool useFalseEasting
Flag to use false easting in UTM coordinates.
Definition coordConverter.h:62
bool flipY
Flag to flip the Y axis.
Definition coordConverter.h:57
bool flipZ
Flag to flip the Z axis.
Definition coordConverter.h:58
AxisType rempapZ
Axis to use for Z in remapping.
Definition coordConverter.h:61
DtVector offset
Optional offset to apply to coordinates.
Definition coordConverter.h:55
AxisType rempapX
Axis to use for X in remapping.
Definition coordConverter.h:59