Public Types |
Public Member Functions |
Static Public Member Functions |
Public Attributes |
Static Protected Attributes |
List of all members
artec::sdk::base::Matrix4x4< Type > Class Template Reference
#include <artec/sdk/base/Matrix.h>
Public Types | |
enum | { Identity = 0x0001, General = 0x0002 } |
typedef Type | value_type |
Public Member Functions | |
Matrix4x4 () | |
Matrix4x4 (Type _00, Type _01, Type _02, Type _03, Type _10, Type _11, Type _12, Type _13, Type _20, Type _21, Type _22, Type _23, Type _30, Type _31, Type _32, Type _33) | |
template<typename Type2 , std::size_t sizeOfArray> | |
Matrix4x4 (const Type2(&values)[sizeOfArray]) | |
template<typename Type2 > | |
Matrix4x4 (const Type2 *values, int rows2, int cols2) | |
Matrix4x4 (const Matrix4x4 &second) | |
Copying constructor. More... | |
template<int rows2, int cols2, typename Type2 > | |
Matrix4x4 (const GenericMatrix< rows2, cols2, Type2 > &second) | |
Copying constructor with size_ conversion. More... | |
template<typename Type2 > | |
Matrix4x4 (const Matrix4x4< Type2 > &second) | |
Copying constructor with type conversion. More... | |
void | fill (const Type value) |
Fill matrix with value. More... | |
template<typename Type2 > | |
Point4< Type2 > | operator* (const Point4< Type2 > &point) const |
Matrix - point multiplication. More... | |
Matrix4x4 | operator* (const Type &val) const |
template<typename Type2 > | |
Point3< Type2 > | operator* (const Point3< Type2 > &point) const |
Special case of matrix-point multiplication: geometric transformation. More... | |
Matrix4x4 | operator- () const |
Unary minus. More... | |
bool | operator== (const Matrix4x4 &m) const |
check matrices are equal More... | |
bool | operator!= (const Matrix4x4 &m) const |
check matrices are not equal More... | |
Type & | operator() (int row, int col) |
const Type & | operator() (int row, int col) const |
void | setToIdentity () |
Make current matrix to identity. More... | |
bool | isIdentity () const |
Check if matrix is an identity matrix. More... | |
Matrix4x4 | transposed () const |
Return transposed matrix copy. More... | |
Matrix4x4< Type > | inverted (bool *invertible=0) const |
Inversion. More... | |
Point3< Type > | project (const Point3< Type > &point) const |
int | size () const |
template<int rows2, int cols2, typename Type2 > | |
Matrix4x4 | operator= (const GenericMatrix< rows2, cols2, Type2 > &second) |
Matrix4x4 & | operator= (const Matrix4x4 &second) |
template<int rows, int cols> | |
GenericMatrix< rows, cols, Type > | toGenericMatrix () const |
template<int rows, int cols, typename Type2 > | |
GenericMatrix< rows, cols, Type2 > | toGenericMatrix () const |
Matrix4x4 & | operator+= (const Matrix4x4 &mat) |
Matrix4x4 & | operator-= (const Matrix4x4 &mat) |
Matrix4x4 & | operator*= (const Matrix4x4 &other) |
Matrix4x4 | operator+ (const Matrix4x4 &mat) const |
Matrix4x4 | operator- (const Matrix4x4 &mat) const |
Matrix4x4 | operator* (const Matrix4x4 &mat) const |
template<int cols2> | |
GenericMatrix< 4, cols2, Type > | operator* (const GenericMatrix< 4, cols2, Type > &mat) const |
Matrix4x4 & | operator+= (const Type &val) |
Matrix4x4 & | operator-= (const Type &val) |
Matrix4x4 & | operator*= (const Type &val) |
Matrix4x4 & | operator/= (const Type &val) |
Matrix4x4 | operator+ (const Type &val) const |
Matrix4x4 | operator- (const Type &val) const |
Matrix4x4 | operator/ (const Type &val) const |
operator Type * () | |
operator const Type * () const | |
Static Public Member Functions | |
static Matrix4x4 | identity () |
Identity matrix. More... | |
static Matrix4x4 | rotation (Type angle, const Point3< Type > &direction) |
! Important ! Direction is a unit vector, don't forget to normalize it !!! More... | |
static Matrix4x4 | rotation (Type angle, const Point3< Type > &direction, const Point3< Type > ¢er) |
! Important ! Direction is a unit vector, don't forget to normalize it !!! More... | |
static Matrix4x4 | translation (const Point3< Type > &direction) |
Translations. More... | |
static Matrix4x4 | inverseMotion (const Matrix4x4 &matrix) |
Inverse transformation matrix. More... | |
static Matrix4x4 | perspective (Type left, Type right, Type bottom, Type top, Type nearVal, Type farVal) |
Get perspective projection matrix. More... | |
static Matrix4x4 | perspectiveFov (float fovy, float aspect, float zNear, float zFar) |
Get perspective projection matrix. More... | |
static Matrix4x4 | ortho (Type left, Type right, Type bottom, Type top, Type nearVal, Type farVal) |
Get orthogonal matrix. More... | |
static Matrix4x4 | rotationX (Type angle) |
static Matrix4x4 | rotationY (Type angle) |
static Matrix4x4 | rotationZ (Type angle) |
static Matrix4x4 | rotationX (Type angle, const Point3< Type > ¢er) |
static Matrix4x4 | rotationY (Type angle, const Point3< Type > ¢er) |
static Matrix4x4 | rotationZ (Type angle, const Point3< Type > ¢er) |
static Matrix4x4 | scale (Type factor) |
static Matrix4x4 | scale (Type factor, const Point3< Type > ¢er) |
Public Attributes | |
union { | |
struct { | |
Type m [4][4] | |
} | |
Type data [4 *4] | |
}; | |
matrix data More... | |
int | flagBits |
Static Protected Attributes | |
static int const | rows_ = 4 |
static int const | cols_ = 4 |
static int const | size_ = 4 * 4 |
Detailed Description
template<typename Type = double>
class artec::sdk::base::Matrix4x4< Type >
Member Typedef Documentation
template<typename Type = double>
typedef Type artec::sdk::base::Matrix4x4< Type >::value_type |
Member Enumeration Documentation
template<typename Type = double>
anonymous enum |
Constructor & Destructor Documentation
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
template<typename Type2 , std::size_t sizeOfArray>
|
inlineexplicit |
template<typename Type = double>
template<typename Type2 >
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
template<int rows2, int cols2, typename Type2 >
|
inlineexplicit |
template<typename Type = double>
template<typename Type2 >
|
inlineexplicit |
Member Function Documentation
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type >
Matrix4x4< Type > artec::sdk::base::Matrix4x4< Type >::inverted | ( | bool * | invertible = 0 | ) | const |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
template<int cols2>
|
inline |
template<typename Type = double>
template<typename Type2 >
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
template<typename Type2 >
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
template<int rows2, int cols2, typename Type2 >
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inline |
template<typename Type = double>
|
inline |
template<typename Type = double>
template<int rows, int cols>
|
inline |
template<typename Type = double>
template<int rows, int cols, typename Type2 >
|
inline |
template<typename Type = double>
|
inlinestatic |
template<typename Type = double>
|
inline |
Member Data Documentation
union { ... } |
matrix data
template<typename Type = double>
|
staticprotected |
template<typename Type = double>
Type artec::sdk::base::Matrix4x4< Type >::data[4 *4] |
template<typename Type = double>
|
mutable |
template<typename Type = double>
Type artec::sdk::base::Matrix4x4< Type >::m[4][4] |
template<typename Type = double>
|
staticprotected |
template<typename Type = double>
|
staticprotected |
The documentation for this class was generated from the following file:
- artec/sdk/base/Matrix.h