#include <CeylanMatrix3.h>


Public Types | |
| enum | TextOutputFormat { rawText, html } |
| Defines what text output formats for TextDisplayable instances are available. More... | |
Public Member Functions | |
| Matrix3 (Real x0=0, Real x1=0, Real x2=0, Real y0=0, Real y1=0, Real y2=0, Real z0=0, Real z1=0, Real z2=0) | |
| Constructs a new 3x3 matrix with specified elements. | |
| Matrix3 (const Matrix3 &source) | |
| Copy constructor. | |
| virtual | ~Matrix3 () throw () |
| Basic virtual destructor. | |
| virtual void | setTo (Real x0=0, Real x1=0, Real x2=0, Real y0=0, Real y1=0, Real y2=0, Real z0=0, Real z1=0, Real z2=0) |
| Reassigns all matrix elements. | |
| virtual void | setColumn (MatrixIndex columnNumber, const Vector3 &newColumn) |
| Reassigns specified column of this matrix. | |
| virtual void | setAllElementsTo (Real commonValue) |
| Sets this matrix so that all its elements equal commonValue. | |
| virtual Real | getElementAt (MatrixIndex abscissa, MatrixIndex ordinate) const |
| Returns indexed element. | |
| virtual void | setElementAt (MatrixIndex abscissa, MatrixIndex ordinate, Real newValue) |
| Sets indexed element to specified value. | |
| virtual void | setToIdentity () |
| Sets this matrix to the identity matrix. | |
| virtual void | setToDiagonal (Real diagonalTerm) |
| Sets this matrix to the a diagonal matrix whose diagonal term is diagonalTerm. | |
| virtual void | transpose () |
| Tranposes this matrix. | |
| virtual Real | trace () const |
| Computes this matrix's trace. | |
| virtual Real | determinant () const |
| Computes this matrix's determinant. | |
| virtual const std::string | toString (VerbosityLevels level=high) const |
| Returns a user-friendly description of the state of this object. | |
| virtual void | nullify () |
| Sets this matrix to the null matrix (all elements zeroed). | |
Static Public Member Functions | |
| static Matrix3 | Cofactor (const Matrix3 &m) |
| Returns the cofactor matrix. | |
| static Matrix3 | Adjoint (const Matrix3 &m) |
| Returns the adjoint matrix. | |
| template<typename T > | |
| static Matrix3 | CreateFrom (T endomorphism) |
| Returns the matrix corresponding to specified endomorphism. | |
| static const std::string | ToString (std::list< TextDisplayable * > displayables, Ceylan::VerbosityLevels level=Ceylan::high) |
| Returns a user-friendly description of this list of pointers to text displayable instances. | |
| static TextOutputFormat | GetOutputFormat () |
| Returns the current overall text format to be used by TextDisplayable instances. | |
| static void | SetOutputFormat (TextOutputFormat newOutputFormat) |
| Sets the current overall text format to be used by TextDisplayable instances. | |
Static Public Attributes | |
| static const MatrixIndex | Dimensions = 3 |
| Tells what is the dimension for this Matrix. | |
Protected Attributes | |
| Real | _mat [Dimensions][Dimensions] |
| The nine coordinates of this matrix. | |
Static Protected Attributes | |
| static TextOutputFormat | _OutputFormat = rawText |
| The text format to be used currently by TextDisplayable instances. | |
Friends | |
| class | Tripoint |
| Must access to each other's coordinates. | |
| class | Vector3 |
| Must access to each other's coordinates. | |
| CEYLAN_DLL friend bool | operator== (const Matrix3 &m1, const Matrix3 &m2) |
| Tells whether the two matrices have the same elements. | |
| CEYLAN_DLL friend bool | operator!= (const Matrix3 &m1, const Matrix3 &m2) |
| Tells whether the two matrices are different. | |
| CEYLAN_DLL friend Matrix3 | operator+ (const Matrix3 &m1, const Matrix3 &m2) |
| Adds two matrices: result = m1 + m2. | |
| CEYLAN_DLL friend Matrix3 | operator- (const Matrix3 &m1, const Matrix3 &m2) |
| Substracts two matrices: result = m1 - m2. | |
| CEYLAN_DLL friend Matrix3 | operator* (const Matrix3 &m1, const Matrix3 &m2) |
| Multiplies two matrices: result = m1 * m2. | |
| CEYLAN_DLL friend Matrix3 | operator* (Real lambda, const Matrix3 &m) |
| Multiplies a matrix by a scalar: result = lambda * m. | |
| CEYLAN_DLL friend Matrix3 | operator! (const Matrix3 &m) |
| Returns the inverse (reciproqual) of specified matrix, if possible. | |
| CEYLAN_DLL friend Matrix3 | operator~ (const Matrix3 &m) |
| Returns the transposed matrix corresponding to this matrix. | |
| CEYLAN_DLL friend Vector3 | operator* (const Matrix3 &m, const Vector3 &v) |
| Multiplies a matrix by a vector: result = m * v. | |
Definition at line 75 of file CeylanMatrix3.h.
enum Ceylan::TextDisplayable::TextOutputFormat [inherited] |
Defines what text output formats for TextDisplayable instances are available.
Definition at line 124 of file CeylanTextDisplayable.h.
| Matrix3::Matrix3 | ( | Real | x0 = 0, |
|
| Real | x1 = 0, |
|||
| Real | x2 = 0, |
|||
| Real | y0 = 0, |
|||
| Real | y1 = 0, |
|||
| Real | y2 = 0, |
|||
| Real | z0 = 0, |
|||
| Real | z1 = 0, |
|||
| Real | z2 = 0 | |||
| ) | [explicit] |
Constructs a new 3x3 matrix with specified elements.
Definition at line 63 of file CeylanMatrix3.cc.
References _mat.
| Matrix3::Matrix3 | ( | const Matrix3 & | source | ) |
Copy constructor.
Definition at line 81 of file CeylanMatrix3.cc.
References _mat, and Dimensions.
| Matrix3::~Matrix3 | ( | ) | throw () [virtual] |
Returns the adjoint matrix.
Definition at line 339 of file CeylanMatrix3.cc.
References Cofactor(), and transpose().
Returns the cofactor matrix.
Definition at line 301 of file CeylanMatrix3.cc.
References _mat.
Referenced by Adjoint().
| static Matrix3 Ceylan::Maths::Linear::Matrix3::CreateFrom | ( | T | endomorphism | ) | [inline, static] |
Returns the matrix corresponding to specified endomorphism.
| endomorphism | can be a functor (ex: Endomorphism3DFunctor) or a simple function: Vector3 -> Vector3. |
Definition at line 357 of file CeylanMatrix3.h.
References setColumn(), and Ceylan::Maths::Linear::Vector3::setTo().
| Real Matrix3::determinant | ( | ) | const [virtual] |
Computes this matrix's determinant.
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 227 of file CeylanMatrix3.cc.
References _mat.
Referenced by Ceylan::Maths::Linear::operator!().
| Real Matrix3::getElementAt | ( | MatrixIndex | abscissa, | |
| MatrixIndex | ordinate | |||
| ) | const [virtual] |
Returns indexed element.
Index ranges from 0 to Dimensions-1 for both dimensions.
| MathsException | if index is out of bounds and if in debug mode. |
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 140 of file CeylanMatrix3.cc.
References _mat, and Dimensions.
Referenced by Ceylan::Locatable2D::getCenter().
| TextDisplayable::TextOutputFormat TextDisplayable::GetOutputFormat | ( | ) | [static, inherited] |
Returns the current overall text format to be used by TextDisplayable instances.
Definition at line 63 of file CeylanTextDisplayable.cc.
References Ceylan::TextDisplayable::_OutputFormat.
Referenced by Ceylan::formatStringList(), Ceylan::formatStringMap(), Ceylan::XML::XMLMarkup::toString(), Ceylan::Maths::Linear::Vector3::toString(), Ceylan::Maths::Linear::Vector2::toString(), Ceylan::Maths::Linear::Tripoint::toString(), Ceylan::Module::toString(), toString(), Ceylan::Maths::Linear::Matrix2::toString(), Ceylan::Maths::Linear::HomogeneousMatrix3::toString(), and Ceylan::Maths::Linear::Bipoint::toString().
| void Matrix::nullify | ( | ) | [virtual, inherited] |
Sets this matrix to the null matrix (all elements zeroed).
Definition at line 53 of file CeylanMatrix.cc.
References Ceylan::Maths::Linear::Matrix::setAllElementsTo().
| void Matrix3::setAllElementsTo | ( | Real | commonValue | ) | [virtual] |
Sets this matrix so that all its elements equal commonValue.
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 129 of file CeylanMatrix3.cc.
References _mat, and Dimensions.
| void Matrix3::setColumn | ( | MatrixIndex | columnNumber, | |
| const Vector3 & | newColumn | |||
| ) | [virtual] |
Reassigns specified column of this matrix.
Definition at line 118 of file CeylanMatrix3.cc.
References _mat, Ceylan::Maths::Linear::Vector3::_vec, and Dimensions.
Referenced by CreateFrom().
| void Matrix3::setElementAt | ( | MatrixIndex | abscissa, | |
| MatrixIndex | ordinate, | |||
| Real | newValue | |||
| ) | [virtual] |
Sets indexed element to specified value.
Index ranges from 0 to Dimensions-1 for both dimensions.
| MathsException | if index is out of bounds and if in debug mode. |
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 157 of file CeylanMatrix3.cc.
References _mat, and Dimensions.
Referenced by Ceylan::Locatable2D::setCenter().
| void TextDisplayable::SetOutputFormat | ( | TextOutputFormat | newOutputFormat | ) | [static, inherited] |
Sets the current overall text format to be used by TextDisplayable instances.
| newOutputFormat | the new output format. |
Definition at line 72 of file CeylanTextDisplayable.cc.
References Ceylan::TextDisplayable::_OutputFormat.
Referenced by Ceylan::Log::LogHolder::LogHolder().
| void Matrix3::setToDiagonal | ( | Real | diagonalTerm | ) | [virtual] |
Sets this matrix to the a diagonal matrix whose diagonal term is diagonalTerm.
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 183 of file CeylanMatrix3.cc.
References _mat, and Dimensions.
Referenced by setToIdentity().
| void Matrix3::setToIdentity | ( | ) | [virtual] |
Sets this matrix to the identity matrix.
Reimplemented from Ceylan::Maths::Linear::Matrix.
Definition at line 174 of file CeylanMatrix3.cc.
References setToDiagonal().
| const std::string TextDisplayable::ToString | ( | std::list< TextDisplayable * > | displayables, | |
| Ceylan::VerbosityLevels | level = Ceylan::high | |||
| ) | [static, inherited] |
Returns a user-friendly description of this list of pointers to text displayable instances.
| displayables | a list of pointers to TextDisplayable instances/ | |
| level | the requested verbosity level. |
Definition at line 45 of file CeylanTextDisplayable.cc.
References Ceylan::formatStringList().
| const string Matrix3::toString | ( | VerbosityLevels | level = high |
) | const [virtual] |
Returns a user-friendly description of the state of this object.
| level | the requested verbosity level. |
Reimplemented from Ceylan::Maths::Linear::Matrix.
Reimplemented in Ceylan::Maths::Linear::HomogeneousMatrix3.
Definition at line 238 of file CeylanMatrix3.cc.
References _mat, Ceylan::DigitOutputPrecision, Dimensions, Ceylan::Log::LogPlug::error(), Ceylan::TextDisplayable::GetOutputFormat(), Ceylan::TextDisplayable::html, and Ceylan::toString().
| Real Matrix3::trace | ( | ) | const [virtual] |
Computes this matrix's trace.
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 213 of file CeylanMatrix3.cc.
References _mat, and Dimensions.
| void Matrix3::transpose | ( | ) | [virtual] |
Tranposes this matrix.
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 194 of file CeylanMatrix3.cc.
References _mat, Dimensions, and generalUtils::temp.
Referenced by Adjoint().
Returns the inverse (reciproqual) of specified matrix, if possible.
| LinearException | if the matrix is singuler. |
Tells whether the two matrices are different.
Multiplies a matrix by a vector: result = m * v.
Multiplies a matrix by a scalar: result = lambda * m.
Multiplies two matrices: result = m1 * m2.
Adds two matrices: result = m1 + m2.
Substracts two matrices: result = m1 - m2.
Tells whether the two matrices have the same elements.
Returns the transposed matrix corresponding to this matrix.
friend class Tripoint [friend] |
friend class Vector3 [friend] |
Real Ceylan::Maths::Linear::Matrix3::_mat[Dimensions][Dimensions] [protected] |
The nine coordinates of this matrix.
Definition at line 392 of file CeylanMatrix3.h.
Referenced by Cofactor(), determinant(), getElementAt(), Ceylan::Maths::Linear::HomogeneousMatrix3::HomogeneousMatrix3(), Matrix3(), setAllElementsTo(), Ceylan::Maths::Linear::HomogeneousMatrix3::setBottomRow(), setColumn(), setElementAt(), Ceylan::Maths::Linear::HomogeneousMatrix3::setInCanonicalForm(), Ceylan::Maths::Linear::HomogeneousMatrix3::setRotationMatrix(), setTo(), setToDiagonal(), Ceylan::Maths::Linear::HomogeneousMatrix3::setTranslationVector(), toString(), Ceylan::Maths::Linear::HomogeneousMatrix3::toString(), trace(), and transpose().
TextDisplayable::TextOutputFormat TextDisplayable::_OutputFormat = rawText [static, protected, inherited] |
The text format to be used currently by TextDisplayable instances.
Definition at line 158 of file CeylanTextDisplayable.h.
Referenced by Ceylan::TextDisplayable::GetOutputFormat(), and Ceylan::TextDisplayable::SetOutputFormat().
const MatrixIndex Ceylan::Maths::Linear::Matrix3::Dimensions = 3 [static] |
Tells what is the dimension for this Matrix.
Reimplemented from Ceylan::Maths::Linear::Matrix.
Reimplemented in Ceylan::Maths::Linear::HomogeneousMatrix3.
Definition at line 384 of file CeylanMatrix3.h.
Referenced by getElementAt(), Matrix3(), setAllElementsTo(), setColumn(), setElementAt(), setToDiagonal(), toString(), trace(), and transpose().
1.5.8