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

#include <TransformNonVectorized.h>

Public Types

using FReal = T
 
using TransformVectorRegister = TVectorRegisterType<T>
 

Public Member Functions

FORCEINLINE void DiagnosticCheckNaN_Translate () const
 
FORCEINLINE void DiagnosticCheckNaN_Rotate () const
 
FORCEINLINE void DiagnosticCheckNaN_Scale3D () const
 
FORCEINLINE void DiagnosticCheckNaN_All () const
 
FORCEINLINE void DiagnosticCheck_IsValid () const
 
FORCEINLINE TTransform ()
 
FORCEINLINE TTransform (const TVector< T > &InTranslation)
 
FORCEINLINE TTransform (ENoInit)
 
FORCEINLINE TTransform (const TQuat< T > &InRotation)
 
FORCEINLINE TTransform (const TRotator< T > &InRotation)
 
FORCEINLINE TTransform (const TQuat< T > &InRotation, const TVector< T > &InTranslation, const TVector< T > &InScale3D=TVector< T >::OneVector)
 
FORCEINLINE TTransform (const TRotator< T > &InRotation, const TVector< T > &InTranslation, const TVector< T > &InScale3D=TVector< T >::OneVector)
 
FORCEINLINE TTransform (const TMatrix< T > &InMatrix)
 
FORCEINLINE TTransform (const TVector< T > &InX, const TVector< T > &InY, const TVector< T > &InZ, const TVector< T > &InTranslation)
 
void DebugPrint () const
 
bool DebugEqualMatrix (const TMatrix< T > &Matrix) const
 
FString ToHumanReadableString () const
 
FString ToString () const
 
bool InitFromString (const FString &InSourceString)
 
FORCEINLINE TMatrix< TToMatrixWithScale () const
 
FORCEINLINE TMatrix< TToInverseMatrixWithScale () const
 
FORCEINLINE TTransform< TInverse () const
 
FORCEINLINE TMatrix< TToMatrixNoScale () const
 
FORCEINLINE void Blend (const TTransform< T > &Atom1, const TTransform< T > &Atom2, float Alpha)
 
FORCEINLINE void BlendWith (const TTransform< T > &OtherAtom, float Alpha)
 
FORCEINLINE TTransform< Toperator+ (const TTransform< T > &Atom) const
 
FORCEINLINE TTransform< T > & operator+= (const TTransform< T > &Atom)
 
FORCEINLINE TTransform< Toperator* (T Mult) const
 
FORCEINLINE TTransform< T > & operator*= (T Mult)
 
FORCEINLINE TTransform< Toperator* (const TTransform< T > &Other) const
 
FORCEINLINE void operator*= (const TTransform< T > &Other)
 
FORCEINLINE TTransform< Toperator* (const TQuat< T > &Other) const
 
FORCEINLINE void operator*= (const TQuat< T > &Other)
 
FORCEINLINE void ScaleTranslation (const TVector< T > &InScale3D)
 
FORCEINLINE void ScaleTranslation (const FReal &Scale)
 
FORCEINLINE void RemoveScaling (FReal Tolerance=UE_SMALL_NUMBER)
 
FORCEINLINE T GetMaximumAxisScale () const
 
FORCEINLINE T GetMinimumAxisScale () const
 
TTransform< TGetRelativeTransform (const TTransform< T > &Other) const
 
TTransform< TGetRelativeTransformReverse (const TTransform< T > &Other) const
 
void SetToRelativeTransform (const TTransform< T > &ParentTransform)
 
FORCEINLINE TVector4< TTransformFVector4 (const TVector4< T > &V) const
 
FORCEINLINE TVector4< TTransformFVector4NoScale (const TVector4< T > &V) const
 
FORCEINLINE TVector< TTransformPosition (const TVector< T > &V) const
 
FORCEINLINE TVector< TTransformPositionNoScale (const TVector< T > &V) const
 
FORCEINLINE TVector< TInverseTransformPosition (const TVector< T > &V) const
 
FORCEINLINE TVector< TInverseTransformPositionNoScale (const TVector< T > &V) const
 
FORCEINLINE TVector< TTransformVector (const TVector< T > &V) const
 
FORCEINLINE TVector< TTransformVectorNoScale (const TVector< T > &V) const
 
FORCEINLINE TVector< TInverseTransformVector (const TVector< T > &V) const
 
FORCEINLINE TVector< TInverseTransformVectorNoScale (const TVector< T > &V) const
 
FORCEINLINE TQuat< TTransformRotation (const TQuat< T > &Q) const
 
FORCEINLINE TQuat< TInverseTransformRotation (const TQuat< T > &Q) const
 
FORCEINLINE TTransform< TGetScaled (T Scale) const
 
FORCEINLINE TTransform< TGetScaled (TVector< T > Scale) const
 
FORCEINLINE TVector< TGetScaledAxis (EAxis::Type InAxis) const
 
FORCEINLINE TVector< TGetUnitAxis (EAxis::Type InAxis) const
 
FORCEINLINE void Mirror (EAxis::Type MirrorAxis, EAxis::Type FlipAxis)
 
FORCEINLINE TVector< TGetLocation () const
 
FORCEINLINE TRotator< TRotator () const
 
FORCEINLINE FReal GetDeterminant () const
 
FORCEINLINE void SetLocation (const TVector< T > &Origin)
 
bool ContainsNaN () const
 
bool IsValid () const
 
bool Serialize (FArchive &Ar)
 
bool SerializeFromMismatchedTag (FName StructTag, FArchive &Ar)
 
FORCEINLINE bool RotationEquals (const TTransform< T > &Other, FReal Tolerance=UE_KINDA_SMALL_NUMBER) const
 
FORCEINLINE bool TranslationEquals (const TTransform< T > &Other, FReal Tolerance=UE_KINDA_SMALL_NUMBER) const
 
FORCEINLINE bool Scale3DEquals (const TTransform< T > &Other, FReal Tolerance=UE_KINDA_SMALL_NUMBER) const
 
FORCEINLINE bool Equals (const TTransform< T > &Other, FReal Tolerance=UE_KINDA_SMALL_NUMBER) const
 
FORCEINLINE bool Identical (const TTransform< T > *Other, uint32 PortFlags) const
 
