Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

O_SESSAME::DirectionCosineMatrix Class Reference
[Rotation Library]

#include <Rotation.h>

Inheritance diagram for O_SESSAME::DirectionCosineMatrix:

Inheritance graph
[legend]
Collaboration diagram for O_SESSAME::DirectionCosineMatrix:

Collaboration graph
[legend]
List of all members.

Detailed Description

3x3 direction cosine matrix attitude representation.

A simple way to describe and represent an Euler Angle sequence is by the use of a Direction Cosine Matrix (DCM). A DCM is a 3x3 matrix of values, a rotation matrix, that represent the transformation of a vector from one coordinate frame to another:

\[ {\bf v}^{b} = {\bf R}^{ba}{\bf v}^{a} \]

where ${\bf v}^{a}$ and ${\bf v}^{b}$ are the $\hat{\bf v}$ vectors in $\mathcal{F}_{a}$ (Frame { a\/}) and $\mathcal{F}_{b}$ respectively. ${\bf R}^{ba}$ is the DCM describing the rotation from $\mathcal{F}_{a}$ to $\mathcal{F}_{b}$.

The direction cosine matrix is constructed by the components of the angles between the frame axes:

\[ {\bf R}^{21} = \begin{bmatrix} \cos{\theta_{x_{2}x_{1}}} && \cos{\theta_{x_{2}y_{1}}} && \cos{\theta_{x_{2}z_{1}}}\\ \cos{\theta_{y_{2}x_{1}}} && \cos{\theta_{y_{2}y_{1}}} && \cos{\theta_{y_{2}z_{1}}}\\ \cos{\theta_{z_{2}x_{1}}} && \cos{\theta_{z_{2}y_{1}}} && \cos{\theta_{z_{2}z_{1}}}\end{bmatrix} \]

where $\cos{\theta_{x_{2}x_{1}}}$ is the cosine of the angle between the $x$ axis of the first frame and the $x$ axis of the second frame.

To determine successive rotations (say from $\mathcal{F}_{a}$ to $\mathcal{F}_{b}$ to $\mathcal{F}_{c}$), we can simply combine the rotation matrices by multiplying them together:

\[ {\bf R}^{ca} = {\bf R}^{cb}{\bf R}^{ba} \]


A DCM can be created from any of the other attitude representations
DirectionCosineMatrix myEulerDCM(40*RPD, 20*RPD, -120*RPD, 312); // creates a 312 rotation DCM from 3 euler angles
DirectionCosineMatrix myQuatDCM(myQuaternion);  // where myQuaternion is an instance of Quaternion
DirectionCosineMatrix myMRPDCM(myMRP);          // where myMRP is an instance of ModifiedRodriguezParameters

and can also return the transformation in any of the representations. The successive and relative rotations between 2 DCMS can be computed:

dcm3 = dcm1 * dcm2; \\ successive rotation
dcm3 = dcm1 + dcm2; \\ successive rotation
dcm1 = dcm3 - dcm2; \\ relative rotation
If the inverse transformation of a direction cosine matrix is required, the transpose operation is used:
dcmOI = ~dcmIO;

The DirectionCosineMatrix class is derived from Matrix, so therefore includes all of the functionality of the Matrix class. This includes subarray accessing, element accessing, multiplication, addition (except where redefined by the subclass).

double element11 = dcm1(MatrixBaseIndex + 0, MatrixBaseIndex + 0);
Vector column2 = dcm1(_,MatrixBaseIndex+1);

Definition at line 138 of file Rotation.h.

Public Member Functions

 DirectionCosineMatrix ()
 Create a DCM equal to the identity matrix [1,0,0;0,1,0;0,0,1].
 DirectionCosineMatrix (const DirectionCosineMatrix &_DCM)
 Create a copy of a DCM from an existing DCM.
 DirectionCosineMatrix (const Matrix &_DCM)
 Create a copy of a DCM from an existing matrix of DCM values.
 DirectionCosineMatrix (const Vector &_EulerAngles, const int &_Sequence)
 Create a Direction Cosine Matrix (DCM) from Euler Angles.
 DirectionCosineMatrix (const Vector &_EulerAxis, const Angle &_EulerAngle)
 Create a Direction Cosine Matrix (DCM) from an Euler Axis and rotation.
 DirectionCosineMatrix (const Angle &_Angle1, const Angle &_Angle2, const Angle &_Angle3, const int &_Sequence)
 Create a Direction Cosine Matrix (DCM) from Euler Angles.
 DirectionCosineMatrix (const ModifiedRodriguezParameters &_MRP)
 Create a Direction Cosine Matrix (DCM) from a vector of Modified Rodriguez Parameters (MRP).
 DirectionCosineMatrix (const Quaternion &_quat)
 Create a Direction Cosine Matrix (DCM) from a quaternion.
virtual ~DirectionCosineMatrix ()
 Default deconstructor.
void Set (const DirectionCosineMatrix &_DCM)
 Set a DCM to a copy of another DCM.
void Set (const Matrix &_DCM)
 Set a DCM to a copy of an matrix that is a DCM.
void Set (const Vector &_EulerAngles, const int &_Sequence)
 Set the DCM to the transformation of set of Euler Angles.
void Set (const Angle &_Angle1, const Angle &_Angle2, const Angle &_Angle3, const int &_Sequence)
 Set the DCM to the transformation of set of Euler Angles.
void Set (const Vector &_EulerAxis, const Angle &_EulerAngle)
 Set the DCM to the transformation of an Euler Axis and Angle.
void Set (const ModifiedRodriguezParameters &_MRP)
 Set the DCM to the transformation of Modified Rodriguez Paramaters (MRP).
void Set (const Quaternion &_qIn)
 Set a DCM to the transformation of a quaternion.
Vector GetEulerAngles (const int &_Sequence) const
 Convert a DCM to a set of Euler Angles.
void GetEulerAxisAngle (Vector &_EulerAxis, Angle &_EulerAngle) const
 Convert the DCM to an Euler Axis and Angle.
