VR-Forces 4.1.1 Class Documentation
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtLambertCoordinateConverter Class Reference

Instances of vpNetLambertCoordConverter provide transformations and utilities for converting between Cig and Lambert Conformal Conic database coordinates. More...

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

Public Member Functions

 DtLambertCoordinateConverter ()
 default constructor
virtual ~DtLambertCoordinateConverter ()
 destructor
virtual DtCoordinateConverterclone () const
 Clone the converter.
virtual void init (double lat, double lon, double par1, double par2)
 Initialize the projection with the given the origin's latitude and longitude, and the standard parallel latitudes.
virtual void init (DtDegMinSec lat, DtDegMinSec lon, DtDegMinSec par1, DtDegMinSec par2)
 Initialize the projection with the given origin latitude and longitude, and standard parallel latitudes.
virtual void init (const DtGeodeticCoord &origin, double par1, double par2)
 Initialize the projection with the given origin and standard parallel latitudes.
virtual bool init (const std::string &latlonstring)
 Initialize the projection with the given string The format is "latitude,longitude,standard_parallel1,standard_parallel2" where the format for each value is "deg:min:sec:[N|S|E|W]" for example: "35:59:59.991:N,123:0:0.131:W,36:0:0:N,34:0:0:0:N".
virtual std::string stringRep ()
 Convert to string.
virtual void reset ()
 Reset coordinate system Recalculates parameters needed for conversions.
virtual const DtGeodeticCoord & origin () const
 Get origin.
virtual double parallel1 () const
 Get north parallel.
virtual double parallel2 () const
 Get south parallel.
virtual const DtReal lambda0 () const
virtual const DtReal phi0 () const
virtual const DtReal phi1 () const
virtual const DtReal phi2 () const
virtual void geocToCig (const DtVector &geoc, DtVector &out) const
 geoc coordinates to cig coordinates
virtual void cigToGeoc (const DtVector &in, DtVector &geoc) const
 cig coordinates to geoc coordinates
virtual void calcIntermediateParameters (DtReal *n, DtReal *F, DtReal *p0)
 convenience routine
- Public Member Functions inherited from makVrv::DtCoordinateConverter
virtual ~DtCoordinateConverter ()
 destructor
virtual const std::string & type () const
 Get converter type - this base class type is NoOp.
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 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 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 DtCoordinateConvertercreate ()
- Static Public Member Functions inherited from makVrv::DtCoordinateConverter
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?

Protected Member Functions

std::string parseLambert (DtDegMinSec lat, DtDegMinSec lng, DtDegMinSec par1, DtDegMinSec par2)
 Return the string rep for these values.
- Protected Member Functions inherited from makVrv::DtCoordinateConverter
 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

double myParallel1
double myParallel2
DtReal a
 the projection requires
DtReal b
 semi-major axis of the ellipsoid of reference
DtReal e
 semi-minor axis of the ellipsoid of reference
DtReal myPhi0
 eccentricity of the ellipsoid (1 - b^2/a^2)^ (1/2)
DtReal myPhi1
 middle latitude
DtReal myPhi2
DtReal myLambda0
 standard parallels of latitude
DtReal n
 longitude east of Greenwich of the central meridian of the map
DtReal F
 intermediate parameters: don't rely on phi and lambda
DtReal p0
- Protected Attributes inherited from makVrv::DtCoordinateConverter
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

 DtLambertCoordinateConverter (const DtLambertCoordinateConverter &orig)
 copy constructor
DtLambertCoordinateConverteroperator= (const DtLambertCoordinateConverter &orig)
 assignment operator

Additional Inherited Members

- Public Types inherited from makVrv::DtCoordinateConverter
typedef DtCoordinateConverter *(* CreatorFn )()
 Converts between generic Cartesian and geocentri.
- Static Public Attributes inherited from makVrv::DtCoordinateConverter
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.

Detailed Description

Instances of vpNetLambertCoordConverter provide transformations and utilities for converting between Cig and Lambert Conformal Conic database coordinates.

Constructor & Destructor Documentation

makVrv::DtLambertCoordinateConverter::DtLambertCoordinateConverter ( )

default constructor

virtual makVrv::DtLambertCoordinateConverter::~DtLambertCoordinateConverter ( )
virtual

destructor

makVrv::DtLambertCoordinateConverter::DtLambertCoordinateConverter ( const DtLambertCoordinateConverter orig)
private

copy constructor

Member Function Documentation

virtual DtCoordinateConverter* makVrv::DtLambertCoordinateConverter::clone ( ) const
virtual

Clone the converter.

Implements makVrv::DtCoordinateConverter.

virtual void makVrv::DtLambertCoordinateConverter::init ( double  lat,
double  lon,
double  par1,
double  par2 
)
virtual

