15 #include <matrix/vlVector.h>
16 #include <boost/unordered_map.hpp>
25 class DtNoOpCoordinateConverter;
26 class DtFlatEarthCoordinateConverter;
27 class DtGeocentricCoordinateConverter;
28 class DtUtmCoordinateConverter;
29 class DtCartesianCoordinateConverter;
30 class DtLambertCoordinateConverter;
31 class DtCoordinateConverterFactory;
32 class DtCoordinateConverter;
34 class DtCoordinateDisplay;
35 class DtCoordinateDisplayCollection;
36 class DtUnitConverterCollection;
61 const std::string& type()
const;
66 bool isGeocentric()
const;
69 const std::string& parameters()
const;
73 bool set(
const std::string& type,
const std::string&
origin);
131 void setUseTopoForFlatEarthVectorConversion(
bool flag );
132 bool useTopoForFlatEarthVectorConversion()
const;
135 const DtMapDatum& datum()
const;
140 void setDatum(
const DtMapDatum& datum);
146 void netToLocalVec(
const DtVector& localpos,
const DtVector32& netvec, DtVector32& localvec)
const;
147 void netToLocalOri(
const DtVector& localpos,
const DtTaitBryan& netori, DtTaitBryan& localori)
const;
148 void netToLocalHpr(
const DtVector& localpos,
const DtTaitBryan& netori, DtTaitBryan& localhpr)
const;
149 void netBodyToLocalBody(
const DtVector& localpos,
const DtDcm& netdcm, DtDcm& localdcm)
const;
164 void netToLocalOri(
const double localpos[3],
const double netori[3],
double localori[3])
const;
169 void localToNetOri(
const DtVector& localpos,
const DtTaitBryan& localori, DtTaitBryan& netori)
const;
171 void localToNetVec(
const DtVector& localpos,
const DtVector32& localvec, DtVector32& netvec)
const;
174 inline void localToNetPos(
const double (&localpos)[3],
double (&netpos)[3])
const
177 memcpy(&localpos_v,localpos,
sizeof(localpos));
179 localToNetPos( localpos_v, netpos_v);
180 memcpy(netpos,&netpos_v,
sizeof(netpos));
184 void localToNetOri(
const double localpos[3],
const double localori[3],
double netori[3])
const;
194 static void setCreator(CoordinateSystemCreatorFn fn);
211 typedef boost::unordered_map<std::string, DtCoordinateConverter*>
ConverterMap;