Leonetienne/Eule
Homemade math library, mainly targetted towards computer graphics
|
Go to the documentation of this file.
44 std::array<std::array<double, 4>, 4>
v;
73 std::array<double, 4>&
operator[](std::size_t y);
74 const std::array<double, 4>&
operator[](std::size_t y)
const;
Matrix4x4 Inverse4x4() const
Will return the full 4x4-inverse of this matrix.
Matrix4x4 Adjoint(std::size_t n) const
Will return the adjoint of this matrix, by dimension n.
bool operator==(const Matrix4x4 &other)
Matrix4x4 operator+(const Matrix4x4 &other) const
Cellwise addition.
void operator-=(const Matrix4x4 &other)
Cellwise subtraction.
Matrix4x4 Transpose4x4() const
Will return the 4x4 transpose of this matrix.
bool operator!=(const Matrix4x4 &other)
Representation of a 3d vector.
std::array< double, 4 > & operator[](std::size_t y)
Matrix4x4 DropTranslationComponents() const
Will return this Matrix4x4 with d,h,l being set to 0.
void operator*=(const Matrix4x4 &other)
Matrix4x4 Inverse3x3() const
Will return the 3x3-inverse of this matrix.
Matrix4x4 operator/(const Matrix4x4 &other) const
std::array< std::array< double, 4 >, 4 > v
Array holding the matrices values.
Matrix4x4 operator*(const Matrix4x4 &other) const
Vector3< double > Vector3d
void operator=(const Matrix4x4 &other)
A matrix 4x4 class representing a 3d transformation.
bool IsInversible4x4() const
Will check if the entire matrix is inversible.
bool Similar(const Matrix4x4 &other, double epsilon=0.00001) const
Will compare if two matrices are similar to a certain epsilon value.
void operator/=(const Matrix4x4 &other)
friend std::ostream & operator<<(std::ostream &os, const Matrix4x4 &m)
bool IsInversible3x3() const
Will check if the 3x3-component is inversible.
Matrix4x4 Transpose3x3() const
Will return the 3x3 transpose of this matrix.
Matrix4x4 operator-(const Matrix4x4 &other) const
Cellwise subtraction.
double Determinant(std::size_t n) const
Will return the determinant, by dimension n.
void operator+=(const Matrix4x4 &other)
Cellwise addition.
void SetTranslationComponent(const Vector3d &trans)
Will set d,h,l from a Vector3d(x,y,z)
Matrix4x4 Multiply4x4(const Matrix4x4 &o) const
Will return the Matrix4x4 of an actual 4x4 multiplication. operator* only does a 3x3.
Matrix4x4 GetCofactors(std::size_t p, std::size_t q, std::size_t n) const
Will return the cofactors of this matrix, by dimension n.
const Vector3d GetTranslationComponent() const
Will return d,h,l as a Vector3d(x,y,z)