ModifiedRodriguezParameters GetMRP () const
 Convert a DCM to an MRP representation. This conversion is performed by creating a new instance of an MRP from this DCM. (.
Quaternion GetQuaternion () const
 Convert a DCM to a quaternion representation. This conversion is performed by creating a new instance of a Quaternion from this DCM. (.
void Normalize ()
 Normalize the Direction Cosine Matrix. This member function normalizes and stores the DCM. Normalization is performed by dividing each element in a column by the square-root of the sum of the squares of a column.

\[R_{ij}^{norm} = \frac{R_{ij}}{\sum_{k=1}^{k=3}{R_{ik}}}\]

.

DirectionCosineMatrix operator+ (const DirectionCosineMatrix &_DCM2) const
 Determine the successive rotation from the summation of two DCMs.
DirectionCosineMatrix operator- (const DirectionCosineMatrix &_DCM2) const
 Determine the relative rotation from the difference of two DCMs.
DirectionCosineMatrix operator * (DirectionCosineMatrix _DCM2) const
 Determine the successive rotation of the DCMs through multiplication.
Vector operator * (const Vector &_vec) const
 Determine the rotation of a vector by a DCM.
DirectionCosineMatrix operator~ ()
 Determines the inverse of a DCM by taking the transpose (same operation).
void initialize ()
void initialize (const CAMdoubleMatrix &A)
void initialize (const CAMmatrixBase &A)
void initialize (const CAMrange &R1, const CAMrange &R2)
void initialize (int d_type)
void initialize (int d_type, const CAMrange &R1, const CAMrange &R2)
double & operator() (long i1, long i2)
const double & operator() (long i1, long i2) const
const CAMdoubleMatrix operator() (const CAMrange &R1, const CAMrange &R2) const
CAMdoubleMatrix operator() (const CAMrange &R1, const CAMrange &R2)
double * getDataPointer () const
void * getDataPointer (long i1, long i2) const
CAMmatrixBase operator- () const
CAMmatrixBase operator- (const CAMmatrixBase &A) const
CAMmatrixBase operator- (const CAMvectorBase &A) const
CAMmatrixBase operator- (const double value) const
CAMmatrixBase operator+ (const CAMmatrixBase &A) const
CAMmatrixBase operator+ (const CAMvectorBase &A) const
CAMmatrixBase operator+ (const double value) const
CAMmatrixBase operator * (const CAMmatrixBase &A) const
CAMvectorBase operator * (const CAMvectorBase &A) const
CAMmatrixBase operator * (double value) const
CAMmatrixBase operator/ (const CAMmatrixBase &A) const
CAMvectorBase operator/ (const CAMvectorBase &A) const
CAMmatrixBase operator/ (double value) const
void operator+= (const CAMmatrixBase &A)
void operator+= (const CAMvectorBase &A)
void operator+= (const double value)
void operator-= (const CAMmatrixBase &A)
void operator-= (const CAMvectorBase &A)
void operator-= (const double value)
void operator *= (const CAMmatrixBase &A)
void operator *= (const CAMvectorBase &A)
void operator *= (double value)
void operator/= (const CAMmatrixBase &A)
void operator/= (const CAMvectorBase &A)
void operator/= (double value)
CAMmatrixBase transpose () const
CAMmatrixBase operator~ () const
void setToValue (double value)
CAMmatrixBase plusValue (double value)
CAMmatrixBase minusValue (double value)
void setTemporaryFlag ()
void initializeReturnArgument (const CAMstructureBase &S, int dataT)
void initializeReturnArgument (const CAMmatrixBase &A)
void initializeMinDuplicate (const CAMmatrixBase &A)
CAMarrayBase asArray () const
CAMvectorBase asVector () const
const CAMstructureBaseoperator[] (long i) const
CAMstructureBaseoperator[] (long i)
void setAllIndexBase (long i)
long getDimension () const
void incrementReferenceCount ()
void decrementReferenceCount ()
int getReferenceCount () const
void setReferenceCount (int refValue)
double max () const
double min () const
double maxAbs () const
double minAbs () const
double infNorm () const
double pNorm (int p) const
double pNorm (long p) const
double pNorm (float p) const
double pNorm (double p) const
CAMmatrixBase inverse () const
void exchangeContentsWith (CAMmatrixBase &B)
void initializeReferenceDuplicate (const CAMmatrixBase &B)

Static Public Member Functions

CAMdoubleMatrix identity (long n)
void referenceCountError ()
void indexCheck (const CAMstructureBase &S, long i1, long i2)
void indexErrorMessage (long indexDimension, long base, long bound, long index)
void nonConformingMessage (const CAMstructureBase &A, const CAMstructureBase &B)
void doubleConversionError (const CAMstructureBase &A)
void nonSquareMessage ()
void objectConversionError (const CAMstructureBase &A)
void nullOperandError ()
void nullOperandError (char *Operation)
void inputSizeError ()

Public Attributes

CAMstructureBase Structure
CAMdataHandlerDataP
int typeValue
int referenceFlag
long matrixBaseReferenceCount

Friends

class CAMvectorBase
__IMPEXP__ friend ostream & operator<< (ostream &out_stream, const CAMmatrixBase &A)
__IMPEXP__ friend istream & operator>> (istream &in_stream, CAMmatrixBase &A)
__IMPEXP__ friend CAMmatrixBase operator- (const double value, const CAMmatrixBase &A)
__IMPEXP__ friend CAMmatrixBase operator+ (const double value, const CAMmatrixBase &A)
__IMPEXP__ friend CAMmatrixBase operator * (double value, const CAMmatrixBase &A)
__IMPEXP__ friend CAMmatrixBase operator/ (double value, const CAMmatrixBase &A)


Constructor & Destructor Documentation

O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix  ) 
 

Create a DCM equal to the identity matrix [1,0,0;0,1,0;0,0,1].

Returns:
3x3 Direction Cosine Matrix equal to the identity matrix.

Definition at line 282 of file Rotation.cpp.

References O_SESSAME::DCM_SIZE, O_SESSAME::eye(), and O_SESSAME::Matrix.

Referenced by operator *(), operator+(), operator-(), and operator~().

O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix const DirectionCosineMatrix _DCM  ) 
 

Create a copy of a DCM from an existing DCM.

Parameters:
_DCM 3x3 Direction Cosine Matrix to be copied.

Definition at line 289 of file Rotation.cpp.

References O_SESSAME::DCM_SIZE, O_SESSAME::Matrix, and Set().

O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix const Matrix _DCM  ) 
 

Create a copy of a DCM from an existing matrix of DCM values.

Parameters:
_DCM 3x3 matrix of DCM values to be copied.

Definition at line 296 of file Rotation.cpp.

References O_SESSAME::DCM_SIZE, O_SESSAME::Matrix, and Set().

O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix const Vector _EulerAngles,
const int &  _Sequence
 

Create a Direction Cosine Matrix (DCM) from Euler Angles.

Parameters:
_EulerAngles 3x1 matrix of Euler Angles. [rad]
_Sequence Euler angle rotation sequence. (ie 123, 213, 313, 321, etc).

Definition at line 305 of file Rotation.cpp.

References O_SESSAME::DCM_SIZE, O_SESSAME::Matrix, Set(), and O_SESSAME::Vector.

O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix const Vector _EulerAxis,
const Angle _EulerAngle
 

Create a Direction Cosine Matrix (DCM) from an Euler Axis and rotation.

Parameters:
_EulerAxis 3x1 Euler Axis vector ($\hat{e}$).
_EulerAngle Angle rotation about axis ($\Phi$)[rad].

Definition at line 325 of file Rotation.cpp.

References O_SESSAME::DCM_SIZE, O_SESSAME::Matrix, Set(), and O_SESSAME::Vector.

O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix const Angle _Angle1,
const Angle _Angle2,
const Angle _Angle3,
const int &  _Sequence
 

Create a Direction Cosine Matrix (DCM) from Euler Angles.

Parameters:
_Angle1 first angles in Euler angle set. [rad]
_Angle2 second angles in Euler angle set. [rad]
_Angle3 third angles in Euler angle set. [rad]
_Sequence Euler angle rotation sequence. (ie 123, 213, 313, 321, etc).

Definition at line 316 of file Rotation.cpp.

References O_SESSAME::DCM_SIZE, O_SESSAME::Matrix, and Set().

O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix const ModifiedRodriguezParameters _MRP  ) 
 

Create a Direction Cosine Matrix (DCM) from a vector of Modified Rodriguez Parameters (MRP).

Parameters:
_MRP 3x1 MRP to be converted.

Definition at line 333 of file Rotation.cpp.

References O_SESSAME::DCM_SIZE, O_SESSAME::Matrix, and Set().

O_SESSAME::DirectionCosineMatrix::DirectionCosineMatrix const Quaternion _quat  ) 
 

Create a Direction Cosine Matrix (DCM) from a quaternion.

Parameters:
_quat 4x1 quaternion to be converted.
Returns:
3x3 Direction Cosine Matrix.

Definition at line 341 of file Rotation.cpp.

References O_SESSAME::DCM_SIZE, O_SESSAME::Matrix, and Set().

O_SESSAME::DirectionCosineMatrix::~DirectionCosineMatrix  )  [virtual]
 

Default deconstructor.

