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

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

#include <Mat4x4f.h>

Inheritance diagram for CGLA::Mat4x4f:
CGLA::ArithSqMat4x4Float< Vec4f, Mat4x4f > CGLA::ArithSqMatFloat< Vec4f, Mat4x4f, 4 > CGLA::ArithMatFloat< Vec4f, Vec4f, Mat4x4f, ROWS >

Public Member Functions

 Mat4x4f (Vec4f _a, Vec4f _b, Vec4f _c, Vec4f _d)
 Construct a Mat4x4f from four Vec4f vectors.
 
 Mat4x4f ()
 Construct the NaN matrix.
 
 Mat4x4f (float a)
 Construct a matrix with identical elements.
 
- Public Member Functions inherited from CGLA::ArithSqMat4x4Float< Vec4f, Mat4x4f >
 ArithSqMat4x4Float (Vec4fa, Vec4fb, Vec4fc, Vec4fd) 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< Vec4f, Mat4x4f, 4 >
const Mat4x4foperator*= (const Mat4x4f &m2) noexcept
 
const Mat4x4foperator*= (ScalarType k) noexcept
 
void identity ()
 
- Public Member Functions inherited from CGLA::ArithMatFloat< Vec4f, Vec4f, Mat4x4f, ROWS >
const ScalarTypeget () const
 
ScalarTypeget ()
 
const Vec4foperator[] (unsigned int i) const
 Const index operator. Returns i'th row of matrix.
 
Vec4foperator[] (unsigned int i)
 Non-const index operator. Returns i'th row of matrix.
 
bool operator== (const Mat4x4f &v) const
 Equality operator.
 
bool operator!= (const Mat4x4f &v) const
 Inequality operator.
 
const Mat4x4f operator* (ScalarType k) const
 Multiply scalar onto matrix. All entries are multiplied by scalar.
 
const Mat4x4f operator/ (ScalarType k) const
 Divide all entries in matrix by scalar.
 
const Mat4x4foperator*= (ScalarType k)
 Assignment multiplication of matrix by scalar.
 
const Mat4x4foperator/= (ScalarType k)
 Assignment division of matrix by scalar.
 
const Mat4x4f operator+ (const Mat4x4f &m1) const
 Add two matrices.
 
const Mat4x4f operator- (const Mat4x4f &m1) const
 Subtract two matrices.
 
const Mat4x4f operator- () const
 Negate matrix.
 
const Mat4x4foperator+= (const Mat4x4f &v)
 Assigment addition of matrices.
 
const Mat4x4foperator-= (const Mat4x4f &v)
 Assigment subtraction of matrices.
 

Additional Inherited Members

- Public Types inherited from CGLA::ArithSqMat4x4Float< Vec4f, Mat4x4f >
typedef Vec4f VectorType
 Vector type.
 
typedef Vec4f::ScalarType ScalarType
 The type of a matrix element.
 
- Public Types inherited from CGLA::ArithSqMatFloat< Vec4f, Mat4x4f, 4 >
typedef Vec4f VectorType
 Vector type.
 
typedef Vec4f::ScalarType ScalarType
 The type of a matrix element.
 
- Public Types inherited from CGLA::ArithMatFloat< Vec4f, Vec4f, Mat4x4f, ROWS >
typedef Vec4f HVectorType
 Horizontal vector type.
 
typedef Vec4f VVectorType
 Vertical vector type.
 
typedef Vec4f::ScalarType ScalarType
 The type of a matrix element.
 
- Static Public Member Functions inherited from CGLA::ArithMatFloat< Vec4f, Vec4f, Mat4x4f, 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< Vec4f, Mat4x4f, 4 >
 ArithSqMatFloat () noexcept
 Construct 0 matrix.
 
 ArithSqMatFloat (ScalarType _a) noexcept
 Construct matrix where all values are equal to constructor argument.
 
 ArithSqMatFloat (Vec4f_a, Vec4f_b) noexcept
 Construct 2x2 Matrix from two vectors.
 
 ArithSqMatFloat (Vec4f_a, Vec4f_b, Vec4f_c) noexcept
 Construct 3x3 Matrix from three vectors.
 
 ArithSqMatFloat (Vec4f_a, Vec4f_b, Vec4f_c, Vec4f_d) noexcept
 Construct 4x4 Matrix from four vectors.
 
- Protected Member Functions inherited from CGLA::ArithMatFloat< Vec4f, Vec4f, Mat4x4f, ROWS >
 ArithMatFloat ()
 Construct 0 matrix.
 
 ArithMatFloat (ScalarType x)
 Construct a matrix where all entries are the same.
 
 ArithMatFloat (Vec4f_a)
 Construct a matrix where all rows are the same.
 
 ArithMatFloat (Vec4f_a, Vec4f_b)
 Construct a matrix with two rows.
 
 ArithMatFloat (Vec4f_a, Vec4f_b, Vec4f_c)
 Construct a matrix with three rows.
 
 ArithMatFloat (Vec4f_a, Vec4f_b, Vec4f_c, Vec4f_d)
 Construct a matrix with four rows.
 
- Protected Attributes inherited from CGLA::ArithMatFloat< Vec4f, Vec4f, Mat4x4f, ROWS >
Vec4f data [ROWS]
 The actual contents of the matrix.
 

Detailed Description

4x4 float 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: