UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Math::TRotationMatrix< T > Struct Template Reference

#include <RotationMatrix.h>

+ Inheritance diagram for UE::Math::TRotationMatrix< T >:

Public Member Functions

 TRotationMatrix (const TRotator< T > &Rot)
 
- Public Member Functions inherited from UE::Math::TRotationTranslationMatrix< T >
 TRotationTranslationMatrix (const TRotator< T > &Rot, const TVector< T > &Origin)
 
template<typename FArg UE_REQUIRES>
 TRotationTranslationMatrix (const TRotationTranslationMatrix< FArg > &From)
 
- Public Member Functions inherited from UE::Math::TMatrix< T >
void DiagnosticCheckNaN () const
 
 TMatrix ()=default
 
 TMatrix (EForceInit)
 
 TMatrix (const TPlane< T > &InX, const TPlane< T > &InY, const TPlane< T > &InZ, const TPlane< T > &InW)
 
 TMatrix (const TVector< T > &InX, const TVector< T > &InY, const TVector< T > &InZ, const TVector< T > &InW)
 
void SetIdentity ()
 
TMatrix< T > operator* (const TMatrix< T > &Other) const
 
void operator*= (const TMatrix< T > &Other)
 
TMatrix< T > operator+ (const TMatrix< T > &Other) const
 
void operator+= (const TMatrix< T > &Other)
 
TMatrix< T > operator* (T Other) const
 
void operator*= (T Other)
 
bool operator== (const TMatrix< T > &Other) const
 
bool Equals (const TMatrix< T > &Other, T Tolerance=UE_KINDA_SMALL_NUMBER) const
 
bool operator!= (const TMatrix< T > &Other) const
 
TVector4< T > TransformFVector4 (const TVector4< T > &V) const
 
TVector4< T > TransformPosition (const TVector< T > &V) const
 
TVector< T > InverseTransformPosition (const TVector< T > &V) const
 
TVector4< T > TransformVector (const TVector< T > &V) const
 
TVector< T > InverseTransformVector (const TVector< T > &V) const
 
TMatrix< T > GetTransposed () const
 
Determinant () const
 
RotDeterminant () const
 
TMatrix< T > InverseFast () const
 
TMatrix< T > Inverse () const
 
TMatrix< T > TransposeAdjoint () const
 
void RemoveScaling (T Tolerance=UE_SMALL_NUMBER)
 
TMatrix< T > GetMatrixWithoutScale (T Tolerance=UE_SMALL_NUMBER) const
 
TVector< T > ExtractScaling (T Tolerance=UE_SMALL_NUMBER)
 
TVector< T > GetScaleVector (T Tolerance=UE_SMALL_NUMBER) const
 
TMatrix< T > RemoveTranslation () const
 
TMatrix< T > ConcatTranslation (const TVector< T > &Translation) const
 
bool ContainsNaN () const
 
void ScaleTranslation (const TVector< T > &Scale3D)
 
GetMinimumAxisScale () const
 
GetMaximumAxisScale () const
 
TMatrix< T > ApplyScale (T Scale) const
 
TVector< T > GetOrigin () const
 
TVector< T > GetScaledAxis (EAxis::Type Axis) const
 
void GetScaledAxes (TVector< T > &X, TVector< T > &Y, TVector< T > &Z) const
 
TVector< T > GetUnitAxis (EAxis::Type Axis) const
 
void GetUnitAxes (TVector< T > &X, TVector< T > &Y, TVector< T > &Z) const
 
void SetAxis (int32 i, const TVector< T > &Axis)
 
void SetOrigin (const TVector< T > &NewOrigin)
 
void SetAxes (const TVector< T > *Axis0=NULL, const TVector< T > *Axis1=NULL, const TVector< T > *Axis2=NULL, const TVector< T > *Origin=NULL)
 
TVector< T > GetColumn (int32 i) const
 
void SetColumn (int32 i, TVector< T > Value)
 
CORE_API UE::Math::TRotator< T > Rotator () const
 
CORE_API UE::Math::TQuat< T > ToQuat () const
 
void To3x4MatrixTranspose (T *Out) const
 
bool GetFrustumNearPlane (TPlane< T > &OuTPln) const
 
bool GetFrustumFarPlane (TPlane< T > &OuTPln) const
 
bool GetFrustumLeftPlane (TPlane< T > &OuTPln) const
 
bool GetFrustumRightPlane (TPlane< T > &OuTPln) const
 
bool GetFrustumTopPlane (TPlane< T > &OuTPln) const
 
bool GetFrustumBottomPlane (TPlane< T > &OuTPln) const
 
void Mirror (EAxis::Type MirrorAxis, EAxis::Type FlipAxis)
 
FString ToString () const
 
void DebugPrint () const
 
uint32 ComputeHash () const
 
bool Serialize (FArchive &Ar)
 
bool SerializeFromMismatchedTag (FName StructTag, FArchive &Ar)
 
template<typename FArg UE_REQUIRES>
 TMatrix (const TMatrix< FArg > &From)
 
void To3x4MatrixTranspose (float *Out) const
 