Definition at line 347 of file Rotation.cpp.


Member Function Documentation

CAMarrayBase CAMmatrixBase::asArray  )  const [inherited]
 

Definition at line 1317 of file matbse.cpp.

References CAMarrayBase::DataP, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAequalToB(), CAMarrayBase::initialize(), O_SESSAME::R1(), O_SESSAME::R2(), CAMarrayBase::setTemporaryFlag(), CAMarrayBase::Structure, and CAMmatrixBase::Structure.

CAMvectorBase CAMmatrixBase::asVector  )  const [inherited]
 

Definition at line 1333 of file matbse.cpp.

References CAMvectorBase::DataP, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAequalToB(), CAMmatrixBase::getDimension(), CAMstructureBase::getIndexCount(), CAMvectorBase::initialize(), CAMrange::initialize(), CAMmatrixBase::objectConversionError(), CAMvectorBase::setTemporaryFlag(), CAMvectorBase::Structure, and CAMmatrixBase::Structure.

void CAMmatrixBase::decrementReferenceCount  )  [inline, inherited]
 

Definition at line 162 of file matbse.h.

References CAMmatrixBase::matrixBaseReferenceCount.

void CAMmatrixBase::doubleConversionError const CAMstructureBase A  )  [static, inherited]
 

Definition at line 1487 of file matbse.cpp.

References A, CAMmvaExit(), CAMstructureBase::dataDimension, and CAMstructureBase::getIndexCount().

void CAMmatrixBase::exchangeContentsWith CAMmatrixBase B  )  [inherited]
 

Definition at line 1255 of file matbse.cpp.

References B, CAMmatrixBase::DataP, CAMstructureBase::initialize(), CAMmatrixBase::matrixBaseReferenceCount, CAMmatrixBase::referenceFlag, CAMmatrixBase::Structure, and CAMmatrixBase::typeValue.

void * CAMmatrixBase::getDataPointer long  i1,
long  i2
const [inherited]
 

Definition at line 1397 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMdataHandler::dataPointer, MVAlongBase::getDataPointer(), CAMstructureBase::indexBeginBase, CAMstructureBase::indexEndBase, and CAMmatrixBase::Structure.

double* CAMdoubleMatrix::getDataPointer  )  const [inline, inherited]
 

Reimplemented from CAMmatrixBase.

Definition at line 131 of file dmatrix.h.

Referenced by CAMmvaGraphics::matrixBaseContour().

long CAMmatrixBase::getDimension  )  const [inline, inherited]
 

Definition at line 157 of file matbse.h.

References CAMstructureBase::getDimension(), and CAMmatrixBase::Structure.

Referenced by CAMmatrixBase::asVector(), CAMmvaGraphics::matrixBasePlot(), and CAMmvaGraphics::matrixBaseSurface().

Vector O_SESSAME::DirectionCosineMatrix::GetEulerAngles const int &  _Sequence  )  const
 

Convert a DCM to a set of Euler Angles.

Parameters:
_Sequence Euler angle rotation sequence. (ie 123, 213, 313, 321, etc).
Returns:
(3 x 1) Euler Angles based on given rotation sequence. The angles are returned in the order of the rotation sequence. For a 321 sequence, the first and third angles lie within the domain of [-180,180] and the second angle lies within [-90,90].

Definition at line 551 of file Rotation.cpp.

References O_SESSAME::Vector.

void O_SESSAME::DirectionCosineMatrix::GetEulerAxisAngle Vector _EulerAxis,
Angle _EulerAngle
const
 

Convert the DCM to an Euler Axis and Angle.

Parameters:
_EulerAxis 3x1 Euler Axis vector ($\hat{e}$).
_EulerAngle Angle rotation about axis ($\Phi$)[rad].
Equation:
Ref Wertz, pg 413-4

\[ \cos\Phi = \frac{1}{2}\left[tr\left(R\right)-1\right] \]

if $\sin\Phi \ne 0$, the componnets of $\hat{\bf e}$ are given by:

\[ e1 = (A_{23} - A_{32})/(2\sin\Phi) e2 = (A_{31} - A_{13})/(2\sin\Phi) e3 = (A_{12} - A_{21})/(2\sin\Phi) \]

Definition at line 583 of file Rotation.cpp.

References O_SESSAME::MatrixIndexBase, CAMvectorBase::setToValue(), O_SESSAME::trace(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

ModifiedRodriguezParameters O_SESSAME::DirectionCosineMatrix::GetMRP  )  const
 

Convert a DCM to an MRP representation. This conversion is performed by creating a new instance of an MRP from this DCM. (.

See also:
ModifiedRodriguezParameters::Set(DirectionCosineMatrix))
Returns:
This conversion returns a (3 x 1) converted MRP.

Definition at line 611 of file Rotation.cpp.

Referenced by main().

Quaternion O_SESSAME::DirectionCosineMatrix::GetQuaternion  )  const
 

Convert a DCM to a quaternion representation. This conversion is performed by creating a new instance of a Quaternion from this DCM. (.

See also:
Quaternion::Set(DirectionCosineMatrix))
Returns:
This conversion returns a (4 x 1) converted quaternion.

Definition at line 621 of file Rotation.cpp.

Referenced by QuaternionEKFObserver::GetInitialGuessTriad(), main(), triadObserver::Run(), and O_SESSAME::ModifiedRodriguezParameters::Set().

int CAMmatrixBase::getReferenceCount  )  const [inline, inherited]
 

Definition at line 163 of file matbse.h.

CAMdoubleMatrix CAMdoubleMatrix::identity long  n  )  [static, inherited]
 

Definition at line 8 of file dmatrix.cpp.

References CAMmatrixBase::setTemporaryFlag().

Referenced by CAMmatrixBase::inverse(), QuaternionEKFObserver::StateCovarianceUpdate(), and QuaternionEKFObserver::StateTransitionMatrix().

void CAMmatrixBase::incrementReferenceCount  )  [inherited]
 

Definition at line 1419 of file matbse.cpp.

References CAMmatrixBase::matrixBaseReferenceCount, and CAMmatrixBase::referenceCountError().

void CAMmatrixBase::indexCheck const CAMstructureBase S,
long  i1,
long  i2
[static, inherited]
 

Definition at line 1437 of file matbse.cpp.

References CAMmvaExit(), CAMstructureBase::dataDimension, MVAlongBase::getDataPointer(), CAMstructureBase::indexBegin, CAMstructureBase::indexEnd, and CAMmatrixBase::indexErrorMessage().

Referenced by CAMdoubleMatrix::operator()().

void CAMmatrixBase::indexErrorMessage long  indexDimension,
long  base,
long  bound,
long  index
[static, inherited]
 

Definition at line 1462 of file matbse.cpp.

References CAMmvaExit().

Referenced by CAMmatrixBase::indexCheck().

double CAMmatrixBase::infNorm  )  const [inherited]
 

Definition at line 118 of file matutl.cpp.

References A, CAMbinaryEngine::doubleMaxAbsValue(), CAMmatrixBase::getDataPointer(), CAMstructureBase::getFullDataCount(), CAMmatrixBase::initializeMinDuplicate(), CAMstructureBase::isSubset(), CAMmatrixBase::Structure, and value.

void CAMmatrixBase::initialize int  d_type,
const CAMrange R1,
const CAMrange R2
[inherited]
 

Definition at line 299 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMdataHandler::decrementReferenceCount(), CAMstructureBase::getFullDataCount(), CAMdataHandler::getReferenceCount(), CAMstructureBase::initialize(), CAMmatrixBase::matrixBaseReferenceCount, CAMmatrixBase::referenceFlag, CAMdataHandler::setReferenceCount(), and CAMmatrixBase::Structure.

