Navigation
Unreal Engine C++ API Reference > Runtime > Core > Math
Inheritance Hierarchy
- TMatrix
- FColorSpaceTransform
- PMatrix< FRealDouble, 3, 3 >
- PMatrix< FRealDouble, 4, 4 >
- PMatrix< FRealSingle, 3, 3 >
- PMatrix< FRealSingle, 4, 4 >
- TBasisVectorMatrix
- TClipProjectionMatrix
- TInverseRotationMatrix
- TLookFromMatrix
- TLookAtMatrix
- TMirrorMatrix
- TOrthoMatrix
- TPerspectiveMatrix
- TQuatRotationTranslationMatrix
- TQuatRotationMatrix
- TReversedZOrthoMatrix
- TReversedZPerspectiveMatrix
- TRotationTranslationMatrix
- TRotationAboutPointMatrix
- TRotationMatrix
- TScaleMatrix
- TScaleRotationTranslationMatrix
- TTranslationMatrix
References
Module | Core |
Header | /Engine/Source/Runtime/Core/Public/Math/MathFwd.h |
Include | #include "Math/MathFwd.h" |
Syntax
template<typename T>
struct TMatrix
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
T[4][4] | M |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
TMatrix () |
Constructors. | |
![]() |
TMatrix
(
EForceInit |
Constructor. | |
![]() |
Conversion to other type. | ||
![]() |
Constructor. | ||
![]() |
Constructor. |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
TMatrix< T > | ApplyScale
(
T Scale |
Apply Scale to this matrix |
![]() ![]() |
uint32 | ComputeHash () |
For debugging purpose, could be changed |
![]() ![]() |
TMatrix< T > | ConcatTranslation
(
const TVector< T >& Translation |
Returns a matrix with an additional translation concatenated. |
![]() ![]() |
bool | ContainsNaN () |
Returns true if any element of this matrix is NaN |
![]() ![]() |
void | DebugPrint () |
Output ToString |
![]() ![]() |
T | Determinant () |
|
![]() ![]() |
void | ||
![]() ![]() |
bool | Error-tolerant comparison. | |
![]() |
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 |
![]() ![]() |
TVector< T > | GetColumn
(
int32 i |
Get a column of this matrix |
![]() ![]() |
bool | GetFrustumBottomPlane
(
TPlane< T >& OuTPln |
|
![]() ![]() |
bool | GetFrustumFarPlane
(
TPlane< T >& OuTPln |
|
![]() ![]() |
bool | GetFrustumLeftPlane
(
TPlane< T >& OuTPln |
|
![]() ![]() |
bool | GetFrustumNearPlane
(
TPlane< T >& OuTPln |
Frustum plane extraction. |
![]() ![]() |
bool | GetFrustumRightPlane
(
TPlane< T >& OuTPln |
|
![]() ![]() |
bool | GetFrustumTopPlane
(
TPlane< T >& OuTPln |
|
![]() ![]() |
TMatrix< T > | GetMatrixWithoutScale
(
T Tolerance |
Returns matrix after RemoveScaling with error Tolerance. |
![]() ![]() |
T | ||
![]() ![]() |
T | ||
![]() ![]() |
TVector< T > | GetOrigin () |
|
![]() ![]() |
void | GetScaledAxes
(
TVector< T >& X, |
Get axes of this matrix scaled by the scale of the matrix |
![]() ![]() |
TVector< T > | GetScaledAxis
(
EAxis::Type Axis |
Get axis of this matrix scaled by the scale of the matrix |
![]() ![]() |
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. |
![]() ![]() |
TMatrix< T > | ||
![]() ![]() |
void | GetUnitAxes
(
TVector< T >& X, |
Get unit length axes of this matrix |
![]() ![]() |
TVector< T > | GetUnitAxis
(
EAxis::Type Axis |
Get unit length axis of this matrix |
![]() ![]() |
TMatrix< T > | Inverse () |
Inverse. zero & NaN matrices are silently changed to identity. |
![]() ![]() |
TMatrix< T > | InverseFast () |
Get the inverse of this matrix. |
![]() ![]() |
TVector< T > | InverseTransformPosition
(
const TVector< T >& V |
Inverts the matrix and then transforms V - correctly handles scaling in this matrix. |
![]() ![]() |
TVector< T > | InverseTransformVector
(
const TVector< T >& V |
Transform a direction vector by the inverse of this matrix - will not take into account translation part. |
![]() |
void | Mirror
(
EAxis::Type MirrorAxis, |
Utility for mirroring this transform across a certain plane, and flipping one of the axis as well. |
![]() |
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 |
![]() ![]() |
TMatrix< T > | Remove any translation from this matrix. | |
![]() ![]() |
UE::Math::TRotator< T > | Rotator () |
|
![]() ![]() |
T | Calculate determinant of rotation 3x3 matrix | |
![]() |
void | ScaleTranslation
(
const TVector< T >& Scale3D |
Scale the translation part of the matrix by the supplied vector. |
![]() |
bool | ||
![]() |
bool | SerializeFromMismatchedTag
(
FName StructTag, |
|
![]() |
void | Update the axes of the matrix if any value is NULL do not update that axis | |
![]() |
void | Set an axis of this matrix | |
![]() |
void | Set a column of this matrix | |
![]() |
void | SetIdentity () |
Set this to the identity matrix. |
![]() |
void | Set the origin of the coordinate system to the given vector. | |
![]() ![]() |
void | To3x4MatrixTranspose
(
T* Out |
Convert this Atom to the 3x4 transpose of the transformation matrix. |
![]() ![]() |
UE::Math::TQuat< T > | ToQuat () |
Transform a rotation matrix into a quaternion. |
![]() ![]() |
FString | ToString () |
Get a textual representation of the vector. |
![]() ![]() |
TVector4< T > | TransformFVector4
(
const TVector4< T >& V |
Homogeneous transform. |
![]() ![]() |
TVector4< T > | TransformPosition
(
const TVector< T >& V |
Transform a location - will take into account translation part of the TMatrix |
![]() ![]() |
TVector4< T > | TransformVector
(
const TVector< T >& V |
Transform a direction vector - will not take into account translation part of the TMatrix |
![]() ![]() |
TMatrix< T > |
Operators
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | operator!=
(
const TMatrix< T >& Other |
Checks whether another Matrix is not equal to this, within specified tolerance. |
![]() ![]() |
TMatrix< T > | Gets the result of multiplying a Matrix to this. | |
![]() ![]() |
TMatrix< T > | operator*
(
T Other |
This isn't applying SCALE, just multiplying the value to all members - i.e. weighting |
![]() |
void | operator*=
(
const TMatrix< T >& Other |
Multiply this by a matrix. |
![]() |
void | operator*=
(
T Other |
Multiply this matrix by a weighting factor. |
![]() ![]() |
TMatrix< T > | Gets the result of adding a matrix to this. | |
![]() |
void | operator+=
(
const TMatrix< T >& Other |
Adds to this matrix. |
![]() ![]() |
bool | operator==
(
const TMatrix< T >& Other |
Checks whether two matrix are identical. |
Typedefs
Name | Description |
---|---|
FReal |
Constants
Name | Description |
---|---|
Identity |