|
| AZ_TYPE_INFO (Matrix3x3, "{15A4332F-7C3F-4A58-AC35-50E1CE53FB9C}") |
|
| Matrix3x3 ()=default |
| Default constructor does not initialize the matrix.
|
|
| Matrix3x3 (const Matrix3x3 &rhs)=default |
|
| Matrix3x3 (Simd::Vec3::FloatArgType row0, Simd::Vec3::FloatArgType row1, Simd::Vec3::FloatArgType row2) |
|
| Matrix3x3 (const Quaternion &quaternion) |
|
void | StoreToRowMajorFloat9 (float *values) const |
|
void | StoreToColumnMajorFloat9 (float *values) const |
|
float | operator() (int32_t row, int32_t col) const |
| Indexed access using operator().
|
|
Matrix3x3 | TransposedMultiply (const Matrix3x3 &rhs) const |
| Calculates (this->GetTranspose() * rhs).
|
|
Vector3 | operator* (const Vector3 &rhs) const |
| Post-multiplies the matrix by a vector.
|
|
Matrix3x3 | operator- () const |
| Operator for negating all matrix's elements.
|
|
bool | operator== (const Matrix3x3 &rhs) const |
|
bool | operator!= (const Matrix3x3 &rhs) const |
|
Vector3 | RetrieveScale () const |
| Gets the scale part of the transformation, i.e. the length of the scale components.
|
|
Vector3 | RetrieveScaleSq () const |
| Gets the squared scale part of the transformation (the squared length of the basis vectors).
|
|
Vector3 | ExtractScale () |
| Gets the scale part of the transformation as in RetrieveScale, and also removes this scaling from the matrix.
|
|
void | MultiplyByScale (const Vector3 &scale) |
| Quick multiplication by a scale matrix, equivalent to m*=Matrix3x3::CreateScale(scale).
|
|
Matrix3x3 | GetReciprocalScaled () const |
| Returns a matrix with the reciprocal scale, keeping the same rotation and translation.
|
|
Matrix3x3 | GetPolarDecomposition () const |
|
void | GetPolarDecomposition (Matrix3x3 *orthogonalOut, Matrix3x3 *symmetricOut) const |
| Polar decomposition, M=U*H, U is orthogonal (unitary) and H is symmetric (hermitian).
|
|
bool | IsOrthogonal (float tolerance=Constants::Tolerance) const |
|
Matrix3x3 | GetOrthogonalized () const |
| Adjusts an almost orthogonal matrix to be orthogonal.
|
|
void | Orthogonalize () |
| Adjusts an almost orthogonal matrix to be orthogonal.
|
|
bool | IsClose (const Matrix3x3 &rhs, float tolerance=Constants::Tolerance) const |
|
void | SetRotationPartFromQuaternion (const Quaternion &q) |
|
Vector3 | GetDiagonal () const |
|
float | GetDeterminant () const |
|
Matrix3x3 | GetAdjugate () const |
|
bool | IsFinite () const |
|
const Simd::Vec3::FloatType * | GetSimdValues () const |
|
Simd::Vec3::FloatType * | GetSimdValues () |
|
|
float | GetElement (int32_t row, int32_t col) const |
|
void | SetElement (int32_t row, int32_t col, float value) |
|
|
Vector3 | GetRow (int32_t row) const |
|
void | SetRow (int32_t row, float x, float y, float z) |
|
void | SetRow (int32_t row, const Vector3 &v) |
|
void | GetRows (Vector3 *row0, Vector3 *row1, Vector3 *row2) const |
|
void | SetRows (const Vector3 &row0, const Vector3 &row1, const Vector3 &row2) |
|
|
Vector3 | GetColumn (int32_t col) const |
|
void | SetColumn (int32_t col, float x, float y, float z) |
|
void | SetColumn (int32_t col, const Vector3 &v) |
|
void | GetColumns (Vector3 *col0, Vector3 *col1, Vector3 *col2) const |
|
void | SetColumns (const Vector3 &col0, const Vector3 &col1, const Vector3 &col2) |
|
|
Vector3 | GetBasisX () const |
|
void | SetBasisX (float x, float y, float z) |
|
void | SetBasisX (const Vector3 &v) |
|
Vector3 | GetBasisY () const |
|
void | SetBasisY (float x, float y, float z) |
|
void | SetBasisY (const Vector3 &v) |
|
Vector3 | GetBasisZ () const |
|
void | SetBasisZ (float x, float y, float z) |
|
void | SetBasisZ (const Vector3 &v) |
|
void | GetBasis (Vector3 *basisX, Vector3 *basisY, Vector3 *basisZ) const |
|
void | SetBasis (const Vector3 &basisX, const Vector3 &basisY, const Vector3 &basisZ) |
|
|
Matrix3x3 | operator+ (const Matrix3x3 &rhs) const |
|
Matrix3x3 & | operator+= (const Matrix3x3 &rhs) |
|
|
Matrix3x3 | operator- (const Matrix3x3 &rhs) const |
|
Matrix3x3 & | operator-= (const Matrix3x3 &rhs) |
|
|
Matrix3x3 | operator* (const Matrix3x3 &rhs) const |
|
Matrix3x3 & | operator*= (const Matrix3x3 &rhs) |
|
|
Matrix3x3 | operator* (float multiplier) const |
|
Matrix3x3 & | operator*= (float multiplier) |
|
|
Matrix3x3 | operator/ (float divisor) const |
|
Matrix3x3 & | operator/= (float divisor) |
|
|
Matrix3x3 | GetTranspose () const |
|
void | Transpose () |
|
|
Matrix3x3 | GetInverseFull () const |
|
void | InvertFull () |
|
|
Matrix3x3 | GetInverseFast () const |
|
void | InvertFast () |
|
|
static void | Reflect (ReflectContext *context) |
|
static Matrix3x3 | CreateIdentity () |
|
static Matrix3x3 | CreateZero () |
|
static Matrix3x3 | CreateFromValue (float value) |
| Constructs a matrix with all components set to the specified value.
|
|
static Matrix3x3 | CreateFromRowMajorFloat9 (const float *values) |
| Constructs from an array of 9 floats stored in row-major order.
|
|
static Matrix3x3 | CreateFromRows (const Vector3 &row0, const Vector3 &row1, const Vector3 &row2) |
|
static Matrix3x3 | CreateFromColumnMajorFloat9 (const float *values) |
| Constructs from an array of 9 floats stored in column-major order.
|
|
static Matrix3x3 | CreateFromColumns (const Vector3 &col0, const Vector3 &col1, const Vector3 &col2) |
|
static Matrix3x3 | CreateFromMatrix3x4 (const Matrix3x4 &m) |
| Sets the matrix from the left 3x3 sub-matrix of a Matrix3x4.
|
|
static Matrix3x3 | CreateFromMatrix4x4 (const Matrix4x4 &m) |
| Sets the matrix from the upper 3x3 sub-matrix of a Matrix4x4.
|
|
static Matrix3x3 | CreateFromTransform (const Transform &t) |
| Creates a matrix using the scale and orientation portions of a Transform.
|
|
static Matrix3x3 | CreateFromQuaternion (const Quaternion &q) |
| Sets the matrix from a quaternion.
|
|
static Matrix3x3 | CreateScale (const Vector3 &scale) |
| Sets the matrix to be a scale matrix.
|
|
static Matrix3x3 | CreateDiagonal (const Vector3 &diagonal) |
| Sets the matrix to be a diagonal matrix.
|
|
static Matrix3x3 | CreateCrossProduct (const Vector3 &p) |
| Creates the skew-symmetric cross product matrix, i.e. M*a=p.Cross(a).
|
|
|
static Matrix3x3 | CreateRotationX (float angle) |
|
static Matrix3x3 | CreateRotationY (float angle) |
|
static Matrix3x3 | CreateRotationZ (float angle) |
|
Matrix with 3 rows and 3 columns. See Matrix4x4 for general information about matrices.