|
| AZ_TYPE_INFO (Matrix3x4, "{1906D8A5-7DEC-4DE3-A606-9E53BB3459E7}") |
|
| Matrix3x4 ()=default |
| Default constructor, which does not initialize the matrix.
|
|
| Matrix3x4 (const Matrix3x4 &rhs)=default |
|
| Matrix3x4 (Simd::Vec4::FloatArgType row0, Simd::Vec4::FloatArgType row1, Simd::Vec4::FloatArgType row2) |
|
void | StoreToRowMajorFloat12 (float values[12]) const |
|
void | StoreToColumnMajorFloat12 (float values[12]) const |
|
void | StoreToColumnMajorFloat16 (float values[16]) const |
|
float | GetElement (int32_t row, int32_t col) const |
|
void | SetElement (int32_t row, int32_t col, const float value) |
|
float | operator() (int32_t row, int32_t col) const |
|
Vector4 | GetRow (int32_t row) const |
| Gets the specified row.
|
|
Vector3 | GetRowAsVector3 (int32_t row) const |
| Gets the specified row as a Vector3.
|
|
void | SetRow (int32_t row, float x, float y, float z, float w) |
| Sets the specified row.
|
|
void | SetRow (int32_t row, const Vector3 &v, float w) |
| Sets the specified row.
|
|
void | SetRow (int32_t row, const Vector4 &v) |
| Sets the specified row.
|
|
void | GetRows (Vector4 *row0, Vector4 *row1, Vector4 *row2) const |
| Gets all rows of the matrix.
|
|
void | SetRows (const Vector4 &row0, const Vector4 &row1, const Vector4 &row2) |
| Sets all rows of the matrix.
|
|
Vector3 | GetColumn (int32_t col) const |
| Gets the specified column.
|
|
void | SetColumn (int32_t col, float x, float y, float z) |
| Sets the specified column.
|
|
void | SetColumn (int32_t col, const Vector3 &v) |
| Sets the specified column.
|
|
void | GetColumns (Vector3 *col0, Vector3 *col1, Vector3 *col2, Vector3 *col3) const |
| Gets all the columns of the matrix.
|
|
void | SetColumns (const Vector3 &col0, const Vector3 &col1, const Vector3 &col2, const Vector3 &col3) |
| Sets all the columns of the matrix.
|
|
Vector3 | GetBasisX () const |
| Gets the X basis vector of the matrix.
|
|
void | SetBasisX (float x, float y, float z) |
| Sets the X basis vector of the matrix.
|
|
void | SetBasisX (const Vector3 &v) |
| Sets the X basis vector of the matrix.
|
|
Vector3 | GetBasisY () const |
| Gets the Y basis vector of the matrix.
|
|
void | SetBasisY (float x, float y, float z) |
| Sets the Y basis vector of the matrix.
|
|
void | SetBasisY (const Vector3 &v) |
| Sets the Y basis vector of the matrix.
|
|
Vector3 | GetBasisZ () const |
| Gets the Z basis vector of the matrix.
|
|
void | SetBasisZ (float x, float y, float z) |
| Sets the Z basis vector of the matrix.
|
|
void | SetBasisZ (const Vector3 &v) |
| Sets the Z basis vector of the matrix.
|
|
Vector3 | GetTranslation () const |
| Gets the translation.
|
|
void | SetTranslation (float x, float y, float z) |
| Sets the translation.
|
|
void | SetTranslation (const Vector3 &v) |
| Sets the translation.
|
|
void | GetBasisAndTranslation (Vector3 *basisX, Vector3 *basisY, Vector3 *basisZ, Vector3 *translation) const |
| Gets the three basis vectors and the translation.
|
|
void | SetBasisAndTranslation (const Vector3 &basisX, const Vector3 &basisY, const Vector3 &basisZ, const Vector3 &translation) |
| Sets the three basis vectors and the translation.
|
|
Matrix3x4 | operator- () const |
| Operator for negating all matrix's elements.
|
|
Vector3 | operator* (const Vector3 &rhs) const |
| Operator for transforming a Vector3.
|
|
Vector4 | operator* (const Vector4 &rhs) const |
| Operator for transforming a Vector4.
|
|
Vector3 | Multiply3x3 (const Vector3 &rhs) const |
| Post-multiplies the matrix by a vector, using only the 3x3 part of the matrix.
|
|
Vector3 | TransformVector (const Vector3 &rhs) const |
| Post-multiplies the matrix by a vector, using only the 3x3 part of the matrix.
|
|
Vector3 | TransformPoint (const Vector3 &rhs) const |
| Post-multiplies the matrix by a point, using the rotation and translation part of the matrix.
|
|
Matrix3x4 | GetTranspose () const |
| Gets the result of transposing the 3x3 part of the matrix, setting the translation part to zero.
|
|
void | Transpose () |
| Transposes the 3x3 part of the matrix, and sets the translation part to zero.
|
|
Matrix3x4 | GetTranspose3x3 () const |
| Gets the matrix obtained by transposing the 3x3 part of the matrix, leaving the translation untouched.
|
|
void | Transpose3x3 () |
| Transposes the 3x3 part of the matrix, leaving the translation untouched.
|
|
Matrix3x4 | GetInverseFull () const |
|
void | InvertFull () |
|
Matrix3x4 | GetInverseFast () const |
| Gets the inverse of the transformation represented by the matrix, assuming the 3x3 part is orthogonal.
|
|
void | InvertFast () |
| Inverts the transformation represented by the matrix, assuming the 3x3 part is orthogonal.
|
|
Vector3 | RetrieveScale () const |
| Gets the scale part of the transformation (the length of the basis vectors).
|
|
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) |
| Multiplies the basis vectors of the matrix by the elements of the scale specified.
|
|
Matrix3x4 | GetReciprocalScaled () const |
| Returns a matrix with the reciprocal scale, keeping the same rotation and translation.
|
|
bool | IsOrthogonal (float tolerance=Constants::Tolerance) const |
| Tests if the 3x3 part of the matrix is orthogonal.
|
|
Matrix3x4 | GetOrthogonalized () const |
| Returns an orthogonal matrix based on this matrix.
|
|
void | Orthogonalize () |
| Modifies the basis vectors of the matrix to be orthogonal and unit length.
|
|
bool | IsClose (const Matrix3x4 &rhs, float tolerance=Constants::Tolerance) const |
| Tests element-wise whether this matrix is close to another matrix, within the specified tolerance.
|
|
bool | operator== (const Matrix3x4 &rhs) const |
| Tests whether this matrix is identical to another matrix.
|
|
bool | operator!= (const Matrix3x4 &rhs) const |
| Tests whether this matrix is not identical to another matrix.
|
|
Vector3 | GetEulerDegrees () const |
|
Vector3 | GetEulerRadians () const |
|
void | SetFromEulerDegrees (const Vector3 &eulerDegrees) |
|
void | SetFromEulerRadians (const Vector3 &eulerRadians) |
|
void | SetRotationPartFromQuaternion (const Quaternion &quaternion) |
| Sets the 3x3 part of the matrix from a quaternion.
|
|
float | GetDeterminant3x3 () const |
| Calculates the determinant of the 3x3 part of the matrix.
|
|
bool | IsFinite () const |
| Checks whether the elements of the matrix are all finite.
|
|
const Simd::Vec4::FloatType * | GetSimdValues () const |
|
Simd::Vec4::FloatType * | GetSimdValues () |
|
|
Matrix3x4 | operator+ (const Matrix3x4 &rhs) const |
|
Matrix3x4 & | operator+= (const Matrix3x4 &rhs) |
|
|
Matrix3x4 | operator- (const Matrix3x4 &rhs) const |
|
Matrix3x4 & | operator-= (const Matrix3x4 &rhs) |
|
|
Matrix3x4 | operator* (const Matrix3x4 &rhs) const |
|
Matrix3x4 & | operator*= (const Matrix3x4 &rhs) |
|
|
Matrix3x4 | operator* (float multiplier) const |
|
Matrix3x4 & | operator*= (float multiplier) |
|
|
Matrix3x4 | operator/ (float divisor) const |
|
Matrix3x4 & | operator/= (float divisor) |
|
|
static void | Reflect (ReflectContext *context) |
|
static Matrix3x4 | CreateIdentity () |
| Creates an identity Matrix3x4.
|
|
static Matrix3x4 | CreateZero () |
| Creates a Matrix3x4 with all values zero.
|
|
static Matrix3x4 | CreateFromValue (float value) |
| Constructs a matrix with all components set to the specified value.
|
|
static Matrix3x4 | CreateFromRowMajorFloat12 (const float values[12]) |
| Constructs from an array of 12 floats stored in row-major order.
|
|
static Matrix3x4 | CreateFromRows (const Vector4 &row0, const Vector4 &row1, const Vector4 &row2) |
| Constructs from individual rows.
|
|
static Matrix3x4 | CreateFromColumnMajorFloat12 (const float values[12]) |
| Constructs from an array of 12 floats stored in column-major order.
|
|
static Matrix3x4 | CreateFromColumns (const Vector3 &col0, const Vector3 &col1, const Vector3 &col2, const Vector3 &col3) |
| Constructs from individual columns.
|
|
static Matrix3x4 | CreateFromColumnMajorFloat16 (const float values[16]) |
|
static Matrix3x4 | CreateRotationX (float angle) |
| Sets the matrix to be a rotation around the X-axis, specified in radians.
|
|
static Matrix3x4 | CreateRotationY (float angle) |
| Sets the matrix to be a rotation around the Y-axis, specified in radians.
|
|
static Matrix3x4 | CreateRotationZ (float angle) |
| Sets the matrix to be a rotation around the Z-axis, specified in radians.
|
|
static Matrix3x4 | CreateFromQuaternion (const Quaternion &quaternion) |
| Sets the matrix from a quaternion, with translation set to zero.
|
|
static Matrix3x4 | CreateFromQuaternionAndTranslation (const Quaternion &quaternion, const Vector3 &translation) |
| Sets the matrix from a quaternion and a translation.
|
|
static Matrix3x4 | CreateFromMatrix3x3 (const Matrix3x3 &matrix3x3) |
| Constructs from a Matrix3x3, with translation set to zero.
|
|
static Matrix3x4 | CreateFromMatrix3x3AndTranslation (const Matrix3x3 &matrix3x3, const Vector3 &translation) |
| Constructs from a Matrix3x3 and a translation.
|
|
static Matrix3x4 | UnsafeCreateFromMatrix4x4 (const Matrix4x4 &matrix4x4) |
| Constructs from a Matrix4x4.
|
|
static Matrix3x4 | CreateFromTransform (const Transform &transform) |
| Constructs from a Transform.
|
|
static Matrix3x4 | CreateScale (const Vector3 &scale) |
| Sets the matrix to be a scale matrix, with translation set to zero.
|
|
static Matrix3x4 | CreateDiagonal (const Vector3 &diagonal) |
| Sets the matrix to be a diagonal matrix, with translation set to zero.
|
|
static Matrix3x4 | CreateTranslation (const Vector3 &translation) |
| Sets the matrix to be a translation matrix, with 3x3 part set to the identity.
|
|
static Matrix3x4 | CreateLookAt (const Vector3 &from, const Vector3 &to, Matrix3x4::Axis forwardAxis=Matrix3x4::Axis::YPositive) |
|
static Matrix3x4 | Identity () |
| Returns a reference to the identity Matrix3x4.
|
|
Stores a matrix with 3 rows and 4 columns. The 3x3 matrix formed of the first 3 columns may represent rotation, scale and/or shear, and the final column represents translation.