 |
JSBSim Flight Dynamics Model
1.1.11 (13 Feb 2022)
An Open Source Flight Dynamics and Control Software Library in C++
|
46 #include "FGJSBBase.h"
47 #include "FGColumnVector3.h"
117 FGMatrix33(
const double m11,
const double m12,
const double m13,
118 const double m21,
const double m22,
const double m23,
119 const double m31,
const double m32,
const double m33)
139 std::string
Dump(
const std::string& delimeter)
const;
146 std::string
Dump(
const std::string& delimiter,
const std::string& prefix)
const;
155 double operator()(
unsigned int row,
unsigned int col)
const {
156 return data[(col-1)*eRows+row-1];
169 return data[(col-1)*eRows+row-1];
185 double Entry(
unsigned int row,
unsigned int col)
const {
186 return data[(col-1)*eRows+row-1];
202 double&
Entry(
unsigned int row,
unsigned int col) {
203 return data[(col-1)*eRows+row-1];
209 unsigned int Rows(
void)
const {
return eRows; }
214 unsigned int Cols(
void)
const {
return eColumns; }
223 data[3], data[4], data[5],
224 data[6], data[7], data[8] );
240 void InitMatrix(
const double m11,
const double m12,
const double m13,
241 const double m21,
const double m22,
const double m23,
242 const double m31,
const double m32,
const double m33)
434 double data[eRows*eColumns];
444 inline FGMatrix33 operator*(
double scalar,
const FGMatrix33& A) {
456 std::ostream& operator<<(std::ostream& os,
const FGMatrix33& M);
465 std::istream& operator>>(std::istream& is, FGMatrix33& M);
std::string Dump(const std::string &delimeter) const
Prints the contents of the matrix.
FGMatrix33 operator/(const double scalar) const
Multiply the matrix with 1.0/scalar.
void T(void)
Transposes this matrix.
double & Entry(unsigned int row, unsigned int col)
Write access the entries of the matrix.
This class implements a 3 element column vector.
FGQuaternion GetQuaternion(void) const
Returns the quaternion associated with this direction cosine (rotation) matrix.
double Determinant(void) const
Determinant of the matrix.
FGMatrix33 & operator-=(const FGMatrix33 &B)
In place matrix subtraction.
bool Invertible(void) const
Return if the matrix is invertible.
FGMatrix33(void)
Default initializer.
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.
double Entry(unsigned int row, unsigned int col) const
Read access the entries of the matrix.
FGMatrix33(const FGMatrix33 &M)
Copy constructor.
FGMatrix33 Inverse(void) const
Return the inverse of the matrix.
Handles matrix math operations.
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.
FGColumnVector3 GetEuler() const
Returns the Euler angle column vector associated with this matrix.
double & operator()(unsigned int row, unsigned int col)
Write access the entries of the matrix.
FGMatrix33 & operator=(const FGMatrix33 &A)
Assignment operator.
FGMatrix33 Transposed(void) const
Transposed matrix.
FGMatrix33 & operator=(std::initializer_list< double > lv)
Assignment operator.
unsigned int Rows(void) const
Number of rows in the matrix.
FGMatrix33 & operator*=(const FGMatrix33 &B)
In place matrix multiplication.
double operator()(unsigned int row, unsigned int col) const
Read access the entries of the matrix.
FGMatrix33 operator-(const FGMatrix33 &B) const
Matrix subtraction.
FGMatrix33 & operator+=(const FGMatrix33 &B)
In place matrix addition.
FGColumnVector3 operator*(const FGColumnVector3 &v) const
Matrix vector multiplication.
~FGMatrix33(void)
Destructor.
unsigned int Cols(void) const
Number of cloumns in the matrix.
Models the Quaternion representation of rotations.
void InitMatrix(void)
Initialize the matrix.
FGMatrix33 & operator/=(const double scalar)
In place matrix scale.
FGMatrix33 operator+(const FGMatrix33 &B) const
Matrix addition.