VR-Forces Developer's Guide
 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. 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.

Public Member Functions

 DtGeoReference (const DtCoordinateSystem &coordinateSystem)
 
 DtGeoReference (const DtGeodeticCoord &location, const DtTaitBryan &orientation, const DtCoordinateSystem &coordinateSystem)
 
void setLocationAndOrientation (const DtGeodeticCoord &geodeticLocation, const DtTaitBryan &topoOrientation)
 
void setGeodeticLocation (const DtGeodeticCoord &geodeticLocation)
 
void getGeodeticLocation (DtGeodeticCoord &geodeticLocation)
 
void setTopoOrientation (const DtTaitBryan &orientation)
 
void getTopoOrientation (DtTaitBryan &orientation)
 
void geodeticToTopo (const DtGeodeticCoord &geodeticLocationIn, const DtTaitBryan &topoOrientationIn, DtVector &topoLocationOut, DtTaitBryan &topoOrientationOut)
 
void topoToGeodetic (const DtVector &topoLocationIn, const DtTaitBryan &topoOrientationIn, DtGeodeticCoord &geodeticLocationOut, DtTaitBryan &topoOrientationOut)
 
void refVecToTopoVec (const DtVector &inVec, DtVector &topoVec)
 
void topoVecToRefVec (const DtVector &inVec, DtVector &refVec)
 

Protected Member Functions

void calculateMatrices ()
 

Protected Attributes

DtTaitBryan myTopoOrientation
 
DtVector myReferenceBaseLocation
 
DtGeodeticCoord myGeodeticLocation
 
const DtCoordinateSystemmyCoordinateSystem
 
DtDcm myReferenceToTopoDcm
 
DtDcm myTopoToReferenceDcm
 

Private Member Functions

 DtGeoReference ()
 

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)

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

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)

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::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 
)

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

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 
)

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

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

DCMs to rotate between topo and reference systems.

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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)