Polygon Crucher SDK - Documentation
Documentation
Loading...
Searching...
No Matches
4x4Matrix.h File Reference

Detailed Description

C4x4TMatrix class implementation for handling 3D transformations

#include "3DVector.h"
#include "Quaternion.h"
#include "4DVector.h"

Go to the source code of this file.

Classes

struct  MatrixDecomposition
 Get the different components of a C4x4Matrix, or set a matrix from this different components. More...
 
class  C4x4TMatrix< TYPE >
 The class defines a 4x4 row major order matrix. More...
 

Macros

#define ACCUMULATE
 

Typedefs

typedef struct MatrixDecomposition MatrixDecomposition
 

Functions

template<class TYPE , class TYPE2 >
C3DTPoint< TYPEoperator* (const C3DTPoint< TYPE > &point, const C4x4TMatrix< TYPE2 > &matrix)
 
template<class TYPE , class TYPE2 >
C3DTVector< TYPEoperator* (const C3DTVector< TYPE > &point, const C4x4TMatrix< TYPE2 > &matrix)
 
template<class TYPE , class TYPE2 >
C3DTPoint< TYPE > & operator*= (C3DTPoint< TYPE > &point, const C4x4TMatrix< TYPE2 > &matrix)
 
template<class TYPE , class TYPE2 >
C3DTVector< TYPE > & operator*= (C3DTVector< TYPE > &point, const C4x4TMatrix< TYPE2 > &matrix)
 
DLL_3DFUNCTION C4x4Matrix SwapMatrix (unsigned int swapXYZMode, const C4x4Matrix &refmatrix)
 Swap matrix matrix values. To be used only when no swap transformation has been applied to the points.
 
DLL_3DFUNCTION C4x4Matrix AdjustMatrix (unsigned int swapMode, const C4x4Matrix &refmatrix)
 Swap the matrix values in order when points coordinates has also been swapped.
 
DLL_3DFUNCTION void Decompose (const C4x4MatrixD &matrix, MatrixDecomposition &components)
 Decompose a C4x4Matrix and get MatrixDecomposition components.
 
DLL_3DFUNCTION C4x4MatrixD Recompose (const MatrixDecomposition &components)
 Recompose a C4x4Matrix from MatrixDecomposition provided components.
 
DLL_3DFUNCTION bool IsTrsDecomposable (const C4x4MatrixD &matrix)
 Returns true if the matrix can be decomposed using a translation / rotation and scale matrix. Return false if the matrix has some stretch for example.
 

Macro Definition Documentation

◆ ACCUMULATE

#define ACCUMULATE
Value:
if (temp >= 0.0) \
pos += temp; \
The class defines an x, y, z 3D point which can use int, float or double.
Definition 3DPoint.h:27