FORCEINLINE bool EqualsNoScale (const TTransform< T > &Other, FReal Tolerance=UE_KINDA_SMALL_NUMBER) const
 
FORCEINLINE void SetComponents (const TQuat< T > &InRotation, const TVector< T > &InTranslation, const TVector< T > &InScale3D)
 
FORCEINLINE void SetIdentity ()
 
FORCEINLINE void SetIdentityZeroScale ()
 
FORCEINLINE void MultiplyScale3D (const TVector< T > &Scale3DMultiplier)
 
FORCEINLINE void SetTranslation (const TVector< T > &NewTranslation)
 
FORCEINLINE void CopyTranslation (const TTransform< T > &Other)
 
FORCEINLINE void ConcatenateRotation (const TQuat< T > &DeltaRotation)
 
FORCEINLINE void AddToTranslation (const TVector< T > &DeltaTranslation)
 
FORCEINLINE void SetRotation (const TQuat< T > &NewRotation)
 
FORCEINLINE void CopyRotation (const TTransform< T > &Other)
 
FORCEINLINE void SetScale3D (const TVector< T > &NewScale3D)
 
FORCEINLINE void CopyScale3D (const TTransform< T > &Other)
 
FORCEINLINE void SetTranslationAndScale3D (const TVector< T > &NewTranslation, const TVector< T > &NewScale3D)
 
TransformVectorRegister GetTranslationRegister () const
 
TransformVectorRegister GetRotationRegister () const
 
void SetTranslationRegister (TransformVectorRegister InTranslation)
 
void SetRotationRegister (TransformVectorRegister InRotation)
 
FORCEINLINE void Accumulate (const TTransform< T > &SourceAtom)
 
FORCEINLINE void Accumulate (const TTransform< T > &Atom, FReal BlendWeight)
 
FORCEINLINE void AccumulateWithShortestRotation (const TTransform< T > &DeltaAtom, FReal BlendWeight)
 
FORCEINLINE void AccumulateWithAdditiveScale (const TTransform< T > &Atom, T BlendWeight)
 
FORCEINLINE void LerpTranslationScale3D (const TTransform< T > &SourceAtom1, const TTransform< T > &SourceAtom2, ScalarRegister Alpha)
 
FORCEINLINE void NormalizeRotation ()
 
FORCEINLINE bool IsRotationNormalized () const
 
FORCEINLINE TQuat< TGetRotation () const
 
FORCEINLINE TVector< TGetTranslation () const
 
FORCEINLINE TVector< TGetScale3D () const
 
FORCEINLINE void CopyRotationPart (const TTransform< T > &SrcBA)
 
FORCEINLINE void CopyTranslationAndScale3D (const TTransform< T > &SrcBA)
 
void SetFromMatrix (const TMatrix< T > &InMatrix)
 
template<typename FArg , TEMPLATE_REQUIRES(!std::is_same_v< T, FArg >) >
 TTransform (const TTransform< FArg > &From)
 

Static Public Member Functions

static FORCEINLINE bool AnyHasNegativeScale (const TVector< T > &InScale3D, const TVector< T > &InOtherScale3D)
 
static FORCEINLINE TVector< TGetSafeScaleReciprocal (const TVector< T > &InScale, FReal Tolerance=UE_SMALL_NUMBER)
 
static FORCEINLINE bool AreRotationsEqual (const TTransform< T > &A, const TTransform< T > &B, FReal Tolerance=UE_KINDA_SMALL_NUMBER)
 
static FORCEINLINE bool AreTranslationsEqual (const TTransform< T > &A, const TTransform< T > &B, FReal Tolerance=UE_KINDA_SMALL_NUMBER)
 
static FORCEINLINE bool AreScale3DsEqual (const TTransform< T > &A, const TTransform< T > &B, FReal Tolerance=UE_KINDA_SMALL_NUMBER)
 
static FORCEINLINE void Multiply (TTransform< T > *OutTransform, const TTransform< T > *A, const TTransform< T > *B)
 
static FORCEINLINE TVector< TAddTranslations (const TTransform< T > &A, const TTransform< T > &B)
 
static FORCEINLINE TVector< TSubtractTranslations (const TTransform< T > &A, const TTransform< T > &B)
 
static FORCEINLINE void BlendFromIdentityAndAccumulate (TTransform< T > &FinalAtom, const TTransform< T > &SourceAtom, float BlendWeight)
 

Public Attributes

friend Z_Construct_UScriptStruct_FTransform3f_Statics
 
friend Z_Construct_UScriptStruct_FTransform3d_Statics
 
friend Z_Construct_UScriptStruct_FTransform_Statics
 

Static Public Attributes

static const TTransform< TIdentity
 

Protected Attributes

TQuat< TRotation
 
TVector< TTranslation
 
TVector< TScale3D
 

Private Member Functions

FORCEINLINE bool Private_RotationEquals (const TQuat< T > &InRotation, const FReal Tolerance=UE_KINDA_SMALL_NUMBER) const
 
FORCEINLINE bool Private_TranslationEquals (const TVector< T > &InTranslation, const FReal Tolerance=UE_KINDA_SMALL_NUMBER) const
 
FORCEINLINE bool Private_Scale3DEquals (const TVector< T > &InScale3D, const FReal Tolerance=UE_KINDA_SMALL_NUMBER) const
 

Static Private Member Functions

static FORCEINLINE void MultiplyUsingMatrixWithScale (TTransform< T > *OutTransform, const TTransform< T > *A, const TTransform< T > *B)
 
static FORCEINLINE void ConstructTransformFromMatrixWithDesiredScale (const TMatrix< T > &AMatrix, const TMatrix< T > &BMatrix, const TVector< T > &DesiredScale, TTransform< T > &OutTransform)
 
static void GetRelativeTransformUsingMatrixWithScale (TTransform< T > *OutTransform, const TTransform< T > *Base, const TTransform< T > *Relative)
 

Friends

FArchiveoperator<< (FArchive &Ar, TTransform< T > &M)
 

Detailed Description

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

Definition at line 38 of file TransformNonVectorized.h.

Member Typedef Documentation

◆ FReal

template<typename T >
using UE::Math::TTransform< T >::FReal = T

Definition at line 44 of file TransformNonVectorized.h.

