Navigation
API > API/Runtime > API/Runtime/Core
| Name | TMatrix |
| Type | struct |
| Header File | /Engine/Source/Runtime/Core/Public/Math/MathFwd.h |
| Include Path | #include "Math/MathFwd.h" |
| Source | /Engine/Source/Runtime/Core/Public/Math/Sphere.h |
Syntax
template<typename T>
struct TMatrix
Derived Classes
TMatrix derived class hierarchy
- FColorSpaceTransform
- PMatrix< FRealDouble, 3, 3 >
- PMatrix< FRealDouble, 4, 4 >
- PMatrix< FRealSingle, 3, 3 >
- PMatrix< FRealSingle, 4, 4 >
- TBasisVectorMatrix
- TClipProjectionMatrix
- TInverseRotationMatrix
- TLookFromMatrix
- TMirrorMatrix
- TOrthoMatrix
- TPerspectiveMatrix
- TQuatRotationTranslationMatrix
- TReversedZOrthoMatrix
- TReversedZPerspectiveMatrix
- TRotationTranslationMatrix
- TScaleMatrix
- TScaleRotationTranslationMatrix
- TTranslationMatrix
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Constructors. | Math/Matrix.h | ||
| Conversion to other type. | Math/Matrix.h | ||
TMatrix
(
EForceInit |
Constructor. | Math/Matrix.h | |
TMatrix () |
Constructors. | Math/Matrix.h | |
| Constructor. | Math/Matrix.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FReal | T | Math/Matrix.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Identity | const TMatrix | Math/Matrix.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| M | T | Math/Matrix.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TMatrix< T > ApplyScale
(
T Scale |
Apply Scale to this matrix | Math/Matrix.h | |
uint32 ComputeHash() |
For debugging purpose, could be changed | Math/Matrix.h | |
| Returns a matrix with an additional translation concatenated. | Math/Matrix.h | ||
bool ContainsNaN () |
Returns true if any element of this matrix is NaN | Math/Matrix.h | |
void DebugPrint() |
Output ToString | Math/Matrix.h | |
T Determinant() |
Math/Matrix.h | ||
void DiagnosticCheckNaN() |
Math/Matrix.h | ||
| Error-tolerant comparison. | Math/Matrix.h | ||
TVector< T > ExtractScaling
(
T Tolerance |
Remove any scaling from this matrix (ie magnitude of each row is 1) and return the 3D scale vector that was initially present with error Tolerance | Math/Matrix.h | |
TVector< T > GetColumn
(
int32 i |
Get a column of this matrix | Math/Matrix.h | |
bool GetFrustumBottomPlane
(
TPlane< T >& OuTPln |
Math/Matrix.h | ||
bool GetFrustumFarPlane
(
TPlane< T >& OuTPln |
Math/Matrix.h | ||
bool GetFrustumLeftPlane
(
TPlane< T >& OuTPln |
Math/Matrix.h | ||
bool GetFrustumNearPlane
(
TPlane< T >& OuTPln |
Frustum plane extraction. | Math/Matrix.h | |
bool GetFrustumRightPlane
(
TPlane< T >& OuTPln |
Math/Matrix.h | ||
bool GetFrustumTopPlane
(
TPlane< T >& OuTPln |
Math/Matrix.h | ||
TMatrix< T > GetMatrixWithoutScale
(
T Tolerance |
Returns matrix after RemoveScaling with error Tolerance. | Math/Matrix.h | |
T GetMaximumAxisScale() |
Math/Matrix.h | ||
T GetMinimumAxisScale() |
Math/Matrix.h | ||
TVector< T > GetOrigin() |
Math/Matrix.h | ||
| Get axes of this matrix scaled by the scale of the matrix | Math/Matrix.h | ||
TVector< T > GetScaledAxis
(
EAxis::Type Axis |
Get axis of this matrix scaled by the scale of the matrix | Math/Matrix.h | |
TVector< T > GetScaleVector
(
T Tolerance |
Return a 3D scale vector calculated from this matrix (where each component is the magnitude of a row vector) with error Tolerance. | Math/Matrix.h | |
TMatrix< T > GetTransposed() |
Math/Matrix.h | ||
| Get unit length axes of this matrix | Math/Matrix.h | ||
TVector< T > GetUnitAxis
(
EAxis::Type Axis |
Get unit length axis of this matrix | Math/Matrix.h | |
| Inverse. zero & NaN matrices are silently changed to identity. | Math/Matrix.h | ||
TMatrix< T > InverseFast () |
Get the inverse of this matrix. | Math/Matrix.h | |
| Inverts the matrix and then transforms V - correctly handles scaling in this matrix. | Math/Matrix.h | ||
TVector< T > InverseTransformVector
(
const TVector< T >& V |
Transform a direction vector by the inverse of this matrix - will not take into account translation part. | Math/Matrix.h | |
void Mirror
(
EAxis::Type MirrorAxis, |
Utility for mirroring this transform across a certain plane, and flipping one of the axis as well. | Math/Matrix.h | |
void RemoveScaling
(
T Tolerance |
NOTE: There is some compiler optimization issues with WIN64 that cause FORCEINLINE to cause a crash Remove any scaling from this matrix (ie magnitude of each row is 1) with error Tolerance | Math/Matrix.h | |
TMatrix< T > RemoveTranslation() |
Remove any translation from this matrix. | Math/Matrix.h | |
UE::Math::TRotator< T > Rotator() |
Math/Matrix.h | ||
T RotDeterminant() |
Calculate determinant of rotation 3x3 matrix | Math/Matrix.h | |
void ScaleTranslation
(
const TVector< T >& Scale3D |
Scale the translation part of the matrix by the supplied vector. | Math/Matrix.h | |
bool Serialize
(
FArchive& Ar |
Math/Matrix.h | ||
| Math/Matrix.h | |||
| Update the axes of the matrix if any value is NULL do not update that axis | Math/Matrix.h | ||
void SetAxis
(
int32 i, |
Set an axis of this matrix | Math/Matrix.h | |
void SetColumn
(
int32 i, |
Set a column of this matrix | Math/Matrix.h | |
void SetIdentity() |
Set this to the identity matrix. | Math/Matrix.h | |
void SetOrigin
(
const TVector< T >& NewOrigin |
Set the origin of the coordinate system to the given vector. | Math/Matrix.h | |
void To3x4MatrixTranspose
(
float* Out |
|||
void To3x4MatrixTranspose
(
T* Out |
Convert this Atom to the 3x4 transpose of the transformation matrix. | Math/Matrix.h | |
UE::Math::TQuat< T > ToQuat () |
Transform a rotation matrix into a quaternion. | Math/Matrix.h | |
FString ToString() |
Get a textual representation of the vector. | Math/Matrix.h | |
| Homogeneous transform. | Math/Matrix.h | ||
| Transform a location - will take into account translation part of the TMatrix |
Math/Matrix.h | ||
TVector4< T > TransformVector
(
const TVector< T >& V |
Transform a direction vector - will not take into account translation part of the TMatrix |
Math/Matrix.h | |
TMatrix< T > TransposeAdjoint() |
Math/Matrix.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void ErrorEnsure
(
const TCHAR* Message |
Output an error message and trigger an ensure | Math/Matrix.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool operator!=
(
const TMatrix< T >& Other |
Checks whether another Matrix is not equal to this, within specified tolerance. | Math/Matrix.h | |
| Gets the result of multiplying a Matrix to this. | Math/Matrix.h | ||
| This isn't applying SCALE, just multiplying the value to all members - i.e. weighting | Math/Matrix.h | ||
void operator*=
(
const TMatrix< T >& Other |
Multiply this by a matrix. | Math/Matrix.h | |
void operator*=
(
T Other |
Multiply this matrix by a weighting factor. | Math/Matrix.h | |
| Gets the result of adding a matrix to this. | Math/Matrix.h | ||
void operator+=
(
const TMatrix< T >& Other |
Adds to this matrix. | Math/Matrix.h | |
bool operator==
(
const TMatrix< T >& Other |
Checks whether two matrix are identical. | Math/Matrix.h |