18 #ifdef DtUSE_UTILITIES_NAMESPACE
19 namespace DtUSE_UTILITIES_NAMESPACE
47 DtDcm(
double a,
double b,
double c,
48 double d,
double e,
double f,
49 double g,
double h,
double i);
75 bool isOrthonormal()
const;
83 const DtVector &operator[](
int i)
const;
92 static const DtDcm& zero();
93 static const DtDcm& identity();
150 double cos_theta,
int rot_axis);
155 DtDcm& c,
double *sin_ang,
double *cos_ang);
229 #ifdef DtUSE_UTILITIES_NAMESPACE
void DtDcmVecMul(const DtDcm &m, const DtVector &v, DtVector &result)
void DtDcmFixMatrix(DtDcm &mat, int axis)
make orthonormal, pick most important. axis
void DtTbToMat(const DtTaitBryan &tb, DtDcm &HcW)
Convert a TaitBryan to a DtDcm.
void DtM(const DtVector &v, DtDcm &m)
const bool operator==(const DtU128 &lhs, const DtU128 &rhs)
const DtDcm & DtConstDcm
This typedef is deprecated, please do not use.
Definition: vlDcm.h:218
void DtMakeRotationDcm(const DtDirectedRotRate &drr, double dt, DtDcm &m)
void DtDcmCopy(const DtDcm &src, DtDcm &dest)
This method is deprecated, please use the copy ctor, or assignment operator for DtDcm.
void DtDcmRotInit2(DtDcm &m, double sin_theta, int rot_axis)
Initializes a DtDcm to be a rotation DtDcm.
double DtDcmDcmRotAngle(const DtDcm &a, const DtDcm &b, double precision=1e-12)
double DtDcmDeterminant(const DtDcm &m)
DtDirectedRotRate DtDirectRotRate(const DtVector &pqr)
Directed rotation rates.
DtDcm & DtDcmRef
This typedef is deprecated, please do not use.
Definition: vlDcm.h:221
double DtMM_Mult(const DtDcm &m1, const DtDcm &m2, DtDcm &result, generic_mm_multflag flag=TRANSPOSE_NONE)
void DtDcmIdentInit(DtDcm &m)
DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles...
Definition: vlTaitBryan.h:43
DtVector32 DtBodyRates
Angular rotation about body X, Y, Z axes.
Definition: vlDcm.h:25
This file declares DtDirectedRotRate.
void DtDcmTrigInit(DtDcm &m, double sin_theta, double cos_theta, int rot_axis)
Initializes a DtDcm to be a rotation DtDcm.
void DtBodyToMat(DtBodyRates av, const DtDcm &HcW, DtDcm &cDot)
Convert Body Rates to DCM.
Rotation rate given by single rate and axis of rotation.
Definition: directedRotRate.h:23
void DtDcmFromQuaternion(DtDcm &m, const DtQuaternion *q)
This function is deprecated, please use DtDcm::(const DtQuaternion&q) instead.
void DtDcmTranspose(const DtDcm &m, DtDcm &result)
This file declares DtVector and DtVector32.
double DtDcmDcmRotTrace(const DtDcm &a, const DtDcm &b)
Returns the trace of the rotation DtDcm, R, between between matrices A and B.
void DtDcmDump(const char *str, const DtDcm &mat)
This function is deprecated, please use DtDcm.print()
void DtDcmInverse(const DtDcm &m, DtDcm &result)
void DtDcmInit(DtDcm &m)
This method is deprecated, please use dcm.setToZero()
Definition: vlVector.h:224
void DtDcmDcmRotAxis(const DtDcm &a2ref, const DtDcm &b2ref, DtVector &n)
Direction Cosine Matrix routines.
Definition: vlVector.h:162
#define DT_DLL_MATRIX
Definition: vlMachineTypes.h:107
Quaternions are used to represent orientation of an object.
Definition: vlQuaternion.h:30
void DtDcmSub(const DtDcm &m1, const DtDcm &m2, DtDcm &result)
DtDcms are used to represent orientation for an object.
Definition: vlDcm.h:39
int DtDcmCheck(const DtDcm &m)
This method is deprecated, please use DtDcm::isOrthonormal.
void DtDcmScale(const DtDcm &mat, double scale_factor, DtDcm &result)
Scales a DtDcm.
const bool operator!=(const DtU128 &lhs, const DtU128 &rhs)
void DtDcmForm(const double *axis, double angle, DtDcm &c, double *sin_ang, double *cos_ang)
void DtM_Init(const DtDcm &input, DtDcm &result, int flag)
Generic initialize matrix routines.
void DtDcmAdjugate(const DtDcm &m, DtDcm &result)
void DtDcmRotInit(DtDcm &m, double theta, int rot_axis)
Initialize a DtDcm to be a rotation DtDcm.
void DtRotate(DtDcm &ans, const DtVector &direction, double theta)
void DtDcmLevelInit(DtDcm &m, const DtVector &v)
Takes a normalized vector and forms a DtDcm which will transform from a coordinate system whose Y axi...
void DtDcmDcmMul(const DtDcm &m1, const DtDcm &m2, DtDcm &result)
void DtSetSym(DtDcm &v, double aa, double ab, double ac, double bb, double bc, double cc)
void DtCreateCross(const DtVector &r, DtDcm &ans)
generic_mm_multflag
Generic DcmDcm Multiply routine.
Definition: vlDcm.h:190
void DtDcmAdd(const DtDcm &m1, const DtDcm &m2, DtDcm &result)