void CAMmatrixBase::initialize int  d_type  )  [inherited]
 

Definition at line 255 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMdataHandler::decrementReferenceCount(), CAMdataHandler::getReferenceCount(), CAMstructureBase::initialize(), CAMmatrixBase::matrixBaseReferenceCount, CAMmatrixBase::referenceFlag, CAMmatrixBase::Structure, and CAMmatrixBase::typeValue.

void CAMdoubleMatrix::initialize const CAMrange R1,
const CAMrange R2
[inline, inherited]
 

Definition at line 67 of file dmatrix.h.

References CAMmatrixBase::initialize().

void CAMdoubleMatrix::initialize const CAMmatrixBase A  )  [inline, inherited]
 

Reimplemented from CAMmatrixBase.

Definition at line 65 of file dmatrix.h.

References A, and CAMmatrixBase::initialize().

void CAMdoubleMatrix::initialize const CAMdoubleMatrix A  )  [inline, inherited]
 

Definition at line 63 of file dmatrix.h.

References A, and CAMmatrixBase::initialize().

void CAMdoubleMatrix::initialize  )  [inline, inherited]
 

Reimplemented from CAMmatrixBase.

Definition at line 61 of file dmatrix.h.

References CAMmatrixBase::initialize().

Referenced by KalmanFilterHistory::GetKalmanHistory(), testController::Initialize(), slidingModeControlMRPMW::Initialize(), MRPTracking::Initialize(), DefaultController::Initialize(), AngularRateController::Initialize(), Magnetometer::Magnetometer(), O_SESSAME::CombinedNumericPropagator::PropagateAttitude(), O_SESSAME::CombinedNumericPropagator::PropagateOrbit(), QuaternionEKFObserver::QuaternionEKFObserver(), QuaternionKinematics(), O_SESSAME::Orbit::SetParameters(), and O_SESSAME::Attitude::SetParameters().

void CAMmatrixBase::initializeMinDuplicate const CAMmatrixBase A  )  [inherited]
 

Definition at line 335 of file matbse.cpp.

References A, CAMmatrixBase::DataP, CAMstructureBase::getDimension(), CAMstructureBase::getFullDataCount(), CAMstructureBase::getIndexCount(), CAMstructureBase::indexBegin, CAMstructureBase::indexBeginBase, CAMstructureBase::indexEnd, CAMstructureBase::indexEndBase, CAMstructureBase::indexStride, CAMstructureBase::initialize(), CAMdataHandler::setReferenceCount(), CAMmatrixBase::Structure, and CAMmatrixBase::typeValue.

Referenced by CAMmatrixBase::infNorm(), CAMmvaGraphics::matrixBaseContour(), CAMmvaGraphics::matrixBasePlot(), CAMmvaGraphics::matrixBaseSurface(), CAMmatrixBase::max(), CAMmatrixBase::maxAbs(), CAMmatrixBase::min(), CAMmatrixBase::minAbs(), and CAMmatrixBase::pNorm().

void CAMmatrixBase::initializeReferenceDuplicate const CAMmatrixBase B  )  [inherited]
 

Definition at line 1286 of file matbse.cpp.

References B, CAMmatrixBase::DataP, CAMdataHandler::decrementReferenceCount(), CAMdataHandler::getReferenceCount(), CAMdataHandler::incrementReferenceCount(), CAMstructureBase::initialize(), CAMmatrixBase::matrixBaseReferenceCount, CAMmatrixBase::referenceFlag, CAMmatrixBase::Structure, and CAMmatrixBase::typeValue.

void CAMmatrixBase::initializeReturnArgument const CAMmatrixBase A  )  [inherited]
 

Definition at line 323 of file matbse.cpp.

References A, CAMmatrixBase::DataP, CAMdataHandler::getDataType(), CAMstructureBase::getFullDataCount(), CAMstructureBase::initializeMinStructure(), CAMdataHandler::setReferenceCount(), and CAMmatrixBase::Structure.

void CAMmatrixBase::initializeReturnArgument const CAMstructureBase S,
int  dataT
[inherited]
 

Definition at line 329 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMstructureBase::getFullDataCount(), CAMstructureBase::initializeMinStructure(), CAMdataHandler::setReferenceCount(), and CAMmatrixBase::Structure.

Referenced by CAMvectorBase::operator *(), CAMmatrixBase::operator *(), CAMvectorBase::operator+(), CAMmatrixBase::operator+(), CAMvectorBase::operator-(), CAMmatrixBase::operator-(), and CAMmatrixBase::operator/().

void CAMmatrixBase::inputSizeError  )  [static, inherited]
 

Definition at line 1531 of file matbse.cpp.

References CAMmvaExit().

CAMmatrixBase CAMmatrixBase::inverse  )  const [inherited]
 

Definition at line 178 of file matutl.cpp.

References CAMdoubleMatrix::identity().

Referenced by AttituteDynamics(), AttituteDynamics_QuaternionAngVel(), LKFCalcualteKalmanGain(), main(), QuaternionEKFObserver::MeasurementUpdate(), QuaternionDynamics(), and SetupAttitude().

double CAMmatrixBase::max  )  const [inherited]
 

Definition at line 13 of file matutl.cpp.

References A, CAMbinaryEngine::doubleMaxValue(), CAMmatrixBase::getDataPointer(), CAMstructureBase::getFullDataCount(), CAMmatrixBase::initializeMinDuplicate(), CAMstructureBase::isSubset(), CAMmatrixBase::Structure, and value.

double CAMmatrixBase::maxAbs  )  const [inherited]
 

Definition at line 65 of file matutl.cpp.

References A, CAMbinaryEngine::doubleMaxAbsValue(), CAMmatrixBase::getDataPointer(), CAMstructureBase::getFullDataCount(), CAMmatrixBase::initializeMinDuplicate(), CAMstructureBase::isSubset(), CAMmatrixBase::Structure, and value.

double CAMmatrixBase::min  )  const [inherited]
 

Definition at line 39 of file matutl.cpp.

References A, CAMbinaryEngine::doubleMinValue(), CAMmatrixBase::getDataPointer(), CAMstructureBase::getFullDataCount(), CAMmatrixBase::initializeMinDuplicate(), CAMstructureBase::isSubset(), CAMmatrixBase::Structure, and value.

double CAMmatrixBase::minAbs  )  const [inherited]
 

Definition at line 91 of file matutl.cpp.

References A, CAMbinaryEngine::doubleMinAbsValue(), CAMmatrixBase::getDataPointer(), CAMstructureBase::getFullDataCount(), CAMmatrixBase::initializeMinDuplicate(), CAMstructureBase::isSubset(), CAMmatrixBase::Structure, and value.

CAMmatrixBase CAMmatrixBase::minusValue double  value  )  [inherited]
 

Definition at line 1239 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMbinaryEngine::doubleAminusEqualAlpha(), CAMmatrixBase::setTemporaryFlag(), CAMmatrixBase::Structure, and value.

void CAMmatrixBase::nonConformingMessage const CAMstructureBase A,
const CAMstructureBase B
[static, inherited]
 

Definition at line 1470 of file matbse.cpp.

References A, B, CAMmvaExit(), CAMstructureBase::dataDimension, and CAMstructureBase::getIndexCount().

Referenced by CAMmatrixBase::operator *(), CAMmatrixBase::operator *=(), operator+(), CAMmatrixBase::operator+(), CAMmatrixBase::operator+=(), operator-(), CAMmatrixBase::operator-(), CAMmatrixBase::operator-=(), CAMmatrixBase::operator/(), CAMmatrixBase::operator/=(), and CAMmatrixBase::operator=().

