#include <CeylanMatrix2.h>
Public Types | |
enum | TextOutputFormat { rawText, html } |
Defines what text output formats for TextDisplayable instances are available. More... | |
Public Member Functions | |
Matrix2 (Real x0=0, Real x1=0, Real y0=0, Real y1=0) | |
Constructs a new 2x2 matrix with specified elements. | |
Matrix2 (const Matrix2 &source) | |
Copy constructor. | |
virtual | ~Matrix2 () throw () |
Basic virtual destructor. | |
virtual void | setTo (Real x0=0, Real x1=0, Real y0=0, Real y1=0) |
Reassigns all matrix elements. | |
virtual void | setColumn (MatrixIndex columnNumber, const Vector2 &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 Matrix2 | Cofactor (const Matrix2 &m) |
Returns the cofactor matrix. | |
static Matrix2 | Adjoint (const Matrix2 &m) |
Returns the adjoint matrix. | |
static Matrix2 | CreateFromRotation (AngleInDegrees angle) |
Returns the matrix corresponding to the specified rotation. | |
template<typename T > | |
static Matrix2 | 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 = 2 |
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 | Bipoint |
Must access to each other's coordinates. | |
class | Vector2 |
Must access to each other's coordinates. | |
CEYLAN_DLL friend bool | operator== (const Matrix2 &m1, const Matrix2 &m2) |
Tells whether the two matrices have the same elements. | |
CEYLAN_DLL friend bool | operator!= (const Matrix2 &m1, const Matrix2 &m2) |
Tells whether the two matrices are different. | |
CEYLAN_DLL friend Matrix2 | operator+ (const Matrix2 &m1, const Matrix2 &m2) |
Adds two matrices: result = m1 + m2. | |
CEYLAN_DLL friend Matrix2 | operator- (const Matrix2 &m1, const Matrix2 &m2) |
Substracts two matrices: result = m1 - m2. | |
CEYLAN_DLL friend Matrix2 | operator* (const Matrix2 &m1, const Matrix2 &m2) |
Multiplies two matrices: result = m1 * m2. | |
CEYLAN_DLL friend Matrix2 | operator* (Real lambda, const Matrix2 &m) |
Multiplies a matrix by a scalar: result = lambda * m. | |
CEYLAN_DLL friend Matrix2 | operator! (const Matrix2 &m) |
Returns the inverse (reciproqual) of specified matrix, if possible. | |
CEYLAN_DLL friend Matrix2 | operator~ (const Matrix2 &m) |
Returns the transposed matrix corresponding to this matrix. | |
CEYLAN_DLL friend Vector2 | operator* (const Matrix2 &m, const Vector2 &v) |
Multiplies a matrix by a vector: result = m * v. |
Definition at line 78 of file CeylanMatrix2.h.
enum Ceylan::TextDisplayable::TextOutputFormat [inherited] |
Defines what text output formats for TextDisplayable instances are available.
Definition at line 124 of file CeylanTextDisplayable.h.
Constructs a new 2x2 matrix with specified elements.
Definition at line 66 of file CeylanMatrix2.cc.
References _mat.
Matrix2::Matrix2 | ( | const Matrix2 & | source | ) |
Copy constructor.
Definition at line 78 of file CeylanMatrix2.cc.
References _mat, and Dimensions.
Matrix2::~Matrix2 | ( | ) | throw () [virtual] |
Basic virtual destructor.
Definition at line 90 of file CeylanMatrix2.cc.
Returns the adjoint matrix.
Definition at line 313 of file CeylanMatrix2.cc.
References Cofactor(), and transpose().
Returns the cofactor matrix.
Definition at line 297 of file CeylanMatrix2.cc.
References _mat.
Referenced by Adjoint().
static Matrix2 Ceylan::Maths::Linear::Matrix2::CreateFrom | ( | T | endomorphism | ) | [inline, static] |
Returns the matrix corresponding to specified endomorphism.
endomorphism | can be a functor (ex: Endomorphism2DFunctor) or a simple function: Vector2 -> Vector. |
Definition at line 365 of file CeylanMatrix2.h.
References setColumn(), and Ceylan::Maths::Linear::Vector2::setTo().
Referenced by CreateFromRotation().
Matrix2 Matrix2::CreateFromRotation | ( | AngleInDegrees | angle | ) | [static] |
Returns the matrix corresponding to the specified rotation.
angle | in degrees |
Definition at line 326 of file CeylanMatrix2.cc.
References CreateFrom().
Referenced by Ceylan::Maths::Linear::HomogeneousMatrix3::HomogeneousMatrix3().
Real Matrix2::determinant | ( | ) | const [virtual] |
Computes this matrix's determinant.
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 224 of file CeylanMatrix2.cc.
References _mat.
Referenced by Ceylan::Maths::Linear::operator!().
Real Matrix2::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 130 of file CeylanMatrix2.cc.
References _mat, and Dimensions.
Referenced by Ceylan::Maths::Linear::HomogeneousMatrix3::setRotationMatrix().
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(), Ceylan::Maths::Linear::Matrix3::toString(), 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 Matrix2::setAllElementsTo | ( | Real | commonValue | ) | [virtual] |
Sets this matrix so that all its elements equal commonValue.
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 119 of file CeylanMatrix2.cc.
References _mat, and Dimensions.
void Matrix2::setColumn | ( | MatrixIndex | columnNumber, | |
const Vector2 & | newColumn | |||
) | [virtual] |
Reassigns specified column of this matrix.
Definition at line 109 of file CeylanMatrix2.cc.
References _mat, Ceylan::Maths::Linear::Vector2::_vec, and Dimensions.
Referenced by CreateFrom().
void Matrix2::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 146 of file CeylanMatrix2.cc.
References _mat, and Dimensions.
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 Matrix2::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 171 of file CeylanMatrix2.cc.
References _mat, and Dimensions.
Referenced by setToIdentity().
void Matrix2::setToIdentity | ( | ) | [virtual] |
Sets this matrix to the identity matrix.
Reimplemented from Ceylan::Maths::Linear::Matrix.
Definition at line 163 of file CeylanMatrix2.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 Matrix2::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.
Definition at line 234 of file CeylanMatrix2.cc.
References _mat, Ceylan::DigitOutputPrecision, Dimensions, Ceylan::Log::LogPlug::error(), Ceylan::TextDisplayable::GetOutputFormat(), Ceylan::TextDisplayable::html, and Ceylan::toString().
Real Matrix2::trace | ( | ) | const [virtual] |
Computes this matrix's trace.
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 210 of file CeylanMatrix2.cc.
References _mat, and Dimensions.
void Matrix2::transpose | ( | ) | [virtual] |
Tranposes this matrix.
Implements Ceylan::Maths::Linear::Matrix.
Definition at line 182 of file CeylanMatrix2.cc.
References _mat, Dimensions, and generalUtils::temp.
Referenced by Adjoint().
friend class Bipoint [friend] |
Must access to each other's coordinates.
Definition at line 86 of file CeylanMatrix2.h.
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 Vector2 [friend] |
Must access to each other's coordinates.
Definition at line 90 of file CeylanMatrix2.h.
Real Ceylan::Maths::Linear::Matrix2::_mat[Dimensions][Dimensions] [protected] |
The nine coordinates of this matrix.
Definition at line 395 of file CeylanMatrix2.h.
Referenced by Cofactor(), determinant(), getElementAt(), Matrix2(), setAllElementsTo(), setColumn(), setElementAt(), setTo(), setToDiagonal(), 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::Matrix2::Dimensions = 2 [static] |
Tells what is the dimension for this Matrix.
Reimplemented from Ceylan::Maths::Linear::Matrix.
Definition at line 387 of file CeylanMatrix2.h.
Referenced by getElementAt(), Matrix2(), setAllElementsTo(), setColumn(), setElementAt(), setToDiagonal(), toString(), trace(), and transpose().