VR-Link API Documentation for DIS
Classes | Files | Enumerations | Functions | Variables
The VR-Link Math Library (matrix)

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  DtVector
 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...

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  directRotRate.h
 This file declares DtDirectedRotRate.
file  Euler.h
 This file is deprecated - please see vlTaitBryan.h.
file  geodCoord.h
 This file provides a definition of GeodeticCoords and several helper functions.
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  refEllipsoid.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  utmRefPt.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.

Enumerations

enum  DtVectorOffset { DtX, DtY, DtZ }
 A simple enumeration to represent Vector Offsets. More...

Functions

void DtGocentricToMgFlatEarth (const DtVector &in, DtVector &out, const DtFloat64 &refLat, DtFloat64 &refLon) const
 Preforms Multigen Flat Earth transforms from Geocentric Coordinates.
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".
std::ostream & operator<< (std::ostream &str, const DtTaitBryan &sr)
DtVector operator+ (const DtVector &v1, const DtVector &v2)
 implements v1 + v2
DtVector operator- (const DtVector &v1, const DtVector &v2)
 implemented v1 - v2
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
double DtVecBoxProd (const DtVector &v1, const DtVector &v2, const DtVector &v3)
 sweep v1 to v2 to v3
void DtVecDcmMul (const DtVector &v, const DtDcm &m, DtVector &result)
 Multiplies a vector by a matrix and stores the result.
void DtVV_Product (const DtVector &a, const DtVector &b, DtDcm &ans)
double DtVecInfNorm (const DtVector &v1)
void DtVecInit (DtVector &v)
void DtVecCopy (const DtVector &from, DtVector &to)
 Initialize to all zeros.
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.
double DtHeadingFromAToB (const DtVector &a, const DtVector &b)
 Expects UTM coordinates.
double DtDistance (const DtVector &p1, const DtVector &p2)
double DtDistSqr (const DtVector &p1, const DtVector &p2)

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)

Detailed Description

The matrix library contains classes and functions for common math operations used in modeling and simulation.

Enumeration Type Documentation

A simple enumeration to represent Vector Offsets.

Enumerator:
DtX 
DtY 
DtZ 

Function Documentation

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.

double DtDistance ( const DtVector p1,
const DtVector p2 
)
double DtDistSqr ( const DtVector p1,
const DtVector p2 
)
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".

void DtGocentricToMgFlatEarth ( const DtVector in,
DtVector out,
const DtFloat64 refLat,
DtFloat64 refLon 
) const
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(), DtVector::setX(), DtVector::setY(), and DtVector::setZ().

double DtHeadingFromAToB ( const DtVector a,
const DtVector b 
)

Expects UTM coordinates.

Standing at point A, returns the heading along which you would need to be looking to be facing point B.

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.

void DtVecAdd ( const DtVector v1,
const DtVector v2,
DtVector result 
)
Deprecated:
DtVecAdd is deprecated, use operator+ or DtVector::operator+= instead
double DtVecBoxProd ( const DtVector v1,
const DtVector v2,
const DtVector v3 
)

sweep v1 to v2 to v3

int DtVecCheck ( const DtVector v)
Deprecated:
DtVecCheck is deprecated, use vec.isNormalized();
void DtVecCopy ( const DtVector from,
DtVector to 
)

Initialize to all zeros.

Deprecated:
DtVecCopy is deprecated, use the operator=() function.
double DtVecCosProd ( const DtVector v1,
const DtVector v2 
)

result = -vec

cos of angle between v1 and V2

void DtVecCrossProd ( const DtVector v1,
const DtVector v2,
DtVector result 
)
Deprecated:
DtVecCrossProd is deprecated, use v1.crossProduct(v2);
void DtVecDcmMul ( const DtVector v,
const DtDcm m,
DtVector result 
)

Multiplies a vector by a matrix and stores the result.

double DtVecDotProd ( const DtVector v1,
const DtVector v2 
)
Deprecated:
DtVecDotProd is deprecated, use v1.dotProd(v2)
void DtVecDump ( const char *  str,
const DtVector v 
)
Deprecated:
DtVecDump, use DtPrintAttribute, or the ostream operator for DtVector.
double DtVecInfNorm ( const DtVector v1)
void DtVecInit ( DtVector v)
void DtVecNeg ( const DtVector v1,
DtVector result 
)
void DtVecNormalize ( const DtVector v,
DtVector result 
)
Deprecated:
DtVecNormalize is deprecated, use v.normalize();
void DtVecScale ( const DtVector v,
double  scale_factor,
DtVector result 
)
void DtVecSub ( const DtVector v1,
const DtVector v2,
DtVector result 
)
Deprecated:
DtVecSub is deprecated, use operator- or DtVector::operator-= instead
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.

Independent of coordinate system.

void DtVV_Product ( const DtVector a,
const DtVector b,
DtDcm ans 
)
DtVector operator+ ( const DtVector v1,
const DtVector v2 
)

implements v1 + v2

DtVector operator- ( const DtVector v1,
const DtVector v2 
)

implemented v1 - v2

std::ostream& operator<< ( std::ostream &  str,
const DtTaitBryan sr 
)

Variable Documentation

DtThreeIndex DtLevi_Civita

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)