◆ TransformVectorRegister

template<typename T >
using UE::Math::TTransform< T >::TransformVectorRegister = TVectorRegisterType<T>

Definition at line 45 of file TransformNonVectorized.h.

Constructor & Destructor Documentation

◆ TTransform() [1/10]

template<typename T >
FORCEINLINE UE::Math::TTransform< T >::TTransform ( )
inline

Default constructor.

Definition at line 113 of file TransformNonVectorized.h.

◆ TTransform() [2/10]

template<typename T >
FORCEINLINE UE::Math::TTransform< T >::TTransform ( const TVector< T > & InTranslation)
inlineexplicit

Constructor with an initial translation

Parameters
InTranslationThe value to use for the translation component

Definition at line 125 of file TransformNonVectorized.h.

◆ TTransform() [3/10]

template<typename T >
FORCEINLINE UE::Math::TTransform< T >::TTransform ( ENoInit )
inlineexplicit

Constructor with leaving uninitialized memory

Definition at line 136 of file TransformNonVectorized.h.

◆ TTransform() [4/10]

template<typename T >
FORCEINLINE UE::Math::TTransform< T >::TTransform ( const TQuat< T > & InRotation)
inlineexplicit

Constructor with an initial rotation

Parameters
InRotationThe value to use for rotation component

Definition at line 155 of file TransformNonVectorized.h.

◆ TTransform() [5/10]

template<typename T >
FORCEINLINE UE::Math::TTransform< T >::TTransform ( const TRotator< T > & InRotation)
inlineexplicit

Constructor with an initial rotation

Parameters
InRotationThe value to use for rotation component (after being converted to a quaternion)

Definition at line 168 of file TransformNonVectorized.h.

◆ TTransform() [6/10]

template<typename T >
FORCEINLINE UE::Math::TTransform< T >::TTransform ( const TQuat< T > & InRotation,
const TVector< T > & InTranslation,
const TVector< T > & InScale3D = TVector<T>::OneVector )
inline

Constructor with all components initialized

Parameters
InRotationThe value to use for rotation component
InTranslationThe value to use for the translation component
InScale3DThe value to use for the scale component

Definition at line 183 of file TransformNonVectorized.h.

◆ TTransform() [7/10]

template<typename T >
FORCEINLINE UE::Math::TTransform< T >::TTransform ( const TRotator< T > & InRotation,
const TVector< T > & InTranslation,
const TVector< T > & InScale3D = TVector<T>::OneVector )
inline

Constructor with all components initialized, taking a TRotator<T> as the rotation component

Parameters
InRotationThe value to use for rotation component (after being converted to a quaternion)
InTranslationThe value to use for the translation component
InScale3DThe value to use for the scale component

Definition at line 198 of file TransformNonVectorized.h.

◆ TTransform() [8/10]

template<typename T >
FORCEINLINE UE::Math::TTransform< T >::TTransform ( const TMatrix< T > & InMatrix)
inlineexplicit

Constructor for converting a Matrix (including scale) into a TTransform<T>.

Definition at line 209 of file TransformNonVectorized.h.

◆ TTransform() [9/10]

template<typename T >
FORCEINLINE UE::Math::TTransform< T >::TTransform ( const TVector< T > & InX,
const TVector< T > & InY,
const TVector< T > & InZ,
const TVector< T > & InTranslation )
inline

Constructor that takes basis axes and translation

Definition at line 216 of file TransformNonVectorized.h.

◆ TTransform() [10/10]

template<typename T >
template<typename FArg , TEMPLATE_REQUIRES(!std::is_same_v< T, FArg >) >
UE::Math::TTransform< T >::TTransform ( const TTransform< FArg > & From)
inlineexplicit

Definition at line 1215 of file TransformNonVectorized.h.

Member Function Documentation

◆ Accumulate() [1/2]

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::Accumulate ( const TTransform< T > & Atom,
FReal BlendWeight )
inline

Accumulates another transform with this one, with a blending weight

Let SourceAtom = Atom * BlendWeight Rotation is accumulated multiplicatively (Rotation = SourceAtom.Rotation * Rotation). Translation is accumulated additively (Translation += SourceAtom.Translation) Scale3D is accumulated multiplicatively (Scale3D *= SourceAtom.Scale3D)

Note: Rotation will not be normalized! Will have to be done manually.

Parameters
AtomThe other transform to accumulate into this one
BlendWeightThe weight to multiply Atom by before it is accumulated.

Definition at line 934 of file TransformNonVectorized.h.

◆ Accumulate() [2/2]

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::Accumulate ( const TTransform< T > & SourceAtom)
inline
Note
: Added template type function for Accumulate The template type isn't much useful yet, but it is with the plan to move forward to unify blending features with just type of additive or full pose Eventually it would be nice to just call blend and it all works depending on full pose or additive, but right now that is a lot more refactoring For now this types only defines the different functionality of accumulate Accumulates another transform with this one

Rotation is accumulated multiplicatively (Rotation = SourceAtom.Rotation * Rotation) Translation is accumulated additively (Translation += SourceAtom.Translation) Scale3D is accumulated multiplicatively (Scale3D *= SourceAtom.Scale3D)

Parameters
SourceAtomThe other transform to accumulate into this one

Definition at line 906 of file TransformNonVectorized.h.

◆ AccumulateWithAdditiveScale()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::AccumulateWithAdditiveScale ( const TTransform< T > & Atom,
T BlendWeight )
inline

Accumulates another transform with this one, with a blending weight

Let SourceAtom = Atom * BlendWeight Rotation is accumulated multiplicatively (Rotation = SourceAtom.Rotation * Rotation). Translation is accumulated additively (Translation += SourceAtom.Translation) Scale3D is accumulated assuming incoming scale is additive scale (Scale3D *= (1 + SourceAtom.Scale3D))

When we create additive, we create additive scale based on [TargetScale/SourceScale -1] because that way when you apply weight of 0.3, you don't shrink. We only saves the % of grow/shrink when we apply that back to it, we add back the 1, so that it goes back to it. This solves issue where you blend two additives with 0.3, you don't come back to 0.6 scale, but 1 scale at the end because [1 + [1-1]*0.3 + [1-1]*0.3] becomes 1, so you don't shrink by applying additive scale