void CAMmatrixBase::nonSquareMessage  )  [static, inherited]
 

Definition at line 1500 of file matbse.cpp.

References CAMmvaExit().

Referenced by CAMmatrixBase::operator/().

void O_SESSAME::DirectionCosineMatrix::Normalize  ) 
 

Normalize the Direction Cosine Matrix. This member function normalizes and stores the DCM. Normalization is performed by dividing each element in a column by the square-root of the sum of the squares of a column.

\[R_{ij}^{norm} = \frac{R_{ij}}{\sum_{k=1}^{k=3}{R_{ik}}}\]

.

Definition at line 631 of file Rotation.cpp.

References O_SESSAME::MatrixIndexBase.

Referenced by Set().

void CAMmatrixBase::nullOperandError char *  Operation  )  [static, inherited]
 

Definition at line 1525 of file matbse.cpp.

References CAMmvaExit().

void CAMmatrixBase::nullOperandError  )  [static, inherited]
 

Definition at line 1519 of file matbse.cpp.

References CAMmvaExit().

void CAMmatrixBase::objectConversionError const CAMstructureBase A  )  [static, inherited]
 

Definition at line 1507 of file matbse.cpp.

References A, CAMmvaExit(), CAMstructureBase::dataDimension, and CAMstructureBase::getIndexCount().

Referenced by CAMmatrixBase::asVector().

CAMmatrixBase CAMmatrixBase::operator * double  value  )  const [inherited]
 

Definition at line 1161 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMbinaryEngine::doubleAtimesEqualAlpha(), CAMmatrixBase::setTemporaryFlag(), CAMmatrixBase::Structure, and value.

CAMvectorBase CAMmatrixBase::operator * const CAMvectorBase A  )  const [inherited]
 

Definition at line 556 of file matbse.cpp.

References A, CAMmatrixBase::CAMmatrixBase(), CAMmatrixBase::CAMvectorBase, dgemm_(), CAMvectorBase::getDataPointer(), CAMstructureBase::getIndexBase(), CAMstructureBase::getIndexCount(), CAMvectorBase::getIndexCount(), CAMvectorBase::initialize(), CAMvectorBase::initializeReturnArgument(), CAMmatrixBase::initializeReturnArgument(), CAMstructureBase::isMatrixOpConformingTo(), CAMstructureBase::isSubset(), CAMmatrixBase::nonConformingMessage(), O_SESSAME::R1(), O_SESSAME::R2(), CAMvectorBase::setTemporaryFlag(), CAMvectorBase::Structure, and CAMmatrixBase::Structure.

CAMmatrixBase CAMmatrixBase::operator * const CAMmatrixBase A  )  const [inherited]
 

Definition at line 463 of file matbse.cpp.

References A, CAMmatrixBase::CAMmatrixBase(), dgemm_(), CAMmatrixBase::getDataPointer(), CAMstructureBase::getIndexBase(), CAMstructureBase::getIndexCount(), CAMmatrixBase::initializeReturnArgument(), CAMstructureBase::isMatrixOpConformingTo(), CAMstructureBase::isSubset(), CAMmatrixBase::nonConformingMessage(), O_SESSAME::R1(), O_SESSAME::R2(), CAMmatrixBase::setTemporaryFlag(), and CAMmatrixBase::Structure.

Vector O_SESSAME::DirectionCosineMatrix::operator * const Vector _vec  )  const [inline]
 

Determine the rotation of a vector by a DCM.

Parameters:
_DCM2 DCM to be multiplied by.

Definition at line 676 of file Rotation.cpp.

References operator *(), and O_SESSAME::Vector.

DirectionCosineMatrix O_SESSAME::DirectionCosineMatrix::operator * DirectionCosineMatrix  _DCM2  )  const [inline]
 

Determine the successive rotation of the DCMs through multiplication.

Parameters:
_DCM2 DCM to be multiplied by.

Definition at line 668 of file Rotation.cpp.

References DirectionCosineMatrix().

void CAMmatrixBase::operator *= double  value  )  [inherited]
 

Definition at line 1205 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMbinaryEngine::doubleAtimesEqualAlpha(), CAMmatrixBase::Structure, and value.

void CAMmatrixBase::operator *= const CAMvectorBase A  )  [inherited]
 

Definition at line 997 of file matbse.cpp.

References A, CAMstructureBase::isMatrixOpConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMvectorBase::Structure, and CAMmatrixBase::Structure.

void CAMmatrixBase::operator *= const CAMmatrixBase A  )  [inherited]
 

Definition at line 990 of file matbse.cpp.

References A, CAMstructureBase::isMatrixOpConformingTo(), CAMmatrixBase::nonConformingMessage(), and CAMmatrixBase::Structure.

CAMdoubleMatrix CAMdoubleMatrix::operator() const CAMrange R1,
const CAMrange R2
[inline, inherited]
 

Definition at line 116 of file dmatrix.h.

References A, CAMmatrixBase::DataP, CAMdataHandler::incrementReferenceCount(), CAMstructureBase::initialize(), CAMmatrixBase::referenceFlag, CAMstructureBase::setStructureSubset(), and CAMmatrixBase::Structure.

const CAMdoubleMatrix CAMdoubleMatrix::operator() const CAMrange R1,
const CAMrange R2
const [inline, inherited]
 

Definition at line 104 of file dmatrix.h.

References A, CAMmatrixBase::DataP, CAMdataHandler::incrementReferenceCount(), CAMstructureBase::initialize(), CAMmatrixBase::referenceFlag, CAMstructureBase::setStructureSubset(), and CAMmatrixBase::Structure.

const double& CAMdoubleMatrix::operator() long  i1,
long  i2
const [inline, inherited]
 

Definition at line 88 of file dmatrix.h.

References CAMmatrixBase::getDataPointer(), and CAMmatrixBase::indexCheck().

double& CAMdoubleMatrix::operator() long  i1,
long  i2
[inline, inherited]
 

Definition at line 72 of file dmatrix.h.

References CAMmatrixBase::getDataPointer(), and CAMmatrixBase::indexCheck().

CAMmatrixBase CAMmatrixBase::operator+ const double  value  )  const [inherited]
 

Definition at line 1074 of file matbse.cpp.

References _, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAplusEqualAlpha(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::setTemporaryFlag(), CAMmatrixBase::Structure, and value.

CAMmatrixBase CAMmatrixBase::operator+ const CAMvectorBase A  )  const [inherited]
 

Definition at line 415 of file matbse.cpp.

References A, CAMmatrixBase::DataP, CAMvectorBase::DataP, CAMbinaryEngine::doubleCequalAplusB(), CAMdataHandler::getDataType(), CAMmatrixBase::initializeReturnArgument(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::setTemporaryFlag(), CAMvectorBase::Structure, and CAMmatrixBase::Structure.

CAMmatrixBase CAMmatrixBase::operator+ const CAMmatrixBase A  )  const [inherited]
 

Definition at line 398 of file matbse.cpp.

References A, CAMmatrixBase::DataP, CAMbinaryEngine::doubleCequalAplusB(), CAMdataHandler::getDataType(), CAMmatrixBase::initializeReturnArgument(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::setTemporaryFlag(), and CAMmatrixBase::Structure.

DirectionCosineMatrix O_SESSAME::DirectionCosineMatrix::operator+ const DirectionCosineMatrix _DCM2  )  const
 

Determine the successive rotation from the summation of two DCMs.

Parameters:
_DCM2 DCM to be summed with.

Definition at line 651 of file Rotation.cpp.

References DirectionCosineMatrix().

void CAMmatrixBase::operator+= const double  value  )  [inherited]
 

