![]() |
VR-Link API Documentation for DIS
|
This file declares DtDcm and several helper classes and functions. More...
Go to the source code of this file.
Classes | |
| class | DtDcm |
| DtDcms are used to represent orientation for an object. More... | |
Macros | |
| #define | ZERO 0 |
| Generic initialize matrix routines. | |
| #define | IDENTITY 1; |
| #define | vlDcm_inl |
| include all inlined methods | |
Typedefs | |
| typedef DtVector | DtBodyRates |
| Angular rotation about body X, Y, Z axes. | |
| typedef const DtDcm & | DtConstDcm |
| This typedef is deprecated, please do not use. | |
| typedef DtDcm & | DtDcmRef |
| This typedef is deprecated, please do not use. | |
Enumerations | |
| enum | generic_mm_multflag { TRANSPOSE_NONE = 0, TRANSPOSE_M1 = 1, TRANSPOSE_M2 = 2, TRANSPOSE_M1_AND_M2 = 3 } |
| Generic DcmDcm Multiply routine. More... | |
Functions | |
| void | DtDcmDcmRotAxis (const DtDcm &a2ref, const DtDcm &b2ref, DtVector &n) |
| Direction Cosine Matrix routines. | |
| void | DtDcmIdentInit (DtDcm &m) |
| void | DtDcmFixMatrix (DtDcm &mat, int axis) |
| make orthonormal, pick most important. axis | |
| double | DtDcmDeterminant (const DtDcm &m) |
| void | DtDcmAdd (const DtDcm &m1, const DtDcm &m2, DtDcm &result) |
| void | DtDcmSub (const DtDcm &m1, const DtDcm &m2, DtDcm &result) |
| void | DtDcmDcmMul (const DtDcm &m1, const DtDcm &m2, DtDcm &result) |
| void | DtDcmTranspose (const DtDcm &m, DtDcm &result) |
| void | DtDcmAdjugate (const DtDcm &m, DtDcm &result) |
| void | DtDcmInverse (const DtDcm &m, DtDcm &result) |
| double | DtDcmDcmRotAngle (const DtDcm &a, const DtDcm &b) |
| void | DtM_Init (const DtDcm &input, DtDcm &result, int flag) |
| void | DtSetSym (DtDcm &v, double aa, double ab, double ac, double bb, double bc, double cc) |
| void | DtCreateCross (const DtVector &r, DtDcm &ans) |
| void | DtM (const DtVector &v, DtDcm &m) |
| void | DtRotate (DtDcm &ans, const DtVector &direction, double theta) |
| void | DtDcmScale (const DtDcm &mat, double scale_factor, DtDcm &result) |
| Scales a DtDcm. | |
| void | DtDcmVecMul (const DtDcm &m, const DtVector &v, DtVector &result) |
| void | DtDcmRotInit (DtDcm &m, double theta, int rot_axis) |
| Initialize a DtDcm to be a rotation DtDcm. | |
| void | DtDcmRotInit2 (DtDcm &m, double sin_theta, int rot_axis) |
| Initializes a DtDcm to be a rotation DtDcm. | |
| void | DtDcmTrigInit (DtDcm &m, double sin_theta, double cos_theta, int rot_axis) |
| Initializes a DtDcm to be a rotation DtDcm. | |
| void | DtDcmForm (const double *axis, double angle, DtDcm &c, double *sin_ang, double *cos_ang) |
| void | DtTbToMat (const DtTaitBryan &tb, DtDcm &HcW) |
| Convert a TaitBryan to a DtDcm. | |
| void | DtDcmLevelInit (DtDcm &m, const DtVector &v) |
| Takes a normalized vector and forms a DtDcm which will transform from a coordinate system whose Y axis is the input vector and whose X axis is parallel to the ground to the coordinate system the input vector is expressed in. | |
| void | DtBodyToMat (DtBodyRates av, const DtDcm &HcW, DtDcm &cDot) |
| Convert Body Rates to DCM. | |
| DtDirectedRotRate | DtDirectRotRate (const DtVector &pqr) |
| Directed rotation rates. | |
| void | DtMakeRotationDcm (const DtDirectedRotRate &drr, double dt, DtDcm &m) |
| double | DtDcmDcmRotTrace (const DtDcm &a, const DtDcm &b) |
| Returns the trace of the rotation DtDcm, R, between between matrices A and B. | |
| double | DtMM_Mult (const DtDcm &m1, const DtDcm &m2, DtDcm &result, generic_mm_multflag flag=TRANSPOSE_NONE) |
| void | DtDcmDump (const char *str, const DtDcm &mat) |
| This function is deprecated, please use DtDcm.print() | |
| void | DtDcmFromQuaternion (DtDcm &m, const DtQuaternion *q) |
| This function is deprecated, please use DtDcm::(const DtQuaternion&q) instead. | |
| int | DtDcmCheck (const DtDcm &m) |
| This method is deprecated, please use DtDcm::isOrthonormal. | |
| void | DtDcmCopy (const DtDcm &src, DtDcm &dest) |
| This method is deprecated, please use the copy ctor, or assignment operator for DtDcm. | |
| void | DtDcmInit (DtDcm &m) |
| This method is deprecated, please use dcm.setToZero() | |
This file declares DtDcm and several helper classes and functions.
| #define IDENTITY 1; |
| #define vlDcm_inl |
include all inlined methods
| #define ZERO 0 |
Generic initialize matrix routines.
| typedef DtVector DtBodyRates |
Angular rotation about body X, Y, Z axes.
| typedef const DtDcm& DtConstDcm |
This typedef is deprecated, please do not use.
| enum generic_mm_multflag |
| void DtBodyToMat | ( | DtBodyRates | av, |
| const DtDcm & | HcW, | ||
| DtDcm & | cDot | ||
| ) |
Convert Body Rates to DCM.
Body rates p,q,r are about X,Y,Z respectively. They are expected in radians per second. Direction Cosine matrix; From Hull to World
| int DtDcmCheck | ( | const DtDcm & | m | ) |
This method is deprecated, please use DtDcm::isOrthonormal.
This method is deprecated, please use the copy ctor, or assignment operator for DtDcm.
Direction Cosine Matrix routines.
Returns the trace of the rotation DtDcm, R, between between matrices A and B.
If A is a DCM between frame body and world, and B is that same frame rotated through angle theta about an arbitrary axis, then trace of R [where B = A * R, or R = inv(A) * B] is 2 * cos(theta) + 1.
| double DtDcmDeterminant | ( | const DtDcm & | m | ) |
| void DtDcmDump | ( | const char * | str, |
| const DtDcm & | mat | ||
| ) |
This function is deprecated, please use DtDcm.print()
| void DtDcmFixMatrix | ( | DtDcm & | mat, |
| int | axis | ||
| ) |
make orthonormal, pick most important. axis
| void DtDcmForm | ( | const double * | axis, |
| double | angle, | ||
| DtDcm & | c, | ||
| double * | sin_ang, | ||
| double * | cos_ang | ||
| ) |
| sin_ang | is modified |
| cos_ang | is modified |
| void DtDcmFromQuaternion | ( | DtDcm & | m, |
| const DtQuaternion * | q | ||
| ) |
This function is deprecated, please use DtDcm::(const DtQuaternion&q) instead.
| void DtDcmIdentInit | ( | DtDcm & | m | ) |
| void DtDcmInit | ( | DtDcm & | m | ) |
This method is deprecated, please use dcm.setToZero()
Takes a normalized vector and forms a DtDcm which will transform from a coordinate system whose Y axis is the input vector and whose X axis is parallel to the ground to the coordinate system the input vector is expressed in.
| void DtDcmRotInit | ( | DtDcm & | m, |
| double | theta, | ||
| int | rot_axis | ||
| ) |
| void DtDcmRotInit2 | ( | DtDcm & | m, |
| double | sin_theta, | ||
| int | rot_axis | ||
| ) |
| void DtDcmTrigInit | ( | DtDcm & | m, |
| double | sin_theta, | ||
| double | cos_theta, | ||
| int | rot_axis | ||
| ) |
| DtDirectedRotRate DtDirectRotRate | ( | const DtVector & | pqr | ) |
Directed rotation rates.
| void DtMakeRotationDcm | ( | const DtDirectedRotRate & | drr, |
| double | dt, | ||
| DtDcm & | m | ||
| ) |
| double DtMM_Mult | ( | const DtDcm & | m1, |
| const DtDcm & | m2, | ||
| DtDcm & | result, | ||
| generic_mm_multflag | flag = TRANSPOSE_NONE |
||
| ) |
| void DtSetSym | ( | DtDcm & | v, |
| double | aa, | ||
| double | ab, | ||
| double | ac, | ||
| double | bb, | ||
| double | bc, | ||
| double | cc | ||
| ) |
| void DtTbToMat | ( | const DtTaitBryan & | tb, |
| DtDcm & | HcW | ||
| ) |
Convert a TaitBryan to a DtDcm.