|
|
| EZ_DECLARE_POD_TYPE () |
| |
|
EZ_ALWAYS_INLINE Type & | Element (ezInt32 iColumn, ezInt32 iRow) |
| |
|
EZ_ALWAYS_INLINE Type | Element (ezInt32 iColumn, ezInt32 iRow) const |
| |
|
| ezMat3Template () |
| | Default Constructor DOES NOT INITIALIZE the matrix, at all.
|
| |
|
void | GetAsArray (Type *out_pData, ezMatrixLayout::Enum layout) const |
| | Copies the 9 values of this matrix into the given array. 'layout' defines whether the data should end up in column-major or row-major format.
|
| |
|
void | SetZero () |
| | Sets all elements to zero.
|
| |
|
void | SetIdentity () |
| | Sets all elements to zero, except the diagonal, which is set to one.
|
| |
|
void | Transpose () |
| | Transposes this matrix.
|
| |
|
const ezMat3Template< Type > | GetTranspose () const |
| | Returns the transpose of this matrix.
|
| |
|
ezResult | Invert (Type fEpsilon=ezMath::SmallEpsilon< Type >()) |
| | Inverts this matrix. Return value indicates whether the matrix could be Inverted.
|
| |
|
const ezMat3Template< Type > | GetInverse (Type fEpsilon=ezMath::SmallEpsilon< Type >()) const |
| | Returns the inverse of this matrix.
|
| |
|
bool | IsZero (Type fEpsilon=ezMath::DefaultEpsilon< Type >()) const |
| | Checks whether all elements are zero.
|
| |
|
bool | IsIdentity (Type fEpsilon=ezMath::DefaultEpsilon< Type >()) const |
| | Checks whether this is an identity matrix.
|
| |
|
bool | IsValid () const |
| | Checks whether all components are finite numbers.
|
| |
|
bool | IsNaN () const |
| | Checks whether any component is NaN.
|
| |
|
ezVec3Template< Type > | GetRow (ezUInt32 uiRow) const |
| | Returns all 3 components of the i-th row.
|
| |
|
void | SetRow (ezUInt32 uiRow, const ezVec3Template< Type > &vRow) |
| | Sets all 3 components of the i-th row.
|
| |
|
ezVec3Template< Type > | GetColumn (ezUInt32 uiColumn) const |
| | Returns all 3 components of the i-th column.
|
| |
|
void | SetColumn (ezUInt32 uiColumn, const ezVec3Template< Type > &vColumn) |
| | Sets all 3 components of the i-th column.
|
| |
|
ezVec3Template< Type > | GetDiagonal () const |
| | Returns all 3 components on the diagonal of the matrix.
|
| |
|
void | SetDiagonal (const ezVec3Template< Type > &vDiag) |
| | Sets all 3 components on the diagonal of the matrix.
|
| |
|
const ezVec3Template< Type > | GetScalingFactors () const |
| | Returns the 3 scaling factors that are encoded in the matrix.
|
| |
|
ezResult | SetScalingFactors (const ezVec3Template< Type > &vXYZ, Type fEpsilon=ezMath::DefaultEpsilon< Type >()) |
| | Tries to set the three scaling factors in the matrix. Returns EZ_FAILURE if the matrix columns cannot be normalized and thus no rescaling is possible.
|
| |
|
Type | GetDeterminant () const |
| | Computes the determinant of the matrix.
|
| |
|
const ezVec3Template< Type > | TransformDirection (const ezVec3Template< Type > &v) const |
| | Matrix-vector multiplication, assuming the 4th component of the vector is zero. So, rotation/scaling only. Useful as an optimization.
|
| |
|
void | operator*= (Type f) |
| | Component-wise multiplication (commutative)
|
| |
|
void | operator/= (Type f) |
| | Component-wise division.
|
| |
|
bool | IsIdentical (const ezMat3Template< Type > &rhs) const |
| | Equality Check.
|
| |
|
bool | IsEqual (const ezMat3Template< Type > &rhs, Type fEpsilon) const |
| | Equality Check with epsilon.
|
| |
|
|
static ezMat3Template< Type > | MakeZero () |
| | Returns a zero matrix.
|
| |
|
static ezMat3Template< Type > | MakeIdentity () |
| | Returns an identity matrix.
|
| |
|
static ezMat3Template< Type > | MakeFromRowMajorArray (const Type *const pData) |
| | Creates a matrix from 9 values that are in row-major layout.
|
| |
|
static ezMat3Template< Type > | MakeFromColumnMajorArray (const Type *const pData) |
| | Creates a matrix from 9 values that are in column-major layout.
|
| |
|
static ezMat3Template< Type > | MakeFromValues (Type c1r1, Type c2r1, Type c3r1, Type c1r2, Type c2r2, Type c3r2, Type c1r3, Type c2r3, Type c3r3) |
| | Creates a matrix from 9 values. Naming is "column-n row-m".
|
| |
|
static ezMat3Template< Type > | MakeScaling (const ezVec3Template< Type > &vScale) |
| | Creates a matrix with all zero values, except along the diagonal, which is set to x,y,z.
|
| |
|
static ezMat3Template< Type > | MakeRotationX (ezAngle angle) |
| | Creates a matrix that is a rotation matrix around the X-axis.
|
| |
|
static ezMat3Template< Type > | MakeRotationY (ezAngle angle) |
| | Creates a matrix that is a rotation matrix around the Y-axis.
|
| |
|
static ezMat3Template< Type > | MakeRotationZ (ezAngle angle) |
| | Creates a matrix that is a rotation matrix around the Z-axis.
|
| |
|
static ezMat3Template< Type > | MakeAxisRotation (const ezVec3Template< Type > &vAxis, ezAngle angle) |
| | Creates a matrix that is a rotation matrix around the given axis.
|
| |
template<typename Type>
class ezMat3Template< Type >
A 3x3 component matrix class.