#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().