Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
UE::Math::TRotationMatrix< T > Struct Template Reference

#include <RotationMatrix.h>

+ Inheritance diagram for UE::Math::TRotationMatrix< T >:
+ Collaboration 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 , TEMPLATE_REQUIRES(!std::is_same_v< T, FArg >) >
 TRotationTranslationMatrix (const TRotationTranslationMatrix< FArg > &From)
 
- Public Member Functions inherited from UE::Math::TMatrix< T >
FORCEINLINE void DiagnosticCheckNaN () const
 
FORCEINLINE TMatrix ()
 
FORCEINLINE TMatrix (EForceInit)
 
FORCEINLINE TMatrix (const TPlane< T > &InX, const TPlane< T > &InY, const TPlane< T > &InZ, const TPlane< T > &InW)
 
FORCEINLINE TMatrix (const TVector< T > &InX, const TVector< T > &InY, const TVector< T > &InZ, const TVector< T > &InW)
 
void SetIdentity ()
 
FORCEINLINE TMatrix< Toperator* (const TMatrix< T > &Other) const
 
FORCEINLINE void operator*= (const TMatrix< T > &Other)
 
FORCEINLINE TMatrix< Toperator+ (const TMatrix< T > &Other) const
 
FORCEINLINE void operator+= (const TMatrix< T > &Other)
 
FORCEINLINE TMatrix< Toperator* (T Other) const
 
FORCEINLINE 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
 
FORCEINLINE TVector4< TTransformFVector4 (const TVector4< T > &V) const
 
FORCEINLINE TVector4< TTransformPosition (const TVector< T > &V) const
 
FORCEINLINE TVector< TInverseTransformPosition (const TVector< T > &V) const
 
FORCEINLINE TVector4< TTransformVector (const TVector< T > &V) const
 
FORCEINLINE TVector< TInverseTransformVector (const TVector< T > &V) const
 
FORCEINLINE TMatrix< TGetTransposed () const
 
T Determinant () const
 
T RotDeterminant () const
 
TMatrix< TInverseFast () const
 
TMatrix< TInverse () const
 
TMatrix< TTransposeAdjoint () const
 
void RemoveScaling (T Tolerance=UE_SMALL_NUMBER)
 
TMatrix< TGetMatrixWithoutScale (T Tolerance=UE_SMALL_NUMBER) const
 
TVector< TExtractScaling (T Tolerance=UE_SMALL_NUMBER)
 
TVector< TGetScaleVector (T Tolerance=UE_SMALL_NUMBER) const
 
TMatrix< TRemoveTranslation () const
 
TMatrix< TConcatTranslation (const TVector< T > &Translation) const
 
bool ContainsNaN () const
 
void ScaleTranslation (const TVector< T > &Scale3D)
 
T GetMinimumAxisScale () const
 
T GetMaximumAxisScale () const
 
TMatrix< TApplyScale (T Scale) const
 
TVector< TGetOrigin () const
 
TVector< TGetScaledAxis (EAxis::Type Axis) const
 
void GetScaledAxes (TVector< T > &X, TVector< T > &Y, TVector< T > &Z) const
 
TVector< TGetUnitAxis (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< TGetColumn (int32 i) const
 
void SetColumn (int32 i, TVector< T > Value)
 
UE::Math::TRotator< TRotator () const
 
UE::Math::TQuat< TToQuat () const
 
FORCEINLINE bool GetFrustumNearPlane (TPlane< T > &OuTPln) const
 
FORCEINLINE bool GetFrustumFarPlane (TPlane< T > &OuTPln) const
 
FORCEINLINE bool GetFrustumLeftPlane (TPlane< T > &OuTPln) const
 
FORCEINLINE bool GetFrustumRightPlane (TPlane< T > &OuTPln) const
 
FORCEINLINE bool GetFrustumTopPlane (TPlane< T > &OuTPln) const
 
FORCEINLINE 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)
 
void To3x4MatrixTranspose (T *Out) const
 
template<typename FArg , TEMPLATE_REQUIRES(!std::is_same_v< T, FArg >) >
 TMatrix (const TMatrix< FArg > &From)
 

Static Public Member Functions

static TMatrix< TMake (TRotator< T > const &Rot)
 
static TMatrix< TMake (TQuat< T > const &Rot)
 
static TMatrix< TMakeFromX (TVector< T > const &XAxis)
 
static TMatrix< TMakeFromY (TVector< T > const &YAxis)
 
static TMatrix< TMakeFromZ (TVector< T > const &ZAxis)
 
static TMatrix< TMakeFromXY (TVector< T > const &XAxis, TVector< T > const &YAxis)
 
static TMatrix< TMakeFromXZ (TVector< T > const &XAxis, TVector< T > const &ZAxis)
 
static TMatrix< TMakeFromYX (TVector< T > const &YAxis, TVector< T > const &XAxis)
 
static TMatrix< TMakeFromYZ (TVector< T > const &YAxis, TVector< T > const &ZAxis)
 
static TMatrix< TMakeFromZX (TVector< T > const &ZAxis, TVector< T > const &XAxis)
 
static TMatrix< TMakeFromZY (TVector< T > const &ZAxis, TVector< T > const &YAxis)
 
- Static Public Member Functions inherited from UE::Math::TRotationTranslationMatrix< T >
static TMatrix< TMake (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 >
T M [4][4]
 
- Static Public Attributes inherited from UE::Math::TMatrix< T >
static const TMatrix Identity
 

Detailed Description

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

Rotation matrix no translation

Definition at line 17 of file RotationMatrix.h.

Constructor & Destructor Documentation

◆ TRotationMatrix()

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

Constructor.

Parameters
Rotrotation

Definition at line 28 of file RotationMatrix.h.

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.

Definition at line 70 of file RotationMatrix.h.

◆ 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.

Definition at line 33 of file RotationMatrix.h.

◆ 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.

Definition at line 76 of file RotationMatrix.h.

◆ 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.

Definition at line 118 of file RotationMatrix.h.

◆ 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.

Definition at line 137 of file RotationMatrix.h.

◆ 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.

Definition at line 90 of file RotationMatrix.h.

◆ 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.

Definition at line 156 of file RotationMatrix.h.

◆ 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.

Definition at line 175 of file RotationMatrix.h.

◆ 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.

Definition at line 104 of file RotationMatrix.h.

◆ 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.

Definition at line 194 of file RotationMatrix.h.

◆ 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.

Definition at line 213 of file RotationMatrix.h.


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