![]() |
VR-Forces Developer's Guide
|
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 DtCoordinateSystem & | myCoordinateSystem |
| DtDcm | myReferenceToTopoDcm |
| DtDcm | myTopoToReferenceDcm |
Private Member Functions | |
| DtGeoReference () | |
| 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)
|
private |
| 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.
|
protected |
|
protected |
DCMs to rotate between topo and reference systems.
|
protected |
DCMs to rotate between topo and reference systems.
|
protected |
|
protected |
|
protected |
|
protected |