32#include "Constraint.generated.h"
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Axis Filter")
71 Input.X = ResetValue.X;
76 Input.Y = ResetValue.Y;
81 Input.Z = ResetValue.Z;
89 FilterRotator(
Rotator, ResetValue.Rotator());
98 Input.Roll = ResetValue.Roll;
103 Input.Pitch = ResetValue.Pitch;
108 Input.Yaw = ResetValue.Yaw;
124 return bX || bY || bZ;
130 return bX && bY && bZ;
140 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Axis Filter")
153 Input.SetLocation(Location);
161 Input.SetScale3D(Scale3D);
167 TranslationFilter.FilterVector(Location);
168 Input.Location = Location;
171 RotationFilter.FilterRotator(
Rotation);
186 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Constraint")
189 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Constraint")
192 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Constraint")
196 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Constraint")
199 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Constraint")
202 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Constraint")
205 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Constraint")
218 Ar <<
D.bTranslation;
222 Ar <<
D.TranslationAxes;
223 Ar <<
D.RotationAxes;
291 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Transform Constraint")
305 bool bMaintainOffset;
311 , bMaintainOffset(
true)
320 Ar <<
D.bMaintainOffset;
389 Ar << AxesFilterOption;
439 switch (TransformType)
442 return TEXT(
"Parent");
444 return TEXT(
"Translation");
446 return TEXT(
"Rotation");
448 return TEXT(
"Scale");
480 , LookUp_Axis(
FVector::UpVector)
521 , ConstraintDescription(
nullptr)
527 , ConstraintDescription(nullptr)
534 , ConstraintDescription(nullptr)
540 : ConstraintDescription(nullptr)
547 if (ConstraintDescription)
549 return ConstraintDescription->GetDisplayString();
559 this->Type =
Other.Type;
590 if (ConstraintDescription)
592 delete ConstraintDescription;
593 ConstraintDescription =
nullptr;
599 template <
typename T>
602 return static_cast<T*
>(ConstraintDescription);
635 return (ConstraintDescription !=
nullptr);
639 if (ConstraintDescription)
641 return ConstraintDescription->DoesAffectRotation();
648 if (ConstraintDescription)
650 return ConstraintDescription->DoesAffectTranslation();
657 if (ConstraintDescription)
659 return ConstraintDescription->DoesAffectScale();
666 if (ConstraintDescription)
668 return ConstraintDescription->DoesAffectTransform();
675 if (ConstraintDescription)
699 bool bMaintainOffset;
709 , bMaintainOffset(
true)
731 Ar <<
D.bMaintainOffset;
#define ensure( InExpression)
Definition AssertionMacros.h:464
ETransformConstraintType
Definition Constraint.h:410
EConstraintType
new changes of constraints
Definition Constraint.h:332
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
@ ForceInitToZero
Definition CoreMiscDefines.h:156
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
const bool
Definition NetworkReplayStreaming.h:178
#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 GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition Archive.h:1208
virtual void Serialize(void *V, int64 Length)
Definition Archive.h:1689
Definition NameTypes.h:617
@ false
Definition radaudio_common.h:23
Definition Constraint.h:466
virtual bool DoesAffectRotation() const override
Definition Constraint.h:487
virtual FString GetDisplayString() const override
Definition Constraint.h:488
virtual void Serialize(FArchive &Ar) override
Definition Constraint.h:493
Definition CommonAnimTypes.h:14
Definition Constraint.h:688
friend FArchive & operator<<(FArchive &Ar, FConstraintData &D)
Definition Constraint.h:727
FConstraintData(const FAimConstraintDescription &InAim, FName InTargetNode=NAME_None, float InWeight=1.f, bool bInMaintainOffset=true, const FTransform &InOffset=FTransform::Identity)
Definition Constraint.h:720
void ResetOffset()
Definition Constraint.h:739
FConstraintData(const FTransformConstraintDescription &InTrans, FName InTargetNode=NAME_None, float InWeight=1.f, bool bInMaintainOffset=true, const FTransform &InOffset=FTransform::Identity)
Definition Constraint.h:713
Definition Constraint.h:346
virtual bool DoesAffectTransform() const
Definition Constraint.h:380
virtual void AccumulateConstraintTransform(const FTransform &TargetTransform, const FTransform &CurrentTransform, const FTransform &CurrentParentTransform, float Weight, FMultiTransformBlendHelper &BlendHelperInLocalSpace) const PURE_VIRTUAL(AccumulateConstraintTransform
virtual bool DoesAffectScale() const
Definition Constraint.h:375
virtual FString GetDisplayString() const PURE_VIRTUAL(GetDisplayString
virtual void Serialize(FArchive &Ar)
Definition Constraint.h:387
virtual bool DoesAffectTranslation() const
Definition Constraint.h:374
friend FArchive & operator<<(FArchive &Ar, FConstraintDescriptionEx &D)
Definition Constraint.h:392
virtual void virtual bool DoesAffectRotation() const
Definition Constraint.h:373
Definition Constraint.h:183
friend FArchive & operator<<(FArchive &Ar, FConstraintDescription &D)
Definition Constraint.h:216
Definition Constraint.h:511
FString GetDisplayString() const
Definition Constraint.h:545
bool DoesAffectScale() const
Definition Constraint.h:655
FConstraintDescriptor(const FAimConstraintDescription &InA)
Definition Constraint.h:532
bool DoesAffectTranslation() const
Definition Constraint.h:646
void ApplyConstraintTransform(const FTransform &TargetTransform, const FTransform &CurrentTransform, const FTransform &CurrentParentTransform, float Weight, FMultiTransformBlendHelper &BlendHelperInLocalSpace) const
Definition Constraint.h:673
FConstraintDescriptor(const FTransformConstraintDescription &InT)
Definition Constraint.h:525
FConstraintDescriptor(const FConstraintDescriptor &InOther)
Definition Constraint.h:539
T * GetTypedConstraint() const
Definition Constraint.h:600
FConstraintDescriptor & operator=(const FConstraintDescriptor &Other)
Definition Constraint.h:555
bool DoesAffectRotation() const
Definition Constraint.h:637
bool IsValid() const
Definition Constraint.h:633
friend FArchive & operator<<(FArchive &Ar, FConstraintDescriptor &D)
Definition Constraint.h:609
bool DoesAffectTransform() const
Definition Constraint.h:664
~FConstraintDescriptor()
Definition Constraint.h:605
Definition Constraint.h:238
friend FArchive & operator<<(FArchive &Ar, FConstraintOffset &D)
Definition Constraint.h:273
void Reset()
Definition Constraint.h:265
Definition Constraint.h:43
friend FArchive & operator<<(FArchive &Ar, FFilterOptionPerAxis &D)
Definition Constraint.h:112
void FilterRotator(FRotator &Input, const FRotator &ResetValue=FRotator::ZeroRotator) const
Definition Constraint.h:94
void FilterQuat(FQuat &Input, const FQuat &ResetValue=FQuat::Identity) const
Definition Constraint.h:85
void FilterVector(FVector &Input, const FVector &ResetValue=FVector::ZeroVector) const
Definition Constraint.h:67
FFilterOptionPerAxis(bool X, bool Y, bool Z)
Definition Constraint.h:61
bool HasNoEffect() const
Definition Constraint.h:127
bool IsValid() const
Definition Constraint.h:121
Definition StructOpsTypeTraits.h:11
@ WithPureVirtual
Definition StructOpsTypeTraits.h:33
Definition StructOpsTypeTraits.h:46
static CORE_API const TQuat< double > Identity
Definition Quat.h:63
static CORE_API const TRotator< double > ZeroRotator
Definition Rotator.h:57
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79
static CORE_API const TVector< double > OneVector
Definition Vector.h:82