Note: Rotation will not be normalized! Will have to be done manually.

Parameters
AtomThe other transform to accumulate into this one
BlendWeightThe weight to multiply Atom by before it is accumulated.

Definition at line 1004 of file TransformNonVectorized.h.

◆ AccumulateWithShortestRotation()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::AccumulateWithShortestRotation ( const TTransform< T > & DeltaAtom,
FReal BlendWeight )
inline

Accumulates another transform with this one, with an optional blending weight

Rotation is accumulated additively, in the shortest direction (Rotation = Rotation +/- DeltaAtom.Rotation * Weight) Translation is accumulated additively (Translation += DeltaAtom.Translation * Weight) Scale3D is accumulated additively (Scale3D += DeltaAtom.Scale3D * Weight)

Parameters
DeltaAtomThe other transform to accumulate into this one
WeightThe weight to multiply DeltaAtom by before it is accumulated.

Definition at line 960 of file TransformNonVectorized.h.

◆ AddToTranslation()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::AddToTranslation ( const TVector< T > & DeltaTranslation)
inline

Adjusts the translation component of this transformation

Parameters
DeltaTranslationThe translation to add in the following fashion: Translation += DeltaTranslation

Definition at line 813 of file TransformNonVectorized.h.

◆ AddTranslations()

template<typename T >
static FORCEINLINE TVector< T > UE::Math::TTransform< T >::AddTranslations ( const TTransform< T > & A,
const TTransform< T > & B )
inlinestatic

Add the translations from two TTransform<T>s and return the result.

Returns
A.Translation + B.Translation

Definition at line 823 of file TransformNonVectorized.h.

◆ AnyHasNegativeScale()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::AnyHasNegativeScale ( const TVector< T > & InScale3D,
const TVector< T > & InOtherScale3D )
static

Definition at line 1223 of file TransformNonVectorized.h.

◆ AreRotationsEqual()

template<typename T >
static FORCEINLINE bool UE::Math::TTransform< T >::AreRotationsEqual ( const TTransform< T > & A,
const TTransform< T > & B,
FReal Tolerance = UE_KINDA_SMALL_NUMBER )
inlinestatic

Definition at line 666 of file TransformNonVectorized.h.

◆ AreScale3DsEqual()

template<typename T >
static FORCEINLINE bool UE::Math::TTransform< T >::AreScale3DsEqual ( const TTransform< T > & A,
const TTransform< T > & B,
FReal Tolerance = UE_KINDA_SMALL_NUMBER )
inlinestatic

Definition at line 678 of file TransformNonVectorized.h.

◆ AreTranslationsEqual()

template<typename T >
static FORCEINLINE bool UE::Math::TTransform< T >::AreTranslationsEqual ( const TTransform< T > & A,
const TTransform< T > & B,
FReal Tolerance = UE_KINDA_SMALL_NUMBER )
inlinestatic

Definition at line 672 of file TransformNonVectorized.h.

◆ Blend()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::Blend ( const TTransform< T > & Atom1,
const TTransform< T > & Atom2,
float Alpha )
inline

Set this transform to the weighted blend of the supplied two transforms.

Definition at line 375 of file TransformNonVectorized.h.

◆ BlendFromIdentityAndAccumulate()

template<typename T >
static FORCEINLINE void UE::Math::TTransform< T >::BlendFromIdentityAndAccumulate ( TTransform< T > & FinalAtom,
const TTransform< T > & SourceAtom,
float BlendWeight )
inlinestatic

Blends the Identity transform with a weighted source transform and accumulates that into a destination transform

DeltaAtom = Blend(Identity, SourceAtom, BlendWeight) FinalAtom.Rotation = DeltaAtom.Rotation * FinalAtom.Rotation FinalAtom.Translation += DeltaAtom.Translation FinalAtom.Scale3D *= DeltaAtom.Scale3D

Parameters
FinalAtom[in/out] The atom to accumulate the blended source atom into
SourceAtomThe target transformation (used when BlendWeight = 1); this is modified during the process
BlendWeightThe blend weight between Identity and SourceAtom

Definition at line 1071 of file TransformNonVectorized.h.

◆ BlendWith()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::BlendWith ( const TTransform< T > & OtherAtom,
float Alpha )
inline

Set this Transform to the weighted blend of it and the supplied Transform.

Definition at line 405 of file TransformNonVectorized.h.

◆ ConcatenateRotation()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::ConcatenateRotation ( const TQuat< T > & DeltaRotation)
inline

Concatenates another rotation to this transformation

Parameters
DeltaRotationThe rotation to concatenate in the following fashion: Rotation = Rotation * DeltaRotation

Definition at line 803 of file TransformNonVectorized.h.

◆ ConstructTransformFromMatrixWithDesiredScale()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::ConstructTransformFromMatrixWithDesiredScale ( const TMatrix< T > & AMatrix,
const TMatrix< T > & BMatrix,
const TVector< T > & DesiredScale,
TTransform< T > & OutTransform )
staticprivate

Create a new transform from multiplications of given to matrices (AMatrix*BMatrix) using desired scale This is used by MultiplyUsingMatrixWithScale and GetRelativeTransformUsingMatrixWithScale This is only used to handle negative scale

Parameters
AMatrixfirst Matrix of operation
BMatrixsecond Matrix of operation
DesiredScale- there is no check on if the magnitude is correct here. It assumes that is correct.
OutTransformthe constructed transform

Definition at line 1268 of file TransformNonVectorized.h.

◆ ContainsNaN()

template<typename T >
bool UE::Math::TTransform< T >::ContainsNaN ( ) const
inline

Checks the components for non-finite values (NaN or Inf).

Returns
Returns true if any component (rotation, translation, or scale) is not finite.

Definition at line 598 of file TransformNonVectorized.h.

◆ CopyRotation()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::CopyRotation ( const TTransform< T > & Other)
inline

Copy rotation from another TTransform<T>.

Definition at line 848 of file TransformNonVectorized.h.

◆ CopyRotationPart()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::CopyRotationPart ( const TTransform< T > & SrcBA)
inline

Sets the Rotation and Scale3D of this transformation from another transform

Parameters
SrcBAThe transform to copy rotation and Scale3D from

