DSC
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Public Member Functions | List of all members
CGLA::Mat4x4d Class Reference

4x4 double matrix. More...

#include <Mat4x4d.h>

Inheritance diagram for CGLA::Mat4x4d:
CGLA::ArithSqMat4x4Float< Vec4d, Mat4x4d > CGLA::ArithSqMatFloat< Vec4d, Mat4x4d, 4 > CGLA::ArithMatFloat< Vec4d, Vec4d, Mat4x4d, ROWS >

Public Member Functions

 Mat4x4d (Vec4d _a, Vec4d _b, Vec4d _c, Vec4d _d) noexcept
 Construct a Mat4x4d from four Vec4d vectors.
 
 Mat4x4d () noexcept
 Construct the nan matrix.
 
 Mat4x4d (double a) noexcept
 Construct a matrix with identical elements.
 
- Public Member Functions inherited from CGLA::ArithSqMat4x4Float< Vec4d, Mat4x4d >
 ArithSqMat4x4Float (Vec4da, Vec4db, Vec4dc, Vec4dd) noexcept
 Construct a Mat4x4f from four V vectors.
 
 ArithSqMat4x4Float () noexcept
 Construct the NAN matrix.
 
 ArithSqMat4x4Float (ScalarType _a) noexcept
 Construct matrix where all values are equal to constructor argument.
 
const VecT mul_3D_vector (const ArithVec3Float< T, VecT > &v_in) const
 
const VecT mul_3D_point (const ArithVec3Float< T, VecT > &v_in) const
 
const VecT project_3D_point (const ArithVec3Float< T, VecT > &v_in) const
 
- Public Member Functions inherited from CGLA::ArithSqMatFloat< Vec4d, Mat4x4d, 4 >
const Mat4x4doperator*= (const Mat4x4d &m2) noexcept
 
const Mat4x4doperator*= (ScalarType k) noexcept
 
void identity ()
 
- Public Member Functions inherited from CGLA::ArithMatFloat< Vec4d, Vec4d, Mat4x4d, ROWS >
const ScalarTypeget () const
 
ScalarTypeget ()
 
const Vec4doperator[] (unsigned int i) const
 Const index operator. Returns i'th row of matrix.
 
Vec4doperator[] (unsigned int i)
 Non-const index operator. Returns i'th row of matrix.
 
bool operator== (const Mat4x4d &v) const
 Equality operator.
 
bool operator!= (const Mat4x4d &v) const
 Inequality operator.
 
const Mat4x4d operator* (ScalarType k) const
 Multiply scalar onto matrix. All entries are multiplied by scalar.
 
const Mat4x4d operator/ (ScalarType k) const
 Divide all entries in matrix by scalar.
 
const Mat4x4doperator*= (ScalarType k)
 Assignment multiplication of matrix by scalar.
 
const Mat4x4doperator/= (ScalarType k)
 Assignment division of matrix by scalar.
 
const Mat4x4d operator+ (const Mat4x4d &m1) const
 Add two matrices.
 
const Mat4x4d operator- (const Mat4x4d &m1) const
 Subtract two matrices.
 
const Mat4x4d operator- () const
 Negate matrix.
 
const Mat4x4doperator+= (const Mat4x4d &v)
 Assigment addition of matrices.
 
const Mat4x4doperator-= (const Mat4x4d &v)
 Assigment subtraction of matrices.
 

Additional Inherited Members

- Public Types inherited from CGLA::ArithSqMat4x4Float< Vec4d, Mat4x4d >
typedef Vec4d VectorType
 Vector type.
 
typedef Vec4d::ScalarType ScalarType
 The type of a matrix element.
 
- Public Types inherited from CGLA::ArithSqMatFloat< Vec4d, Mat4x4d, 4 >
typedef Vec4d VectorType
 Vector type.
 
typedef Vec4d::ScalarType ScalarType
 The type of a matrix element.
 
- Public Types inherited from CGLA::ArithMatFloat< Vec4d, Vec4d, Mat4x4d, ROWS >
typedef Vec4d HVectorType
 Horizontal vector type.
 
typedef Vec4d VVectorType
 Vertical vector type.
 
typedef Vec4d::ScalarType ScalarType
 The type of a matrix element.
 
- Static Public Member Functions inherited from CGLA::ArithMatFloat< Vec4d, Vec4d, Mat4x4d, ROWS >
static unsigned int get_v_dim ()
 Get vertical dimension of matrix.
 
static unsigned int get_h_dim ()
 Get horizontal dimension of matrix.
 
- Protected Member Functions inherited from CGLA::ArithSqMatFloat< Vec4d, Mat4x4d, 4 >
 ArithSqMatFloat () noexcept
 Construct 0 matrix.
 
 ArithSqMatFloat (ScalarType _a) noexcept
 Construct matrix where all values are equal to constructor argument.
 
 ArithSqMatFloat (Vec4d_a, Vec4d_b) noexcept
 Construct 2x2 Matrix from two vectors.
 
 ArithSqMatFloat (Vec4d_a, Vec4d_b, Vec4d_c) noexcept
 Construct 3x3 Matrix from three vectors.
 
 ArithSqMatFloat (Vec4d_a, Vec4d_b, Vec4d_c, Vec4d_d) noexcept
 Construct 4x4 Matrix from four vectors.
 
- Protected Member Functions inherited from CGLA::ArithMatFloat< Vec4d, Vec4d, Mat4x4d, ROWS >
 ArithMatFloat ()
 Construct 0 matrix.
 
 ArithMatFloat (ScalarType x)
 Construct a matrix where all entries are the same.
 
 ArithMatFloat (Vec4d_a)
 Construct a matrix where all rows are the same.
 
 ArithMatFloat (Vec4d_a, Vec4d_b)
 Construct a matrix with two rows.
 
 ArithMatFloat (Vec4d_a, Vec4d_b, Vec4d_c)
 Construct a matrix with three rows.
 
 ArithMatFloat (Vec4d_a, Vec4d_b, Vec4d_c, Vec4d_d)
 Construct a matrix with four rows.
 
- Protected Attributes inherited from CGLA::ArithMatFloat< Vec4d, Vec4d, Mat4x4d, ROWS >
Vec4d data [ROWS]
 The actual contents of the matrix.
 

Detailed Description

4x4 double matrix.

This class is useful for transformations such as perspective projections or translation where 3x3 matrices do not suffice.


The documentation for this class was generated from the following file: