12 #include <matrix/vlVector.h>
13 #include <boost/unordered_map.hpp>
18 class DtReferenceEllipsoid;
23 class DtNoOpCoordinateConverter;
24 class DtFlatEarthCoordinateConverter;
25 class DtGeocentricCoordinateConverter;
26 class DtUtmCoordinateConverter;
27 class DtCartesianCoordinateConverter;
28 class DtLambertCoordinateConverter;
29 class DtCoordinateConverterFactory;
30 class DtCoordinateConverter;
32 class DtCoordinateDisplay;
33 class DtCoordinateDisplayCollection;
34 class DtUnitConverterCollection;
59 const std::string& type()
const;
64 bool isGeocentric()
const;
67 const std::string& parameters()
const;
71 bool set(
const std::string& type,
const std::string&
origin);
129 void setUseTopoForFlatEarthVectorConversion(
bool flag );
130 bool useTopoForFlatEarthVectorConversion()
const;
133 const DtMapDatum& datum()
const;
138 void setDatum(
const DtMapDatum& datum);
144 void netToLocalVec(
const DtVector& localpos,
const DtVector32& netvec, DtVector32& localvec)
const;
145 void netToLocalOri(
const DtVector& localpos,
const DtTaitBryan& netori, DtTaitBryan& localori)
const;
146 void netToLocalHpr(
const DtVector& localpos,
const DtTaitBryan& netori, DtTaitBryan& localhpr)
const;
147 void netBodyToLocalBody(
const DtVector& localpos,
const DtDcm& netdcm, DtDcm& localdcm)
const;
162 void netToLocalOri(
const double localpos[3],
const double netori[3],
double localori[3])
const;
167 void localToNetOri(
const DtVector& localpos,
const DtTaitBryan& localori, DtTaitBryan& netori)
const;
169 void localToNetVec(
const DtVector& localpos,
const DtVector32& localvec, DtVector32& netvec)
const;
172 inline void localToNetPos(
const double (&localpos)[3],
double (&netpos)[3])
const
175 memcpy(&localpos_v,localpos,
sizeof(localpos));
177 localToNetPos( localpos_v, netpos_v);
178 memcpy(netpos,&netpos_v,
sizeof(netpos));
182 void localToNetOri(
const double localpos[3],
const double localori[3],
double netori[3])
const;
192 static void setCreator(CoordinateSystemCreatorFn fn);
195 static const DtReferenceEllipsoid* referenceEllipsoid();
215 typedef boost::unordered_map<std::string, DtCoordinateConverter*>
ConverterMap;
Instances of DtUtmCoordSystem provide transformations and utilities for converting between network an...
Definition: DtUtmCoordinateConverter.h:23
A unicode string.
Definition: DtUnicode.h:33
DtCoordinateConverter * myCurrentConverter
Definition: DtCoordinateSystem.h:218
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
DtCoordinateConverter is the base class for 'local (cig) to geocentric' converters.
Definition: DtCoordinateConverter.h:25
Instances of DtFlatCigManager provide transformations and utilities for converting between Cig and Fl...
Definition: DtFlatEarthCoordinateConverter.h:23
Abstract interface class for all coordinate system displays.
Definition: DtCoordinateDisplay.h:27
voidpf uLong int origin
Definition: ioapi.h:42
DtUnitConverterCollection * myUnits
Definition: DtCoordinateSystem.h:222
static DtCoordinateConverterFactory theCoordConverterFactory
Definition: DtCoordinateSystem.h:229
static CoordinateSystemCloneFn theCloneFn
Definition: DtCoordinateSystem.h:228
ConverterMap myConverters
Definition: DtCoordinateSystem.h:217
CoordSys
Enumeration of the different coordinate system types.
Definition: DtDisplayUnitsSettingsRecord.h:30
Collection of DtCoordinateSystemDisplay objects for displaying coordinates in multiple coordinate sys...
Definition: DtCoordinateDisplayCollection.h:23
Contains DLL export macros.
Instances of vpNetLambertCoordConverter provide transformations and utilities for converting between ...
Definition: DtLambertCoordinateConverter.h:24
static CoordinateSystemCreatorFn theCreatorFn
Definition: DtCoordinateSystem.h:227
std::string myCoordinateSystemParameters
Definition: DtCoordinateSystem.h:219
static DtReferenceEllipsoid * theReferenceEllipsoidPtr
Definition: DtCoordinateSystem.h:230
Repository for all unit converters.
Definition: DtUnitConverterCollection.h:28
bool myUseTopoForFlatEarthVectorConversion
Definition: DtCoordinateSystem.h:223
DtCoordinateDisplayCollection * myDisplays
Definition: DtCoordinateSystem.h:221
Instances of DtCartesianCoordinateConverter provide transformations and utilities for converting betw...
Definition: DtCartesianCoordinateConverter.h:26
vpNetNoOpCoordConverter does no coordinate conversions
Definition: DtNoOpCoordinateConverter.h:22
void localToNetPos(const double(&localpos)[3], double(&netpos)[3]) const
These functions are useful for converting raw double values coords.
Definition: DtCoordinateSystem.h:172
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
A factory class for holding coordinate convertor creators.
Definition: DtCoordinateConverterFactory.h:23
boost::unordered_map< std::string, DtCoordinateConverter * > ConverterMap
Definition: DtCoordinateSystem.h:215
Instances of DtGeocentricCoordinateConverter provide transformations and utilities for converting bet...
Definition: DtGeocentricCoordinateConverter.h:20
Contains the DtDisplayUnitsSettingsRecord class declaration.