![]() |
VR-Link API Documentation for HLA Evolved
|
The matrix library contains classes and functions for common math operations used in modeling and simulation. More...
Collaboration diagram for The VR-Link Math Library (matrix):Classes | |
| class | Dt3dBoundingVolume |
| A 3d bounding volume. More... | |
| class | Dt3dChord |
| A Dt3dChord is a finite line segment in 3-space, represented by its two 3d end points. More... | |
| class | Dt3dExtent |
| The Dt3dExtent represents an axis-aligned 3d bounding box. More... | |
| class | Dt4dPoint |
| Four-dimensional point, often used with homogeneous coordinates. More... | |
| class | DtCoordTransform |
| DtCoordTransform is used to transform locations, vectors and orientations from one Cartesian coordinate system to another. More... | |
| class | DtCoordTranslation |
| This class is used to translate between two points in Cartesian coordinate system. More... | |
| class | DtDirectedRotRate |
| Rotation rate given by single rate and axis of rotation. More... | |
| class | DtGeodeticCoord |
| Instances of DtGeodeticCoord are used to explicitly represent Geodetic coordinates. More... | |
| class | DtSpheroid |
| DtSpheroid represents an ellipsoid model of the earth. More... | |
| class | DtMapDatum |
| DtMapDatums represent a spheroid model of the earth, with a data shift to facilitate easy conversion to geocentric systems. More... | |
| class | DtReferenceEllipsoid |
| Instances of this class are used to store a particular mapDatum and perform useful calculations based on this map – specifically it can be used to convert between geodetic and geocentric coordinates using the given reference ellipsoid (which is defined by a DtMapDatum). More... | |
| class | DtUtmCoord |
| Instances of DtUtmCoord are used to represent UTM coordinates. More... | |
| class | DtDegMinSec |
| DtDegMinSec is a flyweight data class used to represent a a complex location for latitude or longitude in Degrees, Minutes, Seconds, and Direction where positive direction is north and west. More... | |
| class | DtUtmReferencePoint |
| DtUtmReferencePoints are used to represent an independent reference point for a UTM coordinate system. More... | |
| class | DtDcm |
| DtDcms are used to represent orientation for an object. More... | |
| class | DtQuaternion |
| Quaternions are used to represent orientation of an object. More... | |
| class | DtTaitBryan |
| DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles. More... | |
| class | DtVectorT< T > |
| DtVectors represent vectors in 3-d space, X, Y, Z. More... | |
| class | DtNetVector32 |
| A Network Byte Order layout using 32 bit floats for DtVector. More... | |
| class | DtNetVector64 |
| A Network Byte Order layout using 64 bit floats for DtVector. More... | |
Namespaces | |
| GeographicLib | |
| The DtGeoidDatum class represents a geoid model of the Earth, where the model reflects the shape that the ocean surface would take under the influence of the gravity and rotation of the Earth. | |
Files | |
| file | 3dBoundingVolume.h |
| This file declares Dt3dBoundingVolume. | |
| file | 3dChord.h |
| This file declares Dt3dChord. | |
| file | 3dExtent.h |
| This file declares Dt3dExtent. | |
| file | 3dPoint.h |
| This file declares Dt3dPoint. | |
| file | 4dPoint.h |
| This file declares Dt4dPoint. | |
| file | coordTransform.h |
| This file provides a declaration for DtCoordTransform. | |
| file | coordTranslation.h |
| This file provides a declaration of the class DtCoordTranslation. | |
| file | dcm.h |
| This file is deprecated - please see vlDcm.h. | |
| file | directedRotRate.h |
| This file declares DtDirectedRotRate. | |
| file | Euler.h |
| This file is deprecated - please see vlTaitBryan.h. | |
| file | geodeticCoord.h |
| This file provides a definition of GeodeticCoords and several helper functions. | |
| file | geoidDatum.h |
| This file contains the declaration of the DtGeoidDatum class as well as commonly used geoids. | |
| file | LibMatrix.h |
| This file exists to provide backwards compatibility only, and may be removed in a future release. | |
| file | mapDatum.h |
| This file contains the declaration of the DtMapDatum class as well as commonly used DtMapDatums. | |
| file | mathTypes.h |
| This file has been deprecated, please use vlMath.h. | |
| file | referenceEllipsoid.h |
| This file contains the declaration of DtReferenceEllipsoid and several helper functions. | |
| file | taitBryan.h |
| This file is deprecated - please see vlTaitBryan.h. | |
| file | topoCoord.h |
| This file contains useful functions for geocentric to topographic conversions. | |
| file | utmCoord.h |
| This file declares DtUtmCoord. | |
| file | utmReferencePoint.h |
| This file declares DtDegMinSec and DtUtmReferencePoint. | |
| file | vlDcm.h |
| This file declares DtDcm and several helper classes and functions. | |
| file | vlMath.h |
| This file defines math constants and methods which may be useful in simulations. | |
| file | vlQuaternion.h |
| This file contains the definition of DtQuaternion as well as many functions which operate on DtQuaternions. | |
| file | vlTaitBryan.h |
| This file declares DtTaitBryan. | |
| file | vlVector.h |
| This file declares DtVector and DtVector32. | |
Enumerations | |
| enum | DtVectorOffset { DtX, DtY, DtZ } |
| A simple enumeration to represent Vector Offsets. More... | |
Functions | |
| void | DtGeocentricToMgFlatEarth (const DtVector &in, DtVector &out, const DtFloat64 &refLat, DtFloat64 &refLon) const |
| Preforms Multigen Flat Earth transforms from Geocentric Coordinates. More... | |
| void | DtEulerToEuler (const DtTaitBryan &in, const DtDcm &in2out, DtTaitBryan *out) |
| Given Euler angles with respect to reference frame "in", and the transformation matrix between frame "in" and frame "out", produce the Euler angles with respect to reference frame "out". More... | |
| std::ostream & | operator<< (std::ostream &str, const DtTaitBryan &sr) |
| DtVector | operator+ (const DtVector &v1, const DtVector &v2) |
| implements v1 + v2 More... | |
| DtVector | operator- (const DtVector &v1, const DtVector &v2) |
| implemented v1 - v2 More... | |
| void | DtVecScale (const DtVector &v, double scale_factor, DtVector &result) |
| void | DtVecNeg (const DtVector &v1, DtVector &result) |
| double | DtVecCosProd (const DtVector &v1, const DtVector &v2) |
| result = -vec More... | |
| double | DtVecBoxProd (const DtVector &v1, const DtVector &v2, const DtVector &v3) |
| sweep v1 to v2 to v3 More... | |
| void | DtVecDcmMul (const DtVector &v, const DtDcm &m, DtVector &result) |
| Multiplies a vector by a matrix and stores the result. More... | |
| void | DtVV_Product (const DtVector &a, const DtVector &b, DtDcm &ans) |
| double | DtVecInfNorm (const DtVector &v1) |
| void | DtVecInit (DtVector &v) |
| DtVector | DtLerpVector (DtVector va, DtVector vb, double t) |
| Initialize to all zeros. More... | |
| void | DtVecCopy (const DtVector &from, DtVector &to) |
| int | DtVecCheck (const DtVector &v) |
| void | DtVecNormalize (const DtVector &v, DtVector &result) |
| void | DtVecCrossProd (const DtVector &v1, const DtVector &v2, DtVector &result) |
| double | DtVecDotProd (const DtVector &v1, const DtVector &v2) |
| void | DtVecDump (const char *str, const DtVector &v) |
| void | DtVecSub (const DtVector &v1, const DtVector &v2, DtVector &result) |
| void | DtVecAdd (const DtVector &v1, const DtVector &v2, DtVector &result) |
| DtVector | DtVelocityFromAToB (const DtVector &a, const DtVector &b, double time) |
| DtVelocityFromAToB() Returns velocity you would need to be traveling at to get from point A to point B in t seconds. More... | |
| double | DtHeadingFromAToB (const DtVector &a, const DtVector &b) |
| Expects UTM coordinates. More... | |
| double | DtDistance (const DtVector &p1, const DtVector &p2) |
| double | DtDistSqr (const DtVector &p1, const DtVector &p2) |
| DtVector64 | DtVector32To64 (const DtVector32 &v32) |
| Convert between DtVector64 and DtVector32. More... | |
Variables | |
| DtThreeIndex | DtLevi_Civita |
| void | DtEuler_to_BodyToRef (const DtTaitBryan &euler, DtDcm &body2ref) |
| void | DtEuler_to_RefToBody (const DtTaitBryan &euler, DtDcm &ref2body) |
| void | DtBodyToRef_to_Euler (const DtDcm &body2ref, DtTaitBryan *euler) |
| void | DtRefToBody_to_Euler (const DtDcm &ref2body, DtTaitBryan *euler) |
The matrix library contains classes and functions for common math operations used in modeling and simulation.
| enum DtVectorOffset |
| void DtBodyToRef_to_Euler | ( | const DtDcm & | body2ref, |
| DtTaitBryan * | euler | ||
| ) |
Given the transformation matrix that converts from a body frame to a reference frame (or visa-versa), produce the TaitBryan angles between the body and the reference frames.
| void DtEuler_to_BodyToRef | ( | const DtTaitBryan & | euler, |
| DtDcm & | body2ref | ||
| ) |
Given TaitBryan angles between a body and a reference frame, produce the transformation matrix that converts from the body frame to the reference frame (or visa-versa).
| void DtEuler_to_RefToBody | ( | const DtTaitBryan & | euler, |
| DtDcm & | ref2body | ||
| ) |
Given TaitBryan angles between a body and a reference frame, produce the transformation matrix that converts from the body frame to the reference frame (or visa-versa).
| void DtEulerToEuler | ( | const DtTaitBryan & | in, |
| const DtDcm & | in2out, | ||
| DtTaitBryan * | out | ||
| ) |
Given Euler angles with respect to reference frame "in", and the transformation matrix between frame "in" and frame "out", produce the Euler angles with respect to reference frame "out".
|
inline |
Preforms Multigen Flat Earth transforms from Geocentric Coordinates.
The Multigen Flat Earth projection is a bit of a special case (its not treated in the same way a UTM projection is). It assumes the earth is spherical, with the radius given below. This function converts a given location from geocentric to flat-earth coordinates.
References DtGeodeticCoord::alt(), DtRad2Deg(), DtGeodeticCoord::lat(), DtGeodeticCoord::lon(), M_PI, DtGeodeticCoord::setGeocentric(), DtVectorT< T >::setX(), DtVectorT< T >::setY(), and DtVectorT< T >::setZ().
Expects UTM coordinates.
Standing at point A, returns the heading along which you would need to be looking to be facing point B.
Initialize to all zeros.
Linearly interpolates between two points. Inputs are start, stop, and percentage (0..1).
| void DtRefToBody_to_Euler | ( | const DtDcm & | ref2body, |
| DtTaitBryan * | euler | ||
| ) |
Given the transformation matrix that converts from a body frame to a reference frame (or visa-versa), produce the TaitBryan angles between the body and the reference frames.
sweep v1 to v2 to v3
result = -vec
cos of angle between v1 and V2
Multiplies a vector by a matrix and stores the result.
| void DtVecDump | ( | const char * | str, |
| const DtVector & | v | ||
| ) |
| void DtVecInit | ( | DtVector & | v | ) |
| DtVector64 DtVector32To64 | ( | const DtVector32 & | v32 | ) |
Convert between DtVector64 and DtVector32.
DtVelocityFromAToB() Returns velocity you would need to be traveling at to get from point A to point B in t seconds.
Independent of coordinate system.
| std::ostream& operator<< | ( | std::ostream & | str, |
| const DtTaitBryan & | sr | ||
| ) |
| DtThreeIndex DtLevi_Civita |