11#if !ENABLE_VECTORIZED_TRANSFORM
28struct Z_Construct_UScriptStruct_FTransform3f_Statics;
29struct Z_Construct_UScriptStruct_FTransform3d_Statics;
30struct Z_Construct_UScriptStruct_FTransform_Statics;
60#if ENABLE_NAN_DIAGNOSTIC
140#if ENABLE_NAN_DIAGNOSTIC
245#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) && WITH_EDITORONLY_DATA
324#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) && WITH_EDITORONLY_DATA
377#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) && WITH_EDITORONLY_DATA
407#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) && WITH_EDITORONLY_DATA
641 if constexpr (std::is_same_v<T, float>)
685 return A.Private_RotationEquals(
B.Rotation, Tolerance);
691 return A.Private_TranslationEquals(
B.Translation, Tolerance);
697 return A.Private_Scale3DEquals(
B.Scale3D, Tolerance);
723 return Private_TranslationEquals(
Other.Translation, Tolerance) && Private_RotationEquals(
Other.Rotation, Tolerance) && Private_Scale3DEquals(
Other.Scale3D, Tolerance);
735 return Private_TranslationEquals(
Other.Translation, Tolerance) && Private_RotationEquals(
Other.Rotation, Tolerance);
842 return A.Translation +
B.Translation;
851 return A.Translation -
B.Translation;
1223 template<
typename FArg UE_REQUIRES(!std::is_same_v<T, FArg>)>
1230#if !defined(_MSC_VER) || defined(__clang__)
1247 DiagnosticCheckNaN_Translate();
1256 DiagnosticCheckNaN_Translate();
1267 DiagnosticCheckNaN_Rotate();
1268 DiagnosticCheckNaN_Scale3D();
1276 ConstructTransformFromMatrixWithDesiredScale(
A->ToMatrixWithScale(),
B->ToMatrixWithScale(),
A->Scale3D*
B->Scale3D, *OutTransform);
1306 OutTransform.Translation = M.GetOrigin();
1313 A->DiagnosticCheckNaN_All();
1314 B->DiagnosticCheckNaN_All();
1334 if (AnyHasNegativeScale(
A->Scale3D,
B->Scale3D))
1337 MultiplyUsingMatrixWithScale(OutTransform,
A,
B);
1341 OutTransform->
Rotation =
B->Rotation*
A->Rotation;
1342 OutTransform->
Scale3D =
A->Scale3D*
B->Scale3D;
1343 OutTransform->
Translation =
B->Rotation*(
B->Scale3D*
A->Translation) +
B->Translation;
1358 A.DiagnosticCheckNaN_Scale3D();
1373 A.DiagnosticCheckNaN_Scale3D();
1383 DiagnosticCheckNaN_All();
1404 DiagnosticCheckNaN_All();
1425 DiagnosticCheckNaN_All();
1433 DiagnosticCheckNaN_All();
1441 DiagnosticCheckNaN_All();
1442 return Rotation.RotateVector(Scale3D*V);
1449 DiagnosticCheckNaN_All();
1458 DiagnosticCheckNaN_All();
1467 DiagnosticCheckNaN_All();
1476 DiagnosticCheckNaN_All();
1477 return (
Rotation.UnrotateVector(V)) * GetSafeScaleReciprocal(Scale3D);
1485 DiagnosticCheckNaN_All();
1486 return (
Rotation.UnrotateVector(V));
1492 return GetRotation() * Q;
1498 return GetRotation().
Inverse() * Q;
1557 return TransformVectorNoScale(
TVector<T>(1.f, 0.f, 0.f));
1561 return TransformVectorNoScale(
TVector<T>(0.f, 1.f, 0.f));
1564 return TransformVectorNoScale(
TVector<T>(0.f, 0.f, 1.f));
1573 M.
Mirror(MirrorAxis, FlipAxis);
1583 DiagnosticCheckNaN_Scale3D();
1592 DiagnosticCheckNaN_Scale3D();
1606 if (FMath::Abs(
InScale.X) <= Tolerance)
1615 if (FMath::Abs(
InScale.Y) <= Tolerance)
1624 if (FMath::Abs(
InScale.Z) <= Tolerance)
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
ENoInit
Definition CoreMiscDefines.h:158
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_SERIALIZE_VARIANT_FROM_MISMATCHED_TAG(AR_OR_SLOT, ALIAS, TYPE, ALT_TYPE)
Definition LargeWorldCoordinatesSerializer.h:9
#define logOrEnsureNanError(_FormatString_,...)
Definition LogMacros.h:436
#define ScalarRegister
Definition ScalarRegister.h:239
FORCEINLINE void VectorStore(const VectorRegister4Float &Vec, float *Dst)
Definition UnrealMathFPU.h:566
FORCEINLINE VectorRegister4Float VectorLoad(const float *Ptr)
Definition UnrealMathFPU.h:394
FORCEINLINE void VectorStoreFloat3(const VectorRegister4Float &Vec, float *Dst)
Definition UnrealMathFPU.h:594
#define UE_SMALL_NUMBER
Definition UnrealMathUtility.h:130
#define UE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:131
FORCEINLINE VectorRegister4Float VectorLoadFloat3_W0(const float *Ptr)
VectorLoadFloat3_W0.
Definition UnrealMathVectorCommon.h.inl:129
#define ZERO_ANIMWEIGHT_THRESH
Definition VectorRegister.h:133
typename UE::Math::VectorRegisterPrivate::TVectorRegisterTypeHelper< T >::Type TVectorRegisterType
Definition VectorRegister.h:49
bool ContainsNaN() const
Definition Vector.h:188
Definition Archive.h:1208
Definition NameTypes.h:617
Definition AdvancedWidgetsModule.cpp:13
static constexpr UE_FORCEINLINE_HINT T Lerp(const T &A, const T &B, const U &Alpha)
Definition UnrealMathUtility.h:1116
static float Log2(float Value)
Definition UnrealMathUtility.h:722
void Mirror(EAxis::Type MirrorAxis, EAxis::Type FlipAxis)
Definition Matrix.inl:847
TVector< T > ExtractScaling(T Tolerance=UE_SMALL_NUMBER)
Definition Matrix.inl:467
TVector< T > GetScaledAxis(EAxis::Type Axis) const
Definition Matrix.inl:647
void SetAxis(int32 i, const TVector< T > &Axis)
Definition Matrix.inl:691
static TQuat< T > FastLerp(const TQuat< T > &A, const TQuat< T > &B, const T Alpha)
Definition Quat.h:1373
TQuat< T > Inverse() const
Definition Quat.h:1264
static CORE_API const TQuat< T > Identity
Definition Quat.h:63
T W
Definition Vector4.h:52
T GetAbsMax() const
Definition Vector.h:1680
T GetAbsMin() const
Definition Vector.h:1692
T X
Definition Vector.h:62