VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtGeoReference Class Reference

The DtGeoReference class provides a mechanism to convert between geodetic coordinates and topocentric coordinates. More...

Public Member Functions

 DtGeoReference (const DtCoordinateSystem &coordinateSystem)
 
 DtGeoReference (const DtGeodeticCoord &location, const DtTaitBryan &orientation, const DtCoordinateSystem &coordinateSystem)
 Location is in geocentric, orientation is in topocentric YPR (North East Down) More...
 
void setLocationAndOrientation (const DtGeodeticCoord &geodeticLocation, const DtTaitBryan &topoOrientation)
 Set location and orientation together. More...
 
void setGeodeticLocation (const DtGeodeticCoord &geodeticLocation)
 Set/get the location of the georeference; this calls setLocationAndOrientation with a topo orientation of 0,0,0. More...
 
void getGeodeticLocation (DtGeodeticCoord &geodeticLocation)
 
void setTopoOrientation (const DtTaitBryan &orientation)
 Set/get orientation Yaw / pitch/ roll (North East Down) based on a local coordinate system at the georeferenvce location; results are undefined if this is called before setLocation or setLocationAndOrientation has been called. More...
 
void getTopoOrientation (DtTaitBryan &orientation)
 
void geodeticToTopo (const DtGeodeticCoord &geodeticLocationIn, const DtTaitBryan &topoOrientationIn, DtVector &topoLocationOut, DtTaitBryan &topoOrientationOut)
 Convert location and orientation between the geodetic reference and the topocentric coordinate system positioned at the GeoReferenced location and orientation. More...
 
void topoToGeodetic (const DtVector &topoLocationIn, const DtTaitBryan &topoOrientationIn, DtGeodeticCoord &geodeticLocationOut, DtTaitBryan &topoOrientationOut)
 
void refVecToTopoVec (const DtVector &inVec, DtVector &topoVec)
 Convert a vector between the geodetic reference and the topocentric coordinate system positioned at the GeoReferenced location and orientation. More...
 
void topoVecToRefVec (const DtVector &inVec, DtVector &refVec)
 

Protected Member Functions

void calculateMatrices ()
 

Protected Attributes

DtTaitBryan myTopoOrientation
 
DtVector myReferenceBaseLocation
 
DtGeodeticCoord myGeodeticLocation
 
const DtCoordinateSystemmyCoordinateSystem
 
DtDcm myReferenceToTopoDcm
 DCMs to rotate between topo and reference systems. More...
 
DtDcm myTopoToReferenceDcm
 

Private Member Functions

 DtGeoReference ()
 

Detailed Description

The DtGeoReference class provides a mechanism to convert between geodetic coordinates and topocentric coordinates.

By using geodetic location (and topocentric orientation), the class can be used independently of the coordinate system used by VR-Vantage. A common usage is to create a GeoReference at the location and orientation of an entity; then use the geodeticToTopo() method with the location and orientation of a second object to express that object in the first's topocentric system

Constructor & Destructor Documentation

makVrv::DtGeoReference::DtGeoReference ( const DtCoordinateSystem coordinateSystem)
makVrv::DtGeoReference::DtGeoReference ( const DtGeodeticCoord &  location,
const DtTaitBryan &  orientation,
const DtCoordinateSystem coordinateSystem 
)

Location is in geocentric, orientation is in topocentric YPR (North East Down)

makVrv::DtGeoReference::DtGeoReference ( )
private

Member Function Documentation

void makVrv::DtGeoReference::setGeodeticLocation ( const DtGeodeticCoord &  geodeticLocation)

Set/get the location of the georeference; this calls setLocationAndOrientation with a topo orientation of 0,0,0.

void makVrv::DtGeoReference::getGeodeticLocation ( DtGeodeticCoord &  geodeticLocation)
void makVrv::DtGeoReference::setTopoOrientation ( const DtTaitBryan &  orientation)

Set/get orientation Yaw / pitch/ roll (North East Down) based on a local coordinate system at the georeferenvce location; results are undefined if this is called before setLocation or setLocationAndOrientation has been called.

void makVrv::DtGeoReference::getTopoOrientation ( DtTaitBryan &  orientation)
void makVrv::DtGeoReference::setLocationAndOrientation ( const DtGeodeticCoord &  geodeticLocation,
const DtTaitBryan &  topoOrientation 
)

Set location and orientation together.

This is a little faster than calling both setGeodeticLocation and setTopoOrientation both, since it can recalculate all the matrices once

void makVrv::DtGeoReference::geodeticToTopo ( const DtGeodeticCoord &  geodeticLocationIn,
const DtTaitBryan &  topoOrientationIn,
DtVector topoLocationOut,
DtTaitBryan &  topoOrientationOut 
)

Convert location and orientation between the geodetic reference and the topocentric coordinate system positioned at the GeoReferenced location and orientation.

void makVrv::DtGeoReference::topoToGeodetic ( const DtVector topoLocationIn,
const DtTaitBryan &  topoOrientationIn,
DtGeodeticCoord &  geodeticLocationOut,
DtTaitBryan &  topoOrientationOut 
)
void makVrv::DtGeoReference::refVecToTopoVec ( const DtVector inVec,
DtVector topoVec 
)

Convert a vector between the geodetic reference and the topocentric coordinate system positioned at the GeoReferenced location and orientation.

void makVrv::DtGeoReference::topoVecToRefVec ( const DtVector inVec,
DtVector refVec 
)
void makVrv::DtGeoReference::calculateMatrices ( )
protected

Member Data Documentation

DtDcm makVrv::DtGeoReference::myReferenceToTopoDcm
protected

DCMs to rotate between topo and reference systems.

DtDcm makVrv::DtGeoReference::myTopoToReferenceDcm
protected
DtTaitBryan makVrv::DtGeoReference::myTopoOrientation
protected
DtVector makVrv::DtGeoReference::myReferenceBaseLocation
protected
DtGeodeticCoord makVrv::DtGeoReference::myGeodeticLocation
protected
const DtCoordinateSystem& makVrv::DtGeoReference::myCoordinateSystem
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)