VR-Forces 4.0.4 Class Documentation
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtCoordinateConverter Class Reference

DtCoordinateConverter is the base class for 'local (cig) to geocentric' converters. More...

Inheritance diagram for makVrv::DtCoordinateConverter:
Inheritance graph
[legend]

List of all members.

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 DtCoordinateConverterclone () 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 DtVectorenuToCig_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
DtCoordinateConverteroperator= (const DtCoordinateConverter &orig)
 assignment operator

Detailed Description

DtCoordinateConverter is the base class for 'local (cig) to geocentric' converters.


Member Typedef Documentation

Converts between generic Cartesian and geocentri.


Constructor & Destructor Documentation

destructor

makVrv::DtCoordinateConverter::DtCoordinateConverter ( const std::string &  t) [protected]

constructor

copy constructor


Member Function Documentation

virtual const std::string& makVrv::DtCoordinateConverter::type ( ) const [virtual]

Get converter type - this base class type is NoOp.

virtual bool makVrv::DtCoordinateConverter::init ( const std::string &  originstring) [pure virtual]
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

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]
virtual void makVrv::DtCoordinateConverter::cigToGeoc ( const DtVector in,
DtVector geoc 
) const [pure virtual]
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.


Member Data Documentation

Does no conversion.

const char* makVrv::DtCoordinateConverter::UTM [static]

Converts between geocentric database coords and.

geocentric network coords

Converts between UTM and geocentric.

Converts between Lambert and geocentric.

Converts between Flat Earth and geocentric.

std::string makVrv::DtCoordinateConverter::myType [protected]

flags

DtGeodeticCoord makVrv::DtCoordinateConverter::myGeodOrigin [protected]

initializing system

topo frame DCM's

to-euler DCM's

DtCoordTransform myGeocToNedTransform;.


The documentation for this class was generated from the following file:

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)