46 #include "FGColumnVector3.h" 52 #define ID_MATRIX33 "$Id: FGMatrix33.h,v 1.17 2012/11/22 22:04:06 bcoconni Exp $" 60 class FGColumnVector3;
140 FGMatrix33(
const double m11,
const double m12,
const double m13,
141 const double m21,
const double m22,
const double m23,
142 const double m31,
const double m32,
const double m33)
162 std::string Dump(
const std::string& delimeter)
const;
168 std::string Dump(
const std::string& delimiter,
const std::string& prefix)
const;
177 double operator()(
unsigned int row,
unsigned int col)
const {
178 return data[(col-1)*eRows+row-1];
191 return data[(col-1)*eRows+row-1];
207 double Entry(
unsigned int row,
unsigned int col)
const {
208 return data[(col-1)*eRows+row-1];
224 double&
Entry(
unsigned int row,
unsigned int col) {
225 return data[(col-1)*eRows+row-1];
231 unsigned int Rows(
void)
const {
return eRows; }
236 unsigned int Cols(
void)
const {
return eColumns; }
245 data[3], data[4], data[5],
246 data[6], data[7], data[8] );
257 void InitMatrix(
void);
262 void InitMatrix(
const double m11,
const double m12,
const double m13,
263 const double m21,
const double m22,
const double m23,
264 const double m31,
const double m32,
const double m33)
288 double Determinant(
void)
const;
375 FGMatrix33 operator*(
const double scalar)
const;
385 FGMatrix33 operator/(
const double scalar)
const;
438 double data[eRows*eColumns];
460 std::ostream& operator<<(std::ostream& os,
const FGMatrix33& M);
469 std::istream& operator>>(std::istream& is,
FGMatrix33& M);
Models the Quaternion representation of rotations.
~FGMatrix33(void)
Destructor.
unsigned int Cols(void) const
Number of cloumns in the matrix.
double & Entry(unsigned int row, unsigned int col)
Write access the entries of the matrix.
FGMatrix33(const double m11, const double m12, const double m13, const double m21, const double m22, const double m23, const double m31, const double m32, const double m33)
Initialization by given values.
double & operator()(unsigned int row, unsigned int col)
Write access the entries of the matrix.
void InitMatrix(const double m11, const double m12, const double m13, const double m21, const double m22, const double m23, const double m31, const double m32, const double m33)
Initialize the matrix.
FGMatrix33 & operator=(const FGMatrix33 &A)
Assignment operator.
bool Invertible(void) const
Return if the matrix is invertible.
double Entry(unsigned int row, unsigned int col) const
Read access the entries of the matrix.
This class implements a 3 element column vector.
FGMatrix33(const FGMatrix33 &M)
Copy constructor.
unsigned int Rows(void) const
Number of rows in the matrix.
Handles matrix math operations.
FGMatrix33 Transposed(void) const
Transposed matrix.
Exception convenience class.
double operator()(unsigned int row, unsigned int col) const
Read access the entries of the matrix.