Static Public Member Functions

static TMatrix< T > Make (TRotator< T > const &Rot)
 
static TMatrix< T > Make (TQuat< T > const &Rot)
 
static TMatrix< T > MakeFromX (TVector< T > const &XAxis)
 
static TMatrix< T > MakeFromY (TVector< T > const &YAxis)
 
static TMatrix< T > MakeFromZ (TVector< T > const &ZAxis)
 
static TMatrix< T > MakeFromXY (TVector< T > const &XAxis, TVector< T > const &YAxis)
 
static TMatrix< T > MakeFromXZ (TVector< T > const &XAxis, TVector< T > const &ZAxis)
 
static TMatrix< T > MakeFromYX (TVector< T > const &YAxis, TVector< T > const &XAxis)
 
static TMatrix< T > MakeFromYZ (TVector< T > const &YAxis, TVector< T > const &ZAxis)
 
static TMatrix< T > MakeFromZX (TVector< T > const &ZAxis, TVector< T > const &XAxis)
 
static TMatrix< T > MakeFromZY (TVector< T > const &ZAxis, TVector< T > const &YAxis)
 
- Static Public Member Functions inherited from UE::Math::TRotationTranslationMatrix< T >
static TMatrix< T > Make (const TRotator< T > &Rot, const TVector< T > &Origin)
 

Additional Inherited Members

- Public Types inherited from UE::Math::TMatrix< T >
using FReal = T
 
- Public Attributes inherited from UE::Math::TMatrix< T >
M [4][4]
 
- Static Public Attributes inherited from UE::Math::TMatrix< T >
static CORE_API const TMatrix Identity
 

Detailed Description

template<typename T>
struct UE::Math::TRotationMatrix< T >

Rotation matrix no translation

Constructor & Destructor Documentation

◆ TRotationMatrix()

template<typename T >
UE::Math::TRotationMatrix< T >::TRotationMatrix ( const TRotator< T > &  Rot)
inline

Constructor.

Parameters
Rotrotation

Member Function Documentation

◆ Make() [1/2]

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::Make ( TQuat< T > const &  Rot)
static

Matrix factory. Return an TMatrix<T> so we don't have type conversion issues in expressions.

◆ Make() [2/2]

template<typename T >
static TMatrix< T > UE::Math::TRotationMatrix< T >::Make ( TRotator< T > const &  Rot)
inlinestatic

Matrix factory. Return an TMatrix<T> so we don't have type conversion issues in expressions.

◆ MakeFromX()

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::MakeFromX ( TVector< T > const &  XAxis)
static

Builds a rotation matrix given only a XAxis. Y and Z are unspecified but will be orthonormal. XAxis need not be normalized.

◆ MakeFromXY()

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::MakeFromXY ( TVector< T > const &  XAxis,
TVector< T > const &  YAxis 
)
static

Builds a matrix with given X and Y axes. X will remain fixed, Y may be changed minimally to enforce orthogonality. Z will be computed. Inputs need not be normalized.

◆ MakeFromXZ()

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::MakeFromXZ ( TVector< T > const &  XAxis,
TVector< T > const &  ZAxis 
)
static

Builds a matrix with given X and Z axes. X will remain fixed, Z may be changed minimally to enforce orthogonality. Y will be computed. Inputs need not be normalized.

◆ MakeFromY()

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::MakeFromY ( TVector< T > const &  YAxis)
static

Builds a rotation matrix given only a YAxis. X and Z are unspecified but will be orthonormal. YAxis need not be normalized.

◆ MakeFromYX()

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::MakeFromYX ( TVector< T > const &  YAxis,
TVector< T > const &  XAxis 
)
static

Builds a matrix with given Y and X axes. Y will remain fixed, X may be changed minimally to enforce orthogonality. Z will be computed. Inputs need not be normalized.

◆ MakeFromYZ()

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::MakeFromYZ ( TVector< T > const &  YAxis,
TVector< T > const &  ZAxis 
)
static

Builds a matrix with given Y and Z axes. Y will remain fixed, Z may be changed minimally to enforce orthogonality. X will be computed. Inputs need not be normalized.

◆ MakeFromZ()

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::MakeFromZ ( TVector< T > const &  ZAxis)
static

Builds a rotation matrix given only a ZAxis. X and Y are unspecified but will be orthonormal. ZAxis need not be normalized.

◆ MakeFromZX()

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::MakeFromZX ( TVector< T > const &  ZAxis,
TVector< T > const &  XAxis 
)
static

Builds a matrix with given Z and X axes. Z will remain fixed, X may be changed minimally to enforce orthogonality. Y will be computed. Inputs need not be normalized.

◆ MakeFromZY()

template<typename T >
TMatrix< T > UE::Math::TRotationMatrix< T >::MakeFromZY ( TVector< T > const &  ZAxis,
TVector< T > const &  YAxis 
)
static

Builds a matrix with given Z and Y axes. Z will remain fixed, Y may be changed minimally to enforce orthogonality. X will be computed. Inputs need not be normalized.


The documentation for this struct was generated from the following file: