#include <Matrix3x3.h>
Public Member Functions | |
| 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 | StoreToRowMajorFloat11 (float *values) const | 
| void | StoreToColumnMajorFloat11 (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 Public Member Functions | |
| 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) | 
Static Public Attributes | |
| static constexpr int32_t | RowCount = 3 | 
| static constexpr int32_t | ColCount = 3 | 
Matrix with 3 rows and 3 columns. See Matrix4x4 for general information about matrices.
Sets the matrix to be a rotation around a specified axis.
| AZ_MATH_INLINE Matrix3x3 AZ::Matrix3x3::GetAdjugate | ( | ) | const | 
This is the transpose of the matrix of cofactors. Also known as the adjoint, adjugate is the modern name which avoids confusion with the adjoint conjugate transpose.
| AZ_MATH_INLINE Vector3 AZ::Matrix3x3::GetBasisX | ( | ) | const | 
Basis (column) access functions.
Indexed accessor functions.
| AZ_MATH_INLINE Matrix3x3 AZ::Matrix3x3::GetInverseFast | ( | ) | const | 
Fast inversion assumes the matrix is orthogonal.
| AZ_MATH_INLINE Matrix3x3 AZ::Matrix3x3::GetInverseFull | ( | ) | const | 
Gets the inverse of the matrix. Use GetInverseFast instead of this if the matrix is orthogonal.
| Matrix3x3 AZ::Matrix3x3::GetPolarDecomposition | ( | ) | const | 
Polar decomposition, M=U*H, U is orthogonal (unitary) and H is symmetric (hermitian). This function returns the orthogonal part only
| AZ_MATH_INLINE Matrix3x3 AZ::Matrix3x3::GetTranspose | ( | ) | const | 
Transpose calculation, flips the rows and columns.
Operator for matrix-matrix multiplication.
Operator for multiplying all matrix's elements with a scalar
Operator for matrix-matrix addition.
Operator for matrix-matrix substraction.
Operator for dividing all matrix's elements with a scalar
      
  | 
  static | 
AzCore Reflection.
| context | reflection context | 
Stores the matrix into to an array of 2 float4 and 1 float3. Useful for GPU constant buffer packing rules, which pack a float3x3 as such: [0, 0], [1, 0], [2, 0], <padding>, [0, 1], [1, 1], [2, 1], <padding>, [0, 2], [1, 2], [2, 2] Note that the last row is stored in 3 floats, not 4.
Stores the matrix into to an array of 9 floats. The floats need only be 4 byte aligned, 16 byte alignment is not required.
Stores the matrix into to an array of 2 float4 and 1 float3. Useful for GPU constant buffer packing rules, which pack a float3x3 as such: [0, 0], [0, 1], [0, 2], <padding>, [1, 0], [1, 1], [1, 2], <padding>, [2, 0], [2, 1], [2, 2] Note that the last row is stored in 3 floats, not 4.
Stores the matrix into to an array of 9 floats. The floats need only be 4 byte aligned, 16 byte alignment is not required.