Definition at line 1137 of file matbse.cpp.

References _, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAplusEqualAlpha(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::Structure, and value.

void CAMmatrixBase::operator+= const CAMvectorBase A  )  [inherited]
 

Definition at line 960 of file matbse.cpp.

References A, CAMvectorBase::DataP, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAplusEqualB(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMvectorBase::Structure, and CAMmatrixBase::Structure.

void CAMmatrixBase::operator+= const CAMmatrixBase A  )  [inherited]
 

Definition at line 944 of file matbse.cpp.

References A, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAplusEqualB(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), and CAMmatrixBase::Structure.

CAMmatrixBase CAMmatrixBase::operator- const double  value  )  const [inherited]
 

Definition at line 1105 of file matbse.cpp.

References _, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAminusEqualAlpha(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::setTemporaryFlag(), CAMmatrixBase::Structure, and value.

CAMmatrixBase CAMmatrixBase::operator- const CAMvectorBase A  )  const [inherited]
 

Definition at line 447 of file matbse.cpp.

References A, CAMmatrixBase::DataP, CAMvectorBase::DataP, CAMbinaryEngine::doubleCequalAminusB(), CAMdataHandler::getDataType(), CAMmatrixBase::initializeReturnArgument(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::setTemporaryFlag(), CAMvectorBase::Structure, and CAMmatrixBase::Structure.

CAMmatrixBase CAMmatrixBase::operator- const CAMmatrixBase A  )  const [inherited]
 

Definition at line 431 of file matbse.cpp.

References A, CAMmatrixBase::DataP, CAMbinaryEngine::doubleCequalAminusB(), CAMdataHandler::getDataType(), CAMmatrixBase::initializeReturnArgument(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::setTemporaryFlag(), and CAMmatrixBase::Structure.

CAMmatrixBase CAMmatrixBase::operator-  )  const [inherited]
 

Definition at line 385 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMbinaryEngine::doubleAequalToMinusB(), CAMmatrixBase::initializeReturnArgument(), CAMmatrixBase::setTemporaryFlag(), and CAMmatrixBase::Structure.

DirectionCosineMatrix O_SESSAME::DirectionCosineMatrix::operator- const DirectionCosineMatrix _DCM2  )  const
 

Determine the relative rotation from the difference of two DCMs.

Parameters:
_DCM2 DCM to be differenced with.

Definition at line 660 of file Rotation.cpp.

References DirectionCosineMatrix().

void CAMmatrixBase::operator-= const double  value  )  [inherited]
 

Definition at line 1149 of file matbse.cpp.

References _, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAminusEqualAlpha(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::Structure, and value.

void CAMmatrixBase::operator-= const CAMvectorBase A  )  [inherited]
 

Definition at line 980 of file matbse.cpp.

References A, CAMvectorBase::DataP, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAminusEqualB(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMvectorBase::Structure, and CAMmatrixBase::Structure.

void CAMmatrixBase::operator-= const CAMmatrixBase A  )  [inherited]
 

Definition at line 970 of file matbse.cpp.

References A, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAminusEqualB(), CAMstructureBase::isStrictConformingTo(), CAMmatrixBase::nonConformingMessage(), and CAMmatrixBase::Structure.

CAMmatrixBase CAMmatrixBase::operator/ double  value  )  const [inherited]
 

Definition at line 1183 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMbinaryEngine::doubleAdivideEqualAlpha(), CAMmatrixBase::setTemporaryFlag(), CAMmatrixBase::Structure, and value.

CAMvectorBase CAMmatrixBase::operator/ const CAMvectorBase A  )  const [inherited]
 

Definition at line 793 of file matbse.cpp.

References A, C, CAMmatrixBase::CAMmatrixBase(), CAMmatrixBase::CAMvectorBase, dgesvx_(), CAMvectorBase::getDataPointer(), CAMstructureBase::getIndexBase(), CAMstructureBase::getIndexCount(), CAMvectorBase::getIndexCount(), CAMvectorBase::initialize(), CAMvectorBase::initializeReturnArgument(), CAMmatrixBase::initializeReturnArgument(), CAMstructureBase::isMatrixOpConformingTo(), CAMstructureBase::isSubset(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::nonSquareMessage(), O_SESSAME::R1(), O_SESSAME::R2(), CAMvectorBase::setTemporaryFlag(), CAMvectorBase::Structure, and CAMmatrixBase::Structure.

CAMmatrixBase CAMmatrixBase::operator/ const CAMmatrixBase A  )  const [inherited]
 

Definition at line 651 of file matbse.cpp.

References A, C, CAMmatrixBase::CAMmatrixBase(), dgesvx_(), CAMmatrixBase::getDataPointer(), CAMstructureBase::getIndexBase(), CAMstructureBase::getIndexCount(), CAMmatrixBase::initializeReturnArgument(), CAMstructureBase::isMatrixOpConformingTo(), CAMstructureBase::isSubset(), CAMmatrixBase::nonConformingMessage(), CAMmatrixBase::nonSquareMessage(), O_SESSAME::R1(), O_SESSAME::R2(), CAMmatrixBase::setTemporaryFlag(), and CAMmatrixBase::Structure.

void CAMmatrixBase::operator/= double  value  )  [inherited]
 

Definition at line 1213 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMbinaryEngine::doubleAdivideEqualAlpha(), CAMmatrixBase::Structure, and value.

void CAMmatrixBase::operator/= const CAMvectorBase A  )  [inherited]
 

Definition at line 1013 of file matbse.cpp.

References A, CAMstructureBase::isMatrixOpConformingTo(), CAMmatrixBase::nonConformingMessage(), CAMvectorBase::Structure, and CAMmatrixBase::Structure.

void CAMmatrixBase::operator/= const CAMmatrixBase A  )  [inherited]
 

Definition at line 1005 of file matbse.cpp.

References A, CAMstructureBase::isMatrixOpConformingTo(), CAMmatrixBase::nonConformingMessage(), and CAMmatrixBase::Structure.

CAMstructureBase & CAMmatrixBase::operator[] long  i  )  [inherited]
 

Definition at line 1377 of file matbse.cpp.

References CAMstructureBase::dataDimension, CAMstructureBase::exchangeReferenceIndex(), CAMstructureBase::illegalDimension(), and CAMmatrixBase::Structure.

const CAMstructureBase & CAMmatrixBase::operator[] long  i  )  const [inherited]
 

Definition at line 1387 of file matbse.cpp.

References CAMstructureBase::dataDimension, CAMstructureBase::exchangeReferenceIndex(), CAMstructureBase::illegalDimension(), and CAMmatrixBase::Structure.

CAMmatrixBase CAMmatrixBase::operator~  )  const [inherited]
 

Definition at line 1045 of file matbse.cpp.

References _, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAequalToB(), CAMstructureBase::getIndexBase(), CAMstructureBase::getIndexBound(), CAMstructureBase::setStructureSubset(), CAMmatrixBase::setTemporaryFlag(), and CAMmatrixBase::Structure.

DirectionCosineMatrix O_SESSAME::DirectionCosineMatrix::operator~  )  [inline]
 

Determines the inverse of a DCM by taking the transpose (same operation).

Returns:
Inverse (transpose) of DCM.

Definition at line 684 of file Rotation.cpp.

References DirectionCosineMatrix().

CAMmatrixBase CAMmatrixBase::plusValue double  value  )  [inherited]
 

Definition at line 1228 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMbinaryEngine::doubleAplusEqualAlpha(), CAMmatrixBase::setTemporaryFlag(), CAMmatrixBase::Structure, and value.

double CAMmatrixBase::pNorm double  p  )  const [inherited]
 