Definition at line 1133 of file TransformNonVectorized.h.

◆ CopyScale3D()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::CopyScale3D ( const TTransform< T > & Other)
inline

Copy scale from another TTransform<T>.

Definition at line 864 of file TransformNonVectorized.h.

◆ CopyTranslation()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::CopyTranslation ( const TTransform< T > & Other)
inline

Copy translation from another TTransform<T>.

Definition at line 794 of file TransformNonVectorized.h.

◆ CopyTranslationAndScale3D()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::CopyTranslationAndScale3D ( const TTransform< T > & SrcBA)
inline

Sets the Translation and Scale3D of this transformation from another transform

Parameters
SrcBAThe transform to copy translation and Scale3D from

Definition at line 1147 of file TransformNonVectorized.h.

◆ DebugEqualMatrix()

template<typename T >
bool UE::Math::TTransform< T >::DebugEqualMatrix ( const TMatrix< T > & Matrix) const

Debug purpose only

◆ DebugPrint()

template<typename T >
void UE::Math::TTransform< T >::DebugPrint ( ) const

Does a debugf of the contents of this Transform.

◆ DiagnosticCheck_IsValid()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::DiagnosticCheck_IsValid ( ) const
inline

Definition at line 109 of file TransformNonVectorized.h.

◆ DiagnosticCheckNaN_All()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::DiagnosticCheckNaN_All ( ) const
inline

Definition at line 108 of file TransformNonVectorized.h.

◆ DiagnosticCheckNaN_Rotate()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::DiagnosticCheckNaN_Rotate ( ) const
inline

Definition at line 106 of file TransformNonVectorized.h.

◆ DiagnosticCheckNaN_Scale3D()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::DiagnosticCheckNaN_Scale3D ( ) const
inline

Definition at line 107 of file TransformNonVectorized.h.

◆ DiagnosticCheckNaN_Translate()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::DiagnosticCheckNaN_Translate ( ) const
inline

Definition at line 105 of file TransformNonVectorized.h.

◆ Equals()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::Equals ( const TTransform< T > & Other,
FReal Tolerance = UE_KINDA_SMALL_NUMBER ) const
inline

Definition at line 704 of file TransformNonVectorized.h.

◆ EqualsNoScale()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::EqualsNoScale ( const TTransform< T > & Other,
FReal Tolerance = UE_KINDA_SMALL_NUMBER ) const
inline

Definition at line 716 of file TransformNonVectorized.h.

◆ GetDeterminant()

template<typename T >
FORCEINLINE FReal UE::Math::TTransform< T >::GetDeterminant ( ) const
inline

Calculate the determinant of this transformation

Definition at line 582 of file TransformNonVectorized.h.

◆ GetLocation()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::GetLocation ( ) const
inline

Definition at line 571 of file TransformNonVectorized.h.

◆ GetMaximumAxisScale()

template<typename T >
T UE::Math::TTransform< T >::GetMaximumAxisScale ( ) const
inline

same version of TMatrix<T>::GetMaximumAxisScale function

Returns
the maximum magnitude of all components of the 3D scale.

Definition at line 1569 of file TransformNonVectorized.h.

◆ GetMinimumAxisScale()

template<typename T >
T UE::Math::TTransform< T >::GetMinimumAxisScale ( ) const
inline
Returns
the minimum magnitude of all components of the 3D scale.

Definition at line 1578 of file TransformNonVectorized.h.

◆ GetRelativeTransform()

template<typename T >
TTransform< T > UE::Math::TTransform< T >::GetRelativeTransform ( const TTransform< T > & Other) const

◆ GetRelativeTransformReverse()

template<typename T >
TTransform< T > UE::Math::TTransform< T >::GetRelativeTransformReverse ( const TTransform< T > & Other) const

◆ GetRelativeTransformUsingMatrixWithScale()

template<typename T >
static void UE::Math::TTransform< T >::GetRelativeTransformUsingMatrixWithScale ( TTransform< T > * OutTransform,
const TTransform< T > * Base,
const TTransform< T > * Relative )
staticprivate

Create a new transform: OutTransform = Base * Relative(-1) using the matrix while keeping the scale that's given by Base and Relative Please note that this operation is a lot more expensive than normal GetRelativeTrnasform

Parameters
OutTransformpointer to transform that will store the result of Base * Relative(-1).
BAseTransform Base.
RelativeTransform Relative.

◆ GetRotation()

template<typename T >
FORCEINLINE TQuat< T > UE::Math::TTransform< T >::GetRotation ( ) const
inline

Returns the rotation component

Returns
The rotation component

Definition at line 1100 of file TransformNonVectorized.h.

◆ GetRotationRegister()

template<typename T >
TransformVectorRegister UE::Math::TTransform< T >::GetRotationRegister ( ) const
inline

Definition at line 885 of file TransformNonVectorized.h.

◆ GetSafeScaleReciprocal()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::GetSafeScaleReciprocal ( const TVector< T > & InScale,
FReal Tolerance = UE_SMALL_NUMBER )
static

Definition at line 1591 of file TransformNonVectorized.h.

◆ GetScale3D()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::GetScale3D ( ) const
inline

Returns the Scale3D component

Returns
The Scale3D component

Definition at line 1122 of file TransformNonVectorized.h.

◆ GetScaled() [1/2]

template<typename T >
FORCEINLINE TTransform< T > UE::Math::TTransform< T >::GetScaled ( T InScale) const

Apply Scale to this transform

Definition at line 1341 of file TransformNonVectorized.h.

◆ GetScaled() [2/2]

template<typename T >
FORCEINLINE TTransform< T > UE::Math::TTransform< T >::GetScaled ( TVector< T > InScale) const

Apply Scale to this transform

Definition at line 1356 of file TransformNonVectorized.h.

◆ GetScaledAxis()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::GetScaledAxis ( EAxis::Type InAxis) const

Definition at line 1524 of file TransformNonVectorized.h.

◆ GetTranslation()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::GetTranslation ( ) const
inline

Returns the translation component

Returns
The translation component

Definition at line 1111 of file TransformNonVectorized.h.

◆ GetTranslationRegister()

template<typename T >
TransformVectorRegister UE::Math::TTransform< T >::GetTranslationRegister ( ) const
inline