Initialize the projection with the given the origin's latitude and longitude, and the standard parallel latitudes.

virtual void makVrv::DtLambertCoordinateConverter::init ( DtDegMinSec  lat,
DtDegMinSec  lon,
DtDegMinSec  par1,
DtDegMinSec  par2 
)
virtual

Initialize the projection with the given origin latitude and longitude, and standard parallel latitudes.

virtual void makVrv::DtLambertCoordinateConverter::init ( const DtGeodeticCoord &  origin,
double  par1,
double  par2 
)
virtual

Initialize the projection with the given origin and standard parallel latitudes.

virtual bool makVrv::DtLambertCoordinateConverter::init ( const std::string &  latlonstring)
virtual

Initialize the projection with the given string The format is "latitude,longitude,standard_parallel1,standard_parallel2" where the format for each value is "deg:min:sec:[N|S|E|W]" for example: "35:59:59.991:N,123:0:0.131:W,36:0:0:N,34:0:0:0:N".

Implements makVrv::DtCoordinateConverter.

virtual std::string makVrv::DtLambertCoordinateConverter::stringRep ( )
virtual

Convert to string.

Implements makVrv::DtCoordinateConverter.

virtual void makVrv::DtLambertCoordinateConverter::reset ( )
virtual

Reset coordinate system Recalculates parameters needed for conversions.

Reimplemented from makVrv::DtCoordinateConverter.

virtual const DtGeodeticCoord& makVrv::DtLambertCoordinateConverter::origin ( ) const
virtual

Get origin.

virtual double makVrv::DtLambertCoordinateConverter::parallel1 ( ) const
virtual

Get north parallel.

virtual double makVrv::DtLambertCoordinateConverter::parallel2 ( ) const
virtual

Get south parallel.

virtual const DtReal makVrv::DtLambertCoordinateConverter::lambda0 ( ) const
virtual
virtual const DtReal makVrv::DtLambertCoordinateConverter::phi0 ( ) const
virtual
virtual const DtReal makVrv::DtLambertCoordinateConverter::phi1 ( ) const
virtual
virtual const DtReal makVrv::DtLambertCoordinateConverter::phi2 ( ) const
virtual
virtual void makVrv::DtLambertCoordinateConverter::geocToCig ( const DtVector geoc,
DtVector out 
) const
virtual

geoc coordinates to cig coordinates

Implements makVrv::DtCoordinateConverter.

virtual void makVrv::DtLambertCoordinateConverter::cigToGeoc ( const DtVector in,
DtVector geoc 
) const
virtual

cig coordinates to geoc coordinates

Implements makVrv::DtCoordinateConverter.

virtual void makVrv::DtLambertCoordinateConverter::calcIntermediateParameters ( DtReal *  n,
DtReal *  F,
DtReal *  p0 
)
virtual

convenience routine

static DtCoordinateConverter* makVrv::DtLambertCoordinateConverter::create ( )
static
std::string makVrv::DtLambertCoordinateConverter::parseLambert ( DtDegMinSec  lat,
DtDegMinSec  lng,
DtDegMinSec  par1,
DtDegMinSec  par2 
)
protected

Return the string rep for these values.

For example: "35:59:59.991:N,123:0:0.131:W,36:0:0:N,34:0:0:0:N"

DtLambertCoordinateConverter& makVrv::DtLambertCoordinateConverter::operator= ( const DtLambertCoordinateConverter orig)
private

assignment operator

Member Data Documentation

double makVrv::DtLambertCoordinateConverter::myParallel1
protected
double makVrv::DtLambertCoordinateConverter::myParallel2
protected
DtReal makVrv::DtLambertCoordinateConverter::a
protected

the projection requires

DtReal makVrv::DtLambertCoordinateConverter::b
protected

semi-major axis of the ellipsoid of reference

DtReal makVrv::DtLambertCoordinateConverter::e
protected

semi-minor axis of the ellipsoid of reference

DtReal makVrv::DtLambertCoordinateConverter::myPhi0
protected

eccentricity of the ellipsoid (1 - b^2/a^2)^ (1/2)

DtReal makVrv::DtLambertCoordinateConverter::myPhi1
protected

middle latitude

DtReal makVrv::DtLambertCoordinateConverter::myPhi2
protected
DtReal makVrv::DtLambertCoordinateConverter::myLambda0
protected

standard parallels of latitude

DtReal makVrv::DtLambertCoordinateConverter::n
protected

longitude east of Greenwich of the central meridian of the map

DtReal makVrv::DtLambertCoordinateConverter::F
protected

intermediate parameters: don't rely on phi and lambda

DtReal makVrv::DtLambertCoordinateConverter::p0
protected

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

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)