LRAUV  revA
Matrix3x3 Class Reference

Contains a 3x3 array of double precision floating point numbers, along with methods for performing common operations on the array such as invert(), mult(), etc. More...

#include <Matrix3x3.h>

Inheritance diagram for Matrix3x3:
Collaboration diagram for Matrix3x3:

Public Member Functions

 Matrix3x3 ()
 Empty constructior. More...
 
 Matrix3x3 (const double &init)
 Single Value constructior. More...
 
 Matrix3x3 (const double value11, const double value12, const double value13, const double value21, const double value22, const double value23, const double value31, const double value32, const double value33)
 Nine value constructor. More...
 
 Matrix3x3 (Point6D pos)
 Coordinate transformation constructor. More...
 
Str toString () const
 as a Str More...
 
void transpose ()
 Transpose the matrix. More...
 
void invert ()
 Invert the matrix. More...
 
void decomposeLU ()
 Obtain the LU decompostion of this matrix. More...
 
void solveLU (Point3D &b, Point3D &x) const
 
const void mult (Point3D &lhs, Point3D &rhs) const
 Cross-Multiplies two Point3D values and stores the value here. More...
 
bool operator== (const Matrix3x3 &rhs)
 
Matrix3x3operator= (const Matrix3x3 &rhs)
 
Matrix3x3operator= (const double rhs)
 
Matrix3x3operator+= (const Matrix3x3 &rhs)
 
Matrix3x3operator-= (const Matrix3x3 &rhs)
 
Matrix3x3operator*= (const double rhs)
 
void set (int index1, int index2, const double value)
 
double & operator() (int index1, int index2)
 
virtual double ** getPtr2d ()
 Implement abstract I2D method. More...
 
virtual double * getPtr1d ()
 Implement abstract I2D method. More...
 
virtual int getM () const
 Implement abstract I2D method. More...
 
virtual int getN () const
 Implement abstract I2D method. More...
 
- Public Member Functions inherited from I2D< double >
virtual ~I2D ()
 

Protected Attributes

double value_ [9]
 
double * value2d_ [3]
 

Additional Inherited Members

- Static Public Member Functions inherited from I2D< double >
static double ** New2D (int m, int n, bool extra=false)
 
static void Delete2D (double **array)
 
- Protected Member Functions inherited from I2D< double >
 I2D ()
 
 I2D (const I2D &)
 

Detailed Description

Contains a 3x3 array of double precision floating point numbers, along with methods for performing common operations on the array such as invert(), mult(), etc.

Matrix3x3 is not a DataValue!

Constructor & Destructor Documentation

Matrix3x3::Matrix3x3 ( )

Empty constructior.

References value2d_, and value_.

Matrix3x3::Matrix3x3 ( const double &  init)

Single Value constructior.

References value2d_, and value_.

Matrix3x3::Matrix3x3 ( const double  value11,
const double  value12,
const double  value13,
const double  value21,
const double  value22,
const double  value23,
const double  value31,
const double  value32,
const double  value33 
)

Nine value constructor.

Single Value constructior.

References value2d_, and value_.

Matrix3x3::Matrix3x3 ( Point6D  pos)

Coordinate transformation constructor.

References Point6D::getHeading(), Point6D::getPitch(), Point6D::getRoll(), value2d_, and value_.

Member Function Documentation

void Matrix3x3::decomposeLU ( )

Obtain the LU decompostion of this matrix.

References value_.

virtual int Matrix3x3::getM ( ) const
inlinevirtual

Implement abstract I2D method.

Implements I2D< double >.

virtual int Matrix3x3::getN ( ) const
inlinevirtual

Implement abstract I2D method.

Implements I2D< double >.

virtual double* Matrix3x3::getPtr1d ( )
inlinevirtual

Implement abstract I2D method.

Implements I2D< double >.

References value_.

Referenced by Point3D::addProduct().

virtual double** Matrix3x3::getPtr2d ( )
inlinevirtual

Implement abstract I2D method.

Implements I2D< double >.

References value2d_.

void Matrix3x3::invert ( )

Invert the matrix.

References value_.

const void Matrix3x3::mult ( Point3D lhs,
Point3D rhs 
) const

Cross-Multiplies two Point3D values and stores the value here.

References Point3D::getPtr1d(), Point3D::setX(), Point3D::setY(), Point3D::setZ(), and value_.

double & Matrix3x3::operator() ( int  index1,
int  index2 
)

References value_.

Matrix3x3 & Matrix3x3::operator*= ( const double  rhs)

References value_.

Matrix3x3 & Matrix3x3::operator+= ( const Matrix3x3 rhs)

References value_.

Matrix3x3 & Matrix3x3::operator-= ( const Matrix3x3 rhs)

References value_.

Matrix3x3 & Matrix3x3::operator= ( const Matrix3x3 rhs)

References value_.

Matrix3x3 & Matrix3x3::operator= ( const double  rhs)

References value_.

bool Matrix3x3::operator== ( const Matrix3x3 rhs)

References value_.

void Matrix3x3::set ( int  index1,
int  index2,
const double  value 
)

References value_.

void Matrix3x3::solveLU ( Point3D b,
Point3D x 
) const

References value_.

Str Matrix3x3::toString ( ) const

as a Str

References value_.

void Matrix3x3::transpose ( )

Transpose the matrix.

References AuvMath::Swap(), and value_.

Referenced by ExternalSim::publishState(), DAT::readConfig(), and Rowe_600::readConfig().

Member Data Documentation

double* Matrix3x3::value2d_[3]
protected

Referenced by getPtr2d(), and Matrix3x3().


The documentation for this class was generated from the following files: