UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
EulerTransform.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "CoreTypes.h"
7#include "Math/Quat.h"
8#include "Math/Rotator.h"
9#include "Math/Transform.h"
10#include "Math/UnrealMathSSE.h"
11#include "Math/Vector.h"
13
14#include "EulerTransform.generated.h"
15
16class UScriptStruct;
17template <class T> struct TBaseStructure;
18
19UENUM(BlueprintType)
21{
22 XYZ,
23 XZY,
24 YXZ,
25 YZX,
26 ZXY,
27 ZYX
28};
29
30USTRUCT(BlueprintType)
32{
34
36
41
43 : Location(ForceInitToZero)
45 , Scale(FVector::OneVector)
46 {
47 }
48
50 : Location(InLocation)
52 , Scale(InScale)
53 {
54 }
55
57 : Location(InLocation)
59 , Scale(InScale)
60 {
61 }
62
63 inline explicit FEulerTransform(const FTransform& InTransform)
64 : Location(InTransform.GetLocation())
65 , Rotation(InTransform.GetRotation().Rotator())
66 , Scale(InTransform.GetScale3D())
67 {
68
69 }
70
72 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Transform")
73 FVector Location;
74
76 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Transform")
78
80 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Transform")
82
84 inline FTransform ToFTransform() const
85 {
86 return FTransform(Rotation.Quaternion(), Location, Scale);
87 }
88
91 {
92 Location = InTransform.GetLocation();
93 Rotation = InTransform.GetRotation().Rotator();
94 Scale = InTransform.GetScale3D();
95 }
96
97 // Test if all components of the transforms are equal, within a tolerance.
98 inline bool Equals(const FEulerTransform& Other, FReal Tolerance = KINDA_SMALL_NUMBER) const
99 {
100 return Location.Equals(Other.Location, Tolerance) &&
101 Rotation.Equals(Other.Rotation, Tolerance) &&
102 Scale.Equals(Other.Scale, Tolerance);
103 }
104
105 inline const FVector& GetLocation() const { return Location; }
106 inline FQuat GetRotation() const { return Rotation.Quaternion(); }
107 inline const FRotator& Rotator() const { return Rotation; }
108 inline const FVector& GetScale3D() const { return Scale; }
109 inline void SetLocation(const FVector& InValue) { Location = InValue; }
110 inline void SetRotation(const FQuat& InValue) { Rotation = InValue.Rotator(); }
111 inline void SetRotator(const FRotator& InValue) { Rotation = InValue; }
112 inline void SetScale3D(const FVector& InValue) { Scale = InValue; }
113 inline void NormalizeRotation() {}
114};
115
117{
118 static UScriptStruct* Get() { return FEulerTransform::StaticStruct(); }
119};
@ ForceInitToZero
Definition CoreMiscDefines.h:156
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EEulerRotationOrder
Definition EulerTransform.h:21
UE::Math::TTransform< double > FTransform
Definition MathFwd.h:53
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:67
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Class.h:1720
Definition EulerTransform.h:32
void FromFTransform(const FTransform &InTransform)
Definition EulerTransform.h:90
FQuat GetRotation() const
Definition EulerTransform.h:106
FVector::FReal FReal
Definition EulerTransform.h:35
void SetScale3D(const FVector &InValue)
Definition EulerTransform.h:112
void SetRotator(const FRotator &InValue)
Definition EulerTransform.h:111
bool Equals(const FEulerTransform &Other, FReal Tolerance=KINDA_SMALL_NUMBER) const
Definition EulerTransform.h:98
FEulerTransform(const FTransform &InTransform)
Definition EulerTransform.h:63
const FRotator & Rotator() const
Definition EulerTransform.h:107
FEulerTransform(const FRotator &InRotation, const FVector &InLocation, const FVector &InScale)
Definition EulerTransform.h:56
void SetRotation(const FQuat &InValue)
Definition EulerTransform.h:110
const FVector & GetScale3D() const
Definition EulerTransform.h:108
const FVector & GetLocation() const
Definition EulerTransform.h:105
void NormalizeRotation()
Definition EulerTransform.h:113
FEulerTransform(const FVector &InLocation, const FRotator &InRotation, const FVector &InScale)
Definition EulerTransform.h:49
void SetLocation(const FVector &InValue)
Definition EulerTransform.h:109
static UScriptStruct * Get()
Definition EulerTransform.h:118
Definition Class.h:5288