|
| 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.