![]() |
VR-Forces 4.0.4 Class Documentation
|
DtCoordinateConverter is the base class for 'local (cig) to geocentric' converters. More...

Public Types | |
| typedef DtCoordinateConverter *(* | CreatorFn )() |
| Converts between generic Cartesian and geocentri. | |
Public Member Functions | |
| virtual | ~DtCoordinateConverter () |
| destructor | |
| virtual const std::string & | type () const |
| Get converter type - this base class type is NoOp. | |
| virtual DtCoordinateConverter * | clone () const =0 |
| Clone the coordinate converter;. | |
| virtual bool | init (const std::string &originstring)=0 |
| Initialize the converter based on the string. | |
| virtual std::string | stringRep ()=0 |
| Convert to string. | |
| virtual bool | zIsAlt () const |
| get whether 3rd element corresponds to altitude in this coordinate system | |
| virtual bool | usesOffsetFile () const |
| get whether Warbreaker type file needed | |
| virtual DtGeodeticCoord | databaseOrigin () const |
| get database origin (cig) Origin is (latitude, longitude, alt) in degrees and meters (alt = 0 always) | |
| virtual void | setGeocOriginOffset (const DtVector &offset) |
| set origin offset (geoc cig origin) | |
| virtual void | reset () |
| Reset the coordinate converter This function recalculates constants used for conversions. | |
| virtual const DtDcm & | nedToCigDcm () const |
| get ned to cig rotation matrix | |
| virtual const DtDcm & | cigToNedDcm () const |
| get cig to ned rotation matrix | |
| virtual const DtDcm & | geocToCigDcm () const |
| set/get geoc to cig rotation matrix | |
| virtual const DtDcm & | cigToGeocDcm () const |
| get cig to geoc rotation matrix NOTE: returns a static reference, non-reentrant | |
| virtual const DtDcm & | geocToNedDcm () const |
| set/get geoc to ned rotation matrix | |
| virtual const DtDcm & | cigToEnuDcm () const |
| get geoc to ned estimate rotation matrix *virtual const DtDcm& geocToNedEstDcm() const; | |
| virtual const DtDcm & | nedToGeocDcm () const |
| get ned to geoc rotation matrix | |
| virtual void | geocToCig (const DtVector &geoc, DtVector &out) const =0 |
| geoc coordinates to cig coordinates | |
| virtual void | cigToGeoc (const DtVector &in, DtVector &geoc) const =0 |
| cig coordinates to geoc coordinates | |
| virtual void | setupTopoFrame (const DtVector &truth) |
| Update all our transformation matrices based on the current database position. | |
| virtual void | cigToEnu_coordTrans (const DtVector &cigPos, DtVector &enuPos) const |
| convert to Enu coordinates from Cig coordinates | |
| virtual void | cigToEnu_vecTrans (const DtVector &cigVec, DtVector &enuVec) const |
| convert to Enu vector from Cig vector | |
| virtual void | enuToCig_coordTrans (const DtVector &enuPos, DtVector &cigPos) const |
| convert to Cig coordinates from Enu coordinates | |
| virtual void | enuToCig_vecTrans (const DtVector &enuVec, DtVector &cigVec) const |
| convert to Cig vector from Enu vector NOTE: returns a static reference, non-reentrant | |
| virtual DtVector & | enuToCig_vecTrans (const DtVector &origin, const DtVector &offset) const |
| provide cig coordinates given enu offset from a cig coord | |
| virtual const DtTaitBryan & | nedToCig_EulerTrans (const DtTaitBryan &topo) const |
| provide cig euler angles from topo euler NOTE: returns a static reference, non-reentrant | |
| virtual DtVector | up (const DtVector &orig) const |
| provide 'up' vector | |
| virtual void | topoSurface (const DtVector &o, DtVector &surface) const |
| fill surface with topographic coords, alt 0 | |
Static Public Member Functions | |
| static double | convertToDouble (const std::string &str) |
| static double | convertToDouble (const DtDegMinSec &dms) |
| static DtDegMinSec | convertToDmsLat (double deg) |
| static DtDegMinSec | convertToDmsLon (double deg) |
| static bool | isCoordinateSystemProjected (const std::string &csType) |
| Is the specified coordinate system type a projected type? | |
Static Public Attributes | |
| static const char * | NoOp |
| static const char * | Geocentric |
| Does no conversion. | |
| static const char * | UTM |
| Converts between geocentric database coords and. | |
| static const char * | Lambert |
| Converts between UTM and geocentric. | |
| static const char * | FlatEarth |
| Converts between Lambert and geocentric. | |
| static const char * | Cartesian |
| Converts between Flat Earth and geocentric. | |
Protected Member Functions | |
| DtCoordinateConverter (const std::string &t) | |
| constructor | |
| std::string | polarDirectionToStr (int dir) |
| Helper for converting polar direction to string representations. | |
| std::string | parseLatLng (DtDegMinSec lat, DtDegMinSec lng) |
| Return string from lat long. | |
Protected Attributes | |
| std::string | myType |
| flags | |
| bool | myUsesWarbreaker |
| bool | myZAlt |
| DtGeodeticCoord | myGeodOrigin |
| initializing system | |
| DtDcm | myNedToGeocDcm |
| topo frame DCM's | |
| DtDcm | myGeocToNedDcm |
| DtDcm | myNedToCigDcm |
| DtDcm | myCigToNedDcm |
| DtDcm | myGeocToCigDcm |
| DtDcm | myCigToGeocDcm |
| DtDcm | myCigToEnuDcm |
| const DtDcm | myNedToEnuDcm |
| DtDcm | myNed2CigEulerDcm |
| to-euler DCM's | |
| DtVector | myLastLocation |
| DtCoordTransform myGeocToNedTransform;. | |
Private Member Functions | |
| DtCoordinateConverter (const DtCoordinateConverter &orig) | |
| copy constructor | |
| DtCoordinateConverter & | operator= (const DtCoordinateConverter &orig) |
| assignment operator | |
DtCoordinateConverter is the base class for 'local (cig) to geocentric' converters.
Converts between generic Cartesian and geocentri.
| virtual makVrv::DtCoordinateConverter::~DtCoordinateConverter | ( | ) | [virtual] |
destructor
| makVrv::DtCoordinateConverter::DtCoordinateConverter | ( | const std::string & | t | ) | [protected] |
constructor
| makVrv::DtCoordinateConverter::DtCoordinateConverter | ( | const DtCoordinateConverter & | orig | ) | [private] |
copy constructor
| virtual const std::string& makVrv::DtCoordinateConverter::type | ( | ) | const [virtual] |
Get converter type - this base class type is NoOp.
| virtual DtCoordinateConverter* makVrv::DtCoordinateConverter::clone | ( | ) | const [pure virtual] |
Clone the coordinate converter;.
Implemented in makVrv::DtCartesianCoordinateConverter, makVrv::DtGeocentricCoordinateConverter, makVrv::DtLambertCoordinateConverter, makVrv::DtFlatEarthCoordinateConverter, makVrv::DtNoOpCoordinateConverter, and makVrv::DtUtmCoordinateConverter.
| virtual bool makVrv::DtCoordinateConverter::init | ( | const std::string & | originstring | ) | [pure virtual] |
Initialize the converter based on the string.
Implemented in makVrv::DtUtmCoordinateConverter, makVrv::DtCartesianCoordinateConverter, makVrv::DtLambertCoordinateConverter, makVrv::DtFlatEarthCoordinateConverter, makVrv::DtGeocentricCoordinateConverter, and makVrv::DtNoOpCoordinateConverter.
| virtual std::string makVrv::DtCoordinateConverter::stringRep | ( | ) | [pure virtual] |
| virtual bool makVrv::DtCoordinateConverter::zIsAlt | ( | ) | const [virtual] |
get whether 3rd element corresponds to altitude in this coordinate system
| virtual bool makVrv::DtCoordinateConverter::usesOffsetFile | ( | ) | const [virtual] |
get whether Warbreaker type file needed
| virtual DtGeodeticCoord makVrv::DtCoordinateConverter::databaseOrigin | ( | ) | const [virtual] |
get database origin (cig) Origin is (latitude, longitude, alt) in degrees and meters (alt = 0 always)
| virtual void makVrv::DtCoordinateConverter::setGeocOriginOffset | ( | const DtVector & | offset | ) | [inline, virtual] |
set origin offset (geoc cig origin)
| virtual void makVrv::DtCoordinateConverter::reset | ( | ) | [virtual] |
Reset the coordinate converter This function recalculates constants used for conversions.
Reimplemented in makVrv::DtLambertCoordinateConverter.
| virtual const DtDcm& makVrv::DtCoordinateConverter::nedToCigDcm | ( | ) | const [virtual] |
get ned to cig rotation matrix
| virtual const DtDcm& makVrv::DtCoordinateConverter::cigToNedDcm | ( | ) | const [virtual] |
get cig to ned rotation matrix
| virtual const DtDcm& makVrv::DtCoordinateConverter::geocToCigDcm | ( | ) | const [virtual] |
set/get geoc to cig rotation matrix
| virtual const DtDcm& makVrv::DtCoordinateConverter::cigToGeocDcm | ( | ) | const [virtual] |
get cig to geoc rotation matrix NOTE: returns a static reference, non-reentrant
| virtual const DtDcm& makVrv::DtCoordinateConverter::geocToNedDcm | ( | ) | const [virtual] |
set/get geoc to ned rotation matrix
Reimplemented in makVrv::DtGeocentricCoordinateConverter.
| virtual const DtDcm& makVrv::DtCoordinateConverter::cigToEnuDcm | ( | ) | const [virtual] |
get geoc to ned estimate rotation matrix *virtual const DtDcm& geocToNedEstDcm() const;
get cig to enu rotation matrix
| virtual const DtDcm& makVrv::DtCoordinateConverter::nedToGeocDcm | ( | ) | const [virtual] |
get ned to geoc rotation matrix
Reimplemented in makVrv::DtGeocentricCoordinateConverter.
| virtual void makVrv::DtCoordinateConverter::geocToCig | ( | const DtVector & | geoc, |
| DtVector & | out | ||
| ) | const [pure virtual] |
geoc coordinates to cig coordinates
Implemented in makVrv::DtUtmCoordinateConverter, makVrv::DtLambertCoordinateConverter, makVrv::DtCartesianCoordinateConverter, makVrv::DtFlatEarthCoordinateConverter, makVrv::DtGeocentricCoordinateConverter, and makVrv::DtNoOpCoordinateConverter.
| virtual void makVrv::DtCoordinateConverter::cigToGeoc | ( | const DtVector & | in, |
| DtVector & | geoc | ||
| ) | const [pure virtual] |
cig coordinates to geoc coordinates
Implemented in makVrv::DtUtmCoordinateConverter, makVrv::DtLambertCoordinateConverter, makVrv::DtCartesianCoordinateConverter, makVrv::DtFlatEarthCoordinateConverter, makVrv::DtGeocentricCoordinateConverter, and makVrv::DtNoOpCoordinateConverter.
| virtual void makVrv::DtCoordinateConverter::setupTopoFrame | ( | const DtVector & | truth | ) | [virtual] |
Update all our transformation matrices based on the current database position.
Reimplemented in makVrv::DtUtmCoordinateConverter, makVrv::DtCartesianCoordinateConverter, makVrv::DtGeocentricCoordinateConverter, and makVrv::DtNoOpCoordinateConverter.
| virtual void makVrv::DtCoordinateConverter::cigToEnu_coordTrans | ( | const DtVector & | cigPos, |
| DtVector & | enuPos | ||
| ) | const [virtual] |
convert to Enu coordinates from Cig coordinates
Reimplemented in makVrv::DtCartesianCoordinateConverter, and makVrv::DtGeocentricCoordinateConverter.
| virtual void makVrv::DtCoordinateConverter::cigToEnu_vecTrans | ( | const DtVector & | cigVec, |
| DtVector & | enuVec | ||
| ) | const [virtual] |
convert to Enu vector from Cig vector
Reimplemented in makVrv::DtCartesianCoordinateConverter, and makVrv::DtGeocentricCoordinateConverter.
| virtual void makVrv::DtCoordinateConverter::enuToCig_coordTrans | ( | const DtVector & | enuPos, |
| DtVector & | cigPos | ||
| ) | const [virtual] |
convert to Cig coordinates from Enu coordinates
Reimplemented in makVrv::DtCartesianCoordinateConverter, and makVrv::DtGeocentricCoordinateConverter.
| virtual void makVrv::DtCoordinateConverter::enuToCig_vecTrans | ( | const DtVector & | enuVec, |
| DtVector & | cigVec | ||
| ) | const [virtual] |
convert to Cig vector from Enu vector NOTE: returns a static reference, non-reentrant
Reimplemented in makVrv::DtCartesianCoordinateConverter, and makVrv::DtGeocentricCoordinateConverter.
| virtual DtVector& makVrv::DtCoordinateConverter::enuToCig_vecTrans | ( | const DtVector & | origin, |
| const DtVector & | offset | ||
| ) | const [virtual] |
provide cig coordinates given enu offset from a cig coord
| virtual const DtTaitBryan& makVrv::DtCoordinateConverter::nedToCig_EulerTrans | ( | const DtTaitBryan & | topo | ) | const [virtual] |
provide cig euler angles from topo euler NOTE: returns a static reference, non-reentrant
| virtual DtVector makVrv::DtCoordinateConverter::up | ( | const DtVector & | orig | ) | const [virtual] |
provide 'up' vector
| virtual void makVrv::DtCoordinateConverter::topoSurface | ( | const DtVector & | o, |
| DtVector & | surface | ||
| ) | const [virtual] |
fill surface with topographic coords, alt 0
| static double makVrv::DtCoordinateConverter::convertToDouble | ( | const std::string & | str | ) | [static] |
| static double makVrv::DtCoordinateConverter::convertToDouble | ( | const DtDegMinSec & | dms | ) | [static] |
| static DtDegMinSec makVrv::DtCoordinateConverter::convertToDmsLat | ( | double | deg | ) | [static] |
| static DtDegMinSec makVrv::DtCoordinateConverter::convertToDmsLon | ( | double | deg | ) | [static] |
| static bool makVrv::DtCoordinateConverter::isCoordinateSystemProjected | ( | const std::string & | csType | ) | [static] |
Is the specified coordinate system type a projected type?
| std::string makVrv::DtCoordinateConverter::polarDirectionToStr | ( | int | dir | ) | [protected] |
Helper for converting polar direction to string representations.
| std::string makVrv::DtCoordinateConverter::parseLatLng | ( | DtDegMinSec | lat, |
| DtDegMinSec | lng | ||
| ) | [protected] |
Return string from lat long.
| DtCoordinateConverter& makVrv::DtCoordinateConverter::operator= | ( | const DtCoordinateConverter & | orig | ) | [private] |
assignment operator
Reimplemented in makVrv::DtNoOpCoordinateConverter.
const char* makVrv::DtCoordinateConverter::NoOp [static] |
const char* makVrv::DtCoordinateConverter::Geocentric [static] |
Does no conversion.
const char* makVrv::DtCoordinateConverter::UTM [static] |
Converts between geocentric database coords and.
geocentric network coords
const char* makVrv::DtCoordinateConverter::Lambert [static] |
Converts between UTM and geocentric.
const char* makVrv::DtCoordinateConverter::FlatEarth [static] |
Converts between Lambert and geocentric.
const char* makVrv::DtCoordinateConverter::Cartesian [static] |
Converts between Flat Earth and geocentric.
std::string makVrv::DtCoordinateConverter::myType [protected] |
flags
bool makVrv::DtCoordinateConverter::myUsesWarbreaker [protected] |
bool makVrv::DtCoordinateConverter::myZAlt [protected] |
DtGeodeticCoord makVrv::DtCoordinateConverter::myGeodOrigin [protected] |
initializing system
DtDcm makVrv::DtCoordinateConverter::myNedToGeocDcm [protected] |
topo frame DCM's
DtDcm makVrv::DtCoordinateConverter::myGeocToNedDcm [protected] |
DtDcm makVrv::DtCoordinateConverter::myNedToCigDcm [protected] |
DtDcm makVrv::DtCoordinateConverter::myCigToNedDcm [protected] |
DtDcm makVrv::DtCoordinateConverter::myGeocToCigDcm [protected] |
DtDcm makVrv::DtCoordinateConverter::myCigToGeocDcm [protected] |
DtDcm makVrv::DtCoordinateConverter::myCigToEnuDcm [protected] |
const DtDcm makVrv::DtCoordinateConverter::myNedToEnuDcm [protected] |
DtDcm makVrv::DtCoordinateConverter::myNed2CigEulerDcm [protected] |
to-euler DCM's
DtCoordTransform myGeocToNedTransform;.