Definition at line 144 of file matutl.cpp.

References A, CAMbinaryEngine::doublepNorm(), CAMmatrixBase::getDataPointer(), CAMstructureBase::getFullDataCount(), CAMmatrixBase::initializeMinDuplicate(), CAMstructureBase::isSubset(), CAMmatrixBase::Structure, and value.

double CAMmatrixBase::pNorm float  p  )  const [inherited]
 

Definition at line 172 of file matutl.cpp.

References CAMmatrixBase::pNorm().

double CAMmatrixBase::pNorm long  p  )  const [inherited]
 

Definition at line 171 of file matutl.cpp.

References CAMmatrixBase::pNorm().

double CAMmatrixBase::pNorm int  p  )  const [inherited]
 

Definition at line 170 of file matutl.cpp.

Referenced by CAMmatrixBase::pNorm().

void CAMmatrixBase::referenceCountError  )  [static, inherited]
 

Definition at line 1425 of file matbse.cpp.

References CAMmvaExit().

Referenced by CAMmatrixBase::incrementReferenceCount().

void O_SESSAME::DirectionCosineMatrix::Set const Quaternion _qIn  ) 
 

Set a DCM to the transformation of a quaternion.

Equation:
Parameters:
_qIn 4x1 quaternion to be converted.
Equation: (Ref Wertz, pg. 414)

\[ \left[\bf{R}\left(\bf{\bar{q}}\right)\right] = \begin{bmatrix} 1-2(q_{2}^{2}+q_{3}^{2}) & 2\left(q_1 q_2 + q_4 q_3\right) & 2\left(q_1 q_3 - q_4 q_2\right)\\ 2\left(q_1 q_2 - q_4 q_3\right) & 1-2(q_{1}^{2}+q_{3}^{2}) & 2\left(q_2 q_3 + q_4 q_1\right)\\ 2\left(q_1 q_3 + q_4 q_2\right) & 2\left(q_2 q_3 - q_4 q_1\right) & 1-2(q_{1}^{2}+q_{2}^{2}) \end{bmatrix} \]

Definition at line 516 of file Rotation.cpp.

References O_SESSAME::MatrixIndexBase, Normalize(), and O_SESSAME::VectorIndexBase.

void O_SESSAME::DirectionCosineMatrix::Set const ModifiedRodriguezParameters _MRP  ) 
 

Set the DCM to the transformation of Modified Rodriguez Paramaters (MRP).

Parameters:
_MRP 3x1 matrix of Modified Rodriguez Parameters (MRP).
Equation:

\[ \left[\bf{R}\left(\bf{\sigma}\right)\right] = \frac{1}{\left(1+\sigma^2\right)^2} \begin{bmatrix} 4\left(\sigma^{2}_1-\sigma^{2}_2-\sigma^{2}_3\right)+\Sigma^2 & 8\sigma_1\sigma_2+4\sigma_3\Sigma & 8\sigma_1\sigma_3-4\sigma_2\Sigma\\ 8\sigma_2\sigma_1-4\sigma_3\Sigma & 4\left(-\sigma^{2}_1+\sigma^{2}_2-\sigma^{2}_3\right)+\Sigma^2 & 8\sigma_2\sigma_3+4\sigma_1\Sigma 8\sigma_3\sigma_1+4\sigma_2\Sigma & 8\sigma_3\sigma_2-4\sigma_1\Sigma & 4\left(-\sigma^{2}_1-\sigma^{2}_2+\sigma^{2}_3\right)+\Sigma^2 \end{bmatrix} \]

where $\Sigma=1-\bf{\sigma}^T\bf{\sigma}$

Definition at line 472 of file Rotation.cpp.

References O_SESSAME::Matrix, O_SESSAME::MatrixIndexBase, Normalize(), and O_SESSAME::VectorIndexBase.

void O_SESSAME::DirectionCosineMatrix::Set const Vector _EulerAxis,
const Angle _EulerAngle
 

Set the DCM to the transformation of an Euler Axis and Angle.

Parameters:
_EulerAxis 3x1 Euler Axis vector ($\hat{e}$).
_EulerAngle Angle rotation about axis ($\Phi$)[rad].
Equation: (Ref Wertz, pg. 413)

\[ \bf{R} = \begin{bmatrix} e^{2}_1 \Phi + \cos{\phi} & e_1 e_2 \Phi + e_3\sin{\phi} & e_1 e_3 \Phi - e_2\sin{\phi}\\ e_2 e_1 \Phi - e_3\sin{\phi} & e^{2}_2 \Phi + \cos{\phi} & e_2 e_3 \Phi + e_1\sin{\phi}\\ e_3 e_1 \Phi + e_2\sin{\phi} & e_3 e_2 \Phi - e_1\sin{\phi} & e^{2}_3 \Phi + \cos{\phi} \end{bmatrix} \]

where $\Phi= 1 - \cos{\phi}$ (Ref Hughes p.12)

Definition at line 429 of file Rotation.cpp.

References O_SESSAME::MatrixIndexBase, Normalize(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

void O_SESSAME::DirectionCosineMatrix::Set const Angle _Angle1,
const Angle _Angle2,
const Angle _Angle3,
const int &  _Sequence
 

Set the DCM to the transformation of set of Euler Angles.

Parameters:
_Angle1 first angles in Euler angle set. [rad]
_Angle2 second angles in Euler angle set. [rad]
_Angle3 third angles in Euler angle set. [rad]
_Sequence Euler angle rotation sequence. (ie 123, 213, 313, 321, etc).

Definition at line 391 of file Rotation.cpp.

References O_SESSAME::DCM_SIZE, O_SESSAME::eye(), Normalize(), O_SESSAME::R1(), O_SESSAME::R2(), and O_SESSAME::R3().

void O_SESSAME::DirectionCosineMatrix::Set const Vector _EulerAngles,
const int &  _Sequence
 

Set the DCM to the transformation of set of Euler Angles.

Parameters:
_EulerAngles 3x1 matrix of Euler Angles. [rad]
_Sequence Euler angle rotation sequence. (ie 123, 213, 313, 321, etc).

Definition at line 379 of file Rotation.cpp.

References Set(), O_SESSAME::Vector, and O_SESSAME::VectorIndexBase.

void O_SESSAME::DirectionCosineMatrix::Set const Matrix _DCM  ) 
 

Set a DCM to a copy of an matrix that is a DCM.

Parameters:
_DCM 3x3 Matrix of DCM values to be copied.

Definition at line 366 of file Rotation.cpp.

References O_SESSAME::Matrix, and Normalize().

void O_SESSAME::DirectionCosineMatrix::Set const DirectionCosineMatrix _DCM  ) 
 

Set a DCM to a copy of another DCM.

Parameters:
_DCM 3x3 DCM to be copied.

Definition at line 354 of file Rotation.cpp.

References Normalize().

Referenced by DirectionCosineMatrix(), main(), and Set().

void CAMmatrixBase::setAllIndexBase long  i  )  [inline, inherited]
 

Definition at line 156 of file matbse.h.

References CAMstructureBase::setAllIndexBase(), and CAMmatrixBase::Structure.

void CAMmatrixBase::setReferenceCount int  refValue  )  [inline, inherited]
 

Definition at line 164 of file matbse.h.

References CAMmatrixBase::matrixBaseReferenceCount.

void CAMmatrixBase::setTemporaryFlag  )  [inline, inherited]
 

Definition at line 143 of file matbse.h.

References CAMmatrixBase::DataP, and CAMdataHandler::setTemporaryFlag().