Definition at line 884 of file TransformNonVectorized.h.

◆ GetUnitAxis()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::GetUnitAxis ( EAxis::Type InAxis) const

Definition at line 1541 of file TransformNonVectorized.h.

◆ Identical()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::Identical ( const TTransform< T > * Other,
uint32 PortFlags ) const
inline

Definition at line 710 of file TransformNonVectorized.h.

◆ InitFromString()

template<typename T >
bool UE::Math::TTransform< T >::InitFromString ( const FString & InSourceString)

Acceptable form: "%f,%f,%f|%f,%f,%f|%f,%f,%f"

◆ Inverse()

template<typename T >
FORCEINLINE TTransform< T > UE::Math::TTransform< T >::Inverse ( ) const
inline

Convert this Transform to inverse.

Definition at line 307 of file TransformNonVectorized.h.

◆ InverseTransformPosition()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::InverseTransformPosition ( const TVector< T > & V) const

Inverts the transform and then transforms V - correctly handles scaling in this transform.

Definition at line 1444 of file TransformNonVectorized.h.

◆ InverseTransformPositionNoScale()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::InverseTransformPositionNoScale ( const TVector< T > & V) const

Definition at line 1453 of file TransformNonVectorized.h.

◆ InverseTransformRotation()

template<typename T >
FORCEINLINE TQuat< T > UE::Math::TTransform< T >::InverseTransformRotation ( const TQuat< T > & Q) const

Inverse transform a rotation. For example if this is a LocalToWorld transform, InverseTransformRotation(Q) would transform Q from world to local space.

Definition at line 1484 of file TransformNonVectorized.h.

◆ InverseTransformVector()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::InverseTransformVector ( const TVector< T > & V) const

Transform a direction vector by the inverse of this transform - will not take into account translation part. If you want to transform a surface normal (or plane) and correctly account for non-uniform scaling you should use TransformByUsingAdjointT with adjoint of matrix inverse.

Definition at line 1462 of file TransformNonVectorized.h.

◆ InverseTransformVectorNoScale()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::InverseTransformVectorNoScale ( const TVector< T > & V) const

Definition at line 1471 of file TransformNonVectorized.h.

◆ IsRotationNormalized()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::IsRotationNormalized ( ) const
inline

Checks whether the rotation component is normalized or not

Returns
true if the rotation component is normalized, and false otherwise.

Definition at line 1054 of file TransformNonVectorized.h.

◆ IsValid()

template<typename T >
bool UE::Math::TTransform< T >::IsValid ( ) const
inline

Definition at line 603 of file TransformNonVectorized.h.

◆ LerpTranslationScale3D()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::LerpTranslationScale3D ( const TTransform< T > & SourceAtom1,
const TTransform< T > & SourceAtom2,
ScalarRegister Alpha )
inline

Set the translation and Scale3D components of this transform to a linearly interpolated combination of two other transforms

Translation = FMath::Lerp(SourceAtom1.Translation, SourceAtom2.Translation, Alpha) Scale3D = FMath::Lerp(SourceAtom1.Scale3D, SourceAtom2.Scale3D, Alpha)

Parameters
SourceAtom1The starting point source atom (used 100% if Alpha is 0)
SourceAtom2The ending point source atom (used 100% if Alpha is 1)
AlphaThe blending weight between SourceAtom1 and SourceAtom2

Definition at line 1031 of file TransformNonVectorized.h.

◆ Mirror()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::Mirror ( EAxis::Type MirrorAxis,
EAxis::Type FlipAxis )

Definition at line 1557 of file TransformNonVectorized.h.

◆ Multiply()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::Multiply ( TTransform< T > * OutTransform,
const TTransform< T > * A,
const TTransform< T > * B )
static

Create a new transform: OutTransform = A * B.

Order matters when composing transforms : A * B will yield a transform that logically first applies A then B to any subsequent transformation.

Parameters
OutTransformpointer to transform that will store the result of A * B.
ATransform A.
BTransform B.

Returns Multiplied Transform of 2 TTransform<T>s

Definition at line 1299 of file TransformNonVectorized.h.

◆ MultiplyScale3D()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::MultiplyScale3D ( const TVector< T > & Scale3DMultiplier)
inline

Scales the Scale3D component by a new factor

Parameters
Scale3DMultiplierThe value to multiply Scale3D with

Definition at line 777 of file TransformNonVectorized.h.

◆ MultiplyUsingMatrixWithScale()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::MultiplyUsingMatrixWithScale ( TTransform< T > * OutTransform,
const TTransform< T > * A,
const TTransform< T > * B )
staticprivate

Create a new transform: OutTransform = A * B using the matrix while keeping the scale that's given by A and B Please note that this operation is a lot more expensive than normal Multiply

Order matters when composing transforms : A * B will yield a transform that logically first applies A then B to any subsequent transformation.

Parameters
OutTransformpointer to transform that will store the result of A * B.
ATransform A.
BTransform B.

Definition at line 1260 of file TransformNonVectorized.h.

◆ NormalizeRotation()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::NormalizeRotation ( )
inline

Normalize the rotation component of this transformation

Definition at line 1043 of file TransformNonVectorized.h.

◆ operator*() [1/3]

template<typename T >
FORCEINLINE TTransform< T > UE::Math::TTransform< T >::operator* ( const TQuat< T > & Other) const

Return a transform that is the result of this multiplied by another transform (made only from a rotation). Order matters when composing transforms : C = A * B will yield a transform C that logically first applies A then B to any subsequent transformation.

Parameters
Otherother quaternion rotation by which to multiply.
Returns
new transform: this * TTransform(Other)

Definition at line 1506 of file TransformNonVectorized.h.

◆ operator*() [2/3]

Return a transform that is the result of this multiplied by another transform. Order matters when composing transforms : C = A * B will yield a transform C that logically first applies A then B to any subsequent transformation.

Parameters
Otherother transform by which to multiply.
Returns
new transform: this * Other

Definition at line 1490 of file TransformNonVectorized.h.

◆ operator*() [3/3]

template<typename T >
FORCEINLINE TTransform< T > UE::Math::TTransform< T >::operator* ( T Mult) const
inline

Definition at line 457 of file TransformNonVectorized.h.

