#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] |
Basic virtual destructor.
Definition at line 93 of file CeylanMatrix3.cc.
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] |
Must access to each other's coordinates.
Definition at line 83 of file CeylanMatrix3.h.
friend class Vector3 [friend] |
Must access to each other's coordinates.
Definition at line 87 of file CeylanMatrix3.h.
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().