Referenced by CAMvectorBase::asMatrix(), CAMarrayBase::asMatrix(), CAMdoubleMatrix::identity(), CAMmatrixBase::minusValue(), CAMvectorBase::operator *(), operator *(), CAMmatrixBase::operator *(), CAMvectorBase::operator+(), operator+(), CAMmatrixBase::operator+(), CAMvectorBase::operator-(), operator-(), CAMmatrixBase::operator-(), operator/(), CAMmatrixBase::operator/(), CAMmatrixBase::operator~(), CAMmatrixBase::plusValue(), and CAMmatrixBase::transpose().

void CAMmatrixBase::setToValue double  value  )  [inherited]
 

Definition at line 1220 of file matbse.cpp.

References CAMmatrixBase::DataP, CAMbinaryEngine::doubleAequalToAlpha(), CAMmatrixBase::Structure, and value.

Referenced by O_SESSAME::eye(), and O_SESSAME::skew().

CAMmatrixBase CAMmatrixBase::transpose  )  const [inherited]
 

Definition at line 1021 of file matbse.cpp.

References _, CAMmatrixBase::DataP, CAMbinaryEngine::doubleAequalToB(), CAMstructureBase::getIndexBase(), CAMstructureBase::getIndexBound(), CAMstructureBase::setStructureSubset(), CAMmatrixBase::setTemporaryFlag(), and CAMmatrixBase::Structure.


Friends And Related Function Documentation

friend class CAMvectorBase [friend, inherited]
 

Definition at line 63 of file matbse.h.

Referenced by CAMmatrixBase::operator *(), and CAMmatrixBase::operator/().

__IMPEXP__ friend CAMmatrixBase operator * double  value,
const CAMmatrixBase A
[friend, inherited]
 

Definition at line 1172 of file matbse.cpp.

__IMPEXP__ friend CAMmatrixBase operator+ const double  value,
const CAMmatrixBase A
[friend, inherited]
 

Definition at line 1089 of file matbse.cpp.

__IMPEXP__ friend CAMmatrixBase operator- const double  value,
const CAMmatrixBase A
[friend, inherited]
 

Definition at line 1121 of file matbse.cpp.

__IMPEXP__ friend CAMmatrixBase operator/ double  value,
const CAMmatrixBase A
[friend, inherited]
 

Definition at line 1194 of file matbse.cpp.

__IMPEXP__ friend ostream& operator<< ostream &  out_stream,
const CAMmatrixBase A
[friend, inherited]
 

Definition at line 184 of file matbse.cpp.

__IMPEXP__ friend istream& operator>> istream &  in_stream,
CAMmatrixBase A
[friend, inherited]
 

Definition at line 214 of file matbse.cpp.


Member Data Documentation

CAMdataHandler* CAMmatrixBase::DataP [inherited]
 

Definition at line 56 of file matbse.h.

Referenced by CAMmatrixBase::asArray(), CAMvectorBase::asMatrix(), CAMarrayBase::asMatrix(), CAMmatrixBase::asVector(), CAMmatrixBase::CAMmatrixBase(), CAMmatrixBase::exchangeContentsWith(), CAMmatrixBase::getDataPointer(), CAMmatrixBase::initialize(), CAMmatrixBase::initializeMinDuplicate(), CAMmatrixBase::initializeReferenceDuplicate(), CAMmatrixBase::initializeReturnArgument(), CAMmatrixBase::minusValue(), operator *(), CAMmatrixBase::operator *(), CAMmatrixBase::operator *=(), CAMdoubleMatrix::operator()(), CAMvectorBase::operator+(), operator+(), CAMmatrixBase::operator+(), CAMvectorBase::operator+=(), CAMmatrixBase::operator+=(), CAMvectorBase::operator-(), operator-(), CAMmatrixBase::operator-(), CAMvectorBase::operator-=(), CAMmatrixBase::operator-=(), operator/(), CAMmatrixBase::operator/(), CAMmatrixBase::operator/=(), CAMvectorBase::operator=(), CAMmatrixBase::operator=(), CAMmatrixBase::operator~(), CAMmatrixBase::plusValue(), CAMmatrixBase::setTemporaryFlag(), CAMmatrixBase::setToValue(), CAMmatrixBase::transpose(), and CAMmatrixBase::~CAMmatrixBase().

long CAMmatrixBase::matrixBaseReferenceCount [inherited]
 

Definition at line 59 of file matbse.h.

Referenced by CAMmatrixBase::CAMmatrixBase(), CAMmatrixBase::decrementReferenceCount(), CAMmatrixBase::exchangeContentsWith(), CAMmatrixBase::incrementReferenceCount(), CAMmatrixBase::initialize(), CAMmatrixBase::initializeReferenceDuplicate(), CAMmatrixBase::operator=(), and CAMmatrixBase::setReferenceCount().

int CAMmatrixBase::referenceFlag [inherited]
 

Definition at line 58 of file matbse.h.

Referenced by CAMmatrixBase::CAMmatrixBase(), CAMmatrixBase::exchangeContentsWith(), CAMmatrixBase::initialize(), CAMmatrixBase::initializeReferenceDuplicate(), CAMdoubleMatrix::operator()(), and CAMmatrixBase::operator=().

CAMstructureBase CAMmatrixBase::Structure [inherited]
 

Definition at line 55 of file matbse.h.

Referenced by CAMmatrixBase::asArray(), CAMvectorBase::asMatrix(), CAMarrayBase::asMatrix(), CAMmatrixBase::asVector(), CAMmatrixBase::CAMmatrixBase(), CAMmatrixBase::exchangeContentsWith(), CAMmatrixBase::getDataPointer(), CAMmatrixBase::getDimension(), CAMmatrixBase::infNorm(), CAMmatrixBase::initialize(), CAMmatrixBase::initializeMinDuplicate(), CAMmatrixBase::initializeReferenceDuplicate(), CAMmatrixBase::initializeReturnArgument(), CAMmvaGraphics::matrixBasePlot(), CAMmvaGraphics::matrixBaseSurface(), CAMmatrixBase::max(), CAMmatrixBase::maxAbs(), CAMmatrixBase::min(), CAMmatrixBase::minAbs(), CAMmatrixBase::minusValue(), CAMvectorBase::operator *(), operator *(), CAMmatrixBase::operator *(), CAMmatrixBase::operator *=(), CAMdoubleMatrix::operator()(), CAMvectorBase::operator+(), operator+(), CAMmatrixBase::operator+(), CAMvectorBase::operator+=(), CAMmatrixBase::operator+=(), CAMvectorBase::operator-(), operator-(), CAMmatrixBase::operator-(), CAMvectorBase::operator-=(), CAMmatrixBase::operator-=(), operator/(), CAMmatrixBase::operator/(), CAMmatrixBase::operator/=(), operator<<(), CAMvectorBase::operator=(), CAMmatrixBase::operator=(), operator>>(), CAMmatrixBase::operator[](), CAMmatrixBase::operator~(), CAMmatrixBase::plusValue(), CAMmatrixBase::pNorm(), CAMmatrixBase::setAllIndexBase(), CAMmatrixBase::setToValue(), and CAMmatrixBase::transpose().

int CAMmatrixBase::typeValue [inherited]
 

Definition at line 57 of file matbse.h.

Referenced by CAMmatrixBase::CAMmatrixBase(), CAMmatrixBase::exchangeContentsWith(), CAMmatrixBase::initialize(), CAMmatrixBase::initializeMinDuplicate(), CAMmatrixBase::initializeReferenceDuplicate(), and CAMmatrixBase::operator=().


The documentation for this class was generated from the following files:
Generated on Wed Sep 5 12:54:48 2007 for DSACSS Operational Code by  doxygen 1.3.9.1