◆ operator*=() [1/3]

Sets this transform to the result of this multiplied by another transform (made only from a rotation). Order matters when composing transforms : C = A * B will yield a transform C that logically first applies A then B to any subsequent transformation.

Parameters
Otherother quaternion rotation by which to multiply.

Definition at line 1515 of file TransformNonVectorized.h.

◆ operator*=() [2/3]

Sets this transform to the result of this multiplied by another transform. Order matters when composing transforms : C = A * B will yield a transform C that logically first applies A then B to any subsequent transformation.

Parameters
Otherother transform by which to multiply.

Definition at line 1499 of file TransformNonVectorized.h.

◆ operator*=() [3/3]

template<typename T >
FORCEINLINE TTransform< T > & UE::Math::TTransform< T >::operator*= ( T Mult)
inline

Definition at line 462 of file TransformNonVectorized.h.

◆ operator+()

template<typename T >
FORCEINLINE TTransform< T > UE::Math::TTransform< T >::operator+ ( const TTransform< T > & Atom) const
inline

Quaternion addition is wrong here. This is just a special case for linear interpolation. Use only within blends!! Rotation part is NOT normalized!!

Definition at line 438 of file TransformNonVectorized.h.

◆ operator+=()

template<typename T >
FORCEINLINE TTransform< T > & UE::Math::TTransform< T >::operator+= ( const TTransform< T > & Atom)
inline

Definition at line 443 of file TransformNonVectorized.h.

◆ Private_RotationEquals()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::Private_RotationEquals ( const TQuat< T > & InRotation,
const FReal Tolerance = UE_KINDA_SMALL_NUMBER ) const
inlineprivate

Definition at line 648 of file TransformNonVectorized.h.

◆ Private_Scale3DEquals()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::Private_Scale3DEquals ( const TVector< T > & InScale3D,
const FReal Tolerance = UE_KINDA_SMALL_NUMBER ) const
inlineprivate

Definition at line 658 of file TransformNonVectorized.h.

◆ Private_TranslationEquals()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::Private_TranslationEquals ( const TVector< T > & InTranslation,
const FReal Tolerance = UE_KINDA_SMALL_NUMBER ) const
inlineprivate

Definition at line 653 of file TransformNonVectorized.h.

◆ RemoveScaling()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::RemoveScaling ( FReal Tolerance = UE_SMALL_NUMBER)

Definition at line 1250 of file TransformNonVectorized.h.

◆ RotationEquals()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::RotationEquals ( const TTransform< T > & Other,
FReal Tolerance = UE_KINDA_SMALL_NUMBER ) const
inline

Definition at line 686 of file TransformNonVectorized.h.

◆ Rotator()

template<typename T >
FORCEINLINE TRotator< T > UE::Math::TTransform< T >::Rotator ( ) const
inline

Definition at line 576 of file TransformNonVectorized.h.

◆ Scale3DEquals()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::Scale3DEquals ( const TTransform< T > & Other,
FReal Tolerance = UE_KINDA_SMALL_NUMBER ) const
inline

Definition at line 698 of file TransformNonVectorized.h.

◆ ScaleTranslation() [1/2]

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::ScaleTranslation ( const FReal & Scale)

Definition at line 1240 of file TransformNonVectorized.h.

◆ ScaleTranslation() [2/2]

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::ScaleTranslation ( const TVector< T > & InScale3D)

Scale the translation part of the Transform by the supplied vector.

Definition at line 1231 of file TransformNonVectorized.h.

◆ Serialize()

template<typename T >
bool UE::Math::TTransform< T >::Serialize ( FArchive & Ar)
inline

Definition at line 627 of file TransformNonVectorized.h.

◆ SerializeFromMismatchedTag()

bool FTransform3d::SerializeFromMismatchedTag ( FName StructTag,
FArchive & Ar )
inline

Definition at line 42 of file Transform.h.

◆ SetComponents()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::SetComponents ( const TQuat< T > & InRotation,
const TVector< T > & InTranslation,
const TVector< T > & InScale3D )
inline

Sets the components

Parameters
InRotationThe new value for the Rotation component
InTranslationThe new value for the Translation component
InScale3DThe new value for the Scale3D component

Definition at line 738 of file TransformNonVectorized.h.

◆ SetFromMatrix()

template<typename T >
void UE::Math::TTransform< T >::SetFromMatrix ( const TMatrix< T > & InMatrix)
inline

Definition at line 1156 of file TransformNonVectorized.h.

◆ SetIdentity()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::SetIdentity ( )
inline

Sets the components to the identity transform: Rotation = (0,0,0,1) Translation = (0,0,0) Scale3D = (1,1,1)

Definition at line 753 of file TransformNonVectorized.h.

◆ SetIdentityZeroScale()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::SetIdentityZeroScale ( )
inline

Sets the components to the 'additive' identity transform: Rotation = (0,0,0,1) Translation = (0,0,0) Scale3D = (0,0,0)

Definition at line 766 of file TransformNonVectorized.h.

◆ SetLocation()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::SetLocation ( const TVector< T > & Origin)
inline

Set the translation of this transformation

Definition at line 588 of file TransformNonVectorized.h.

◆ SetRotation()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::SetRotation ( const TQuat< T > & NewRotation)
inline

Sets the rotation component

Parameters
NewRotationThe new value for the rotation component

Definition at line 841 of file TransformNonVectorized.h.

◆ SetRotationRegister()

template<typename T >
void UE::Math::TTransform< T >::SetRotationRegister ( TransformVectorRegister InRotation)
inline

Definition at line 887 of file TransformNonVectorized.h.

◆ SetScale3D()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::SetScale3D ( const TVector< T > & NewScale3D)
inline

Sets the Scale3D component

Parameters
NewScale3DThe new value for the Scale3D component

Definition at line 857 of file TransformNonVectorized.h.

◆ SetToRelativeTransform()

template<typename T >
void UE::Math::TTransform< T >::SetToRelativeTransform ( const TTransform< T > & ParentTransform)

Set current transform and the relative to ParentTransform. Equates to This = This->GetRelativeTransform(Parent), but saves the intermediate TTransform<T> storage and copy.

◆ SetTranslation()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::SetTranslation ( const TVector< T > & NewTranslation)
inline

Sets the translation component

Parameters
NewTranslationThe new value for the translation component

Definition at line 787 of file TransformNonVectorized.h.

◆ SetTranslationAndScale3D()

template<typename T >
FORCEINLINE void UE::Math::TTransform< T >::SetTranslationAndScale3D ( const TVector< T > & NewTranslation,
const TVector< T > & NewScale3D )
inline

Sets both the translation and Scale3D components at the same time

Parameters
NewTranslationThe new value for the translation component
NewScale3DThe new value for the Scale3D component

Definition at line 874 of file TransformNonVectorized.h.

◆ SetTranslationRegister()

template<typename T >
void UE::Math::TTransform< T >::SetTranslationRegister ( TransformVectorRegister InTranslation)
inline

Definition at line 886 of file TransformNonVectorized.h.

◆ SubtractTranslations()

template<typename T >
static FORCEINLINE TVector< T > UE::Math::TTransform< T >::SubtractTranslations ( const TTransform< T > & A,
const TTransform< T > & B )
inlinestatic

Subtract translations from two TTransform<T>s and return the difference.

Returns
A.Translation - B.Translation.

Definition at line 832 of file TransformNonVectorized.h.

◆ ToHumanReadableString()

template<typename T >
FString UE::Math::TTransform< T >::ToHumanReadableString ( ) const

Convert TTransform<T> contents to a string

◆ ToInverseMatrixWithScale()

template<typename T >
FORCEINLINE TMatrix< T > UE::Math::TTransform< T >::ToInverseMatrixWithScale ( ) const
inline

Convert this Transform to matrix with scaling and compute the inverse of that.

Definition at line 298 of file TransformNonVectorized.h.

◆ ToMatrixNoScale()

template<typename T >
FORCEINLINE TMatrix< T > UE::Math::TTransform< T >::ToMatrixNoScale ( ) const
inline

Convert this Transform to a transformation matrix, ignoring its scaling

Definition at line 320 of file TransformNonVectorized.h.

◆ ToMatrixWithScale()

template<typename T >
FORCEINLINE TMatrix< T > UE::Math::TTransform< T >::ToMatrixWithScale ( ) const
inline

Convert this Transform to a transformation matrix with scaling.

Definition at line 241 of file TransformNonVectorized.h.

◆ ToString()

template<typename T >
FString UE::Math::TTransform< T >::ToString ( ) const

◆ TransformFVector4()

template<typename T >
FORCEINLINE TVector4< T > UE::Math::TTransform< T >::TransformFVector4 ( const TVector4< T > & V) const

Transform TVector4<T>

Definition at line 1390 of file TransformNonVectorized.h.

◆ TransformFVector4NoScale()

template<typename T >
FORCEINLINE TVector4< T > UE::Math::TTransform< T >::TransformFVector4NoScale ( const TVector4< T > & V) const

Transform homogenous TVector4<T>, ignoring the scaling part of this transform

Definition at line 1369 of file TransformNonVectorized.h.

◆ TransformPosition()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::TransformPosition ( const TVector< T > & V) const

Definition at line 1411 of file TransformNonVectorized.h.

◆ TransformPositionNoScale()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::TransformPositionNoScale ( const TVector< T > & V) const

Definition at line 1419 of file TransformNonVectorized.h.

◆ TransformRotation()

template<typename T >
FORCEINLINE TQuat< T > UE::Math::TTransform< T >::TransformRotation ( const TQuat< T > & Q) const

Transform a rotation. For example if this is a LocalToWorld transform, TransformRotation(Q) would transform Q from local to world space.

Definition at line 1478 of file TransformNonVectorized.h.

◆ TransformVector()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::TransformVector ( const TVector< T > & V) const

Definition at line 1427 of file TransformNonVectorized.h.

◆ TransformVectorNoScale()

template<typename T >
FORCEINLINE TVector< T > UE::Math::TTransform< T >::TransformVectorNoScale ( const TVector< T > & V) const

Definition at line 1435 of file TransformNonVectorized.h.

◆ TranslationEquals()

template<typename T >
FORCEINLINE bool UE::Math::TTransform< T >::TranslationEquals ( const TTransform< T > & Other,
FReal Tolerance = UE_KINDA_SMALL_NUMBER ) const
inline

Definition at line 692 of file TransformNonVectorized.h.

Friends And Related Symbol Documentation

◆ operator<<

template<typename T >
FArchive & operator<< ( FArchive & Ar,
TTransform< T > & M )
friend

Definition at line 619 of file TransformNonVectorized.h.

Member Data Documentation

◆ Identity

template<typename T >
const TTransform<T> UE::Math::TTransform< T >::Identity
static

The identity transformation (Rotation = TQuat<T>::Identity, Translation = TVector<T>::ZeroVector, Scale3D = (1,1,1)).

Definition at line 58 of file TransformNonVectorized.h.

◆ Rotation

template<typename T >
TQuat<T> UE::Math::TTransform< T >::Rotation
protected

Rotation of this transformation, as a quaternion.

Definition at line 49 of file TransformNonVectorized.h.

◆ Scale3D

template<typename T >
TVector<T> UE::Math::TTransform< T >::Scale3D
protected

3D scale (always applied in local space) as a vector.

Definition at line 53 of file TransformNonVectorized.h.

◆ Translation

template<typename T >
TVector<T> UE::Math::TTransform< T >::Translation
protected

Translation of this transformation, as a vector.

Definition at line 51 of file TransformNonVectorized.h.

◆ Z_Construct_UScriptStruct_FTransform3d_Statics

template<typename T >
friend UE::Math::TTransform< T >::Z_Construct_UScriptStruct_FTransform3d_Statics

Definition at line 41 of file TransformNonVectorized.h.

◆ Z_Construct_UScriptStruct_FTransform3f_Statics

template<typename T >
friend UE::Math::TTransform< T >::Z_Construct_UScriptStruct_FTransform3f_Statics

Definition at line 40 of file TransformNonVectorized.h.

◆ Z_Construct_UScriptStruct_FTransform_Statics

template<typename T >
friend UE::Math::TTransform< T >::Z_Construct_UScriptStruct_FTransform_Statics

Definition at line 42 of file TransformNonVectorized.h.


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