15#include "SplineComponent.generated.h"
56UCLASS(Abstract, MinimalAPI)
63 virtual void InsertPoint(
int32 Index,
float t,
bool bClosedLoop)
PURE_VIRTUAL(USplineMetadata::InsertPoint, );
65 virtual void UpdatePoint(
int32 Index,
float t,
bool bClosedLoop)
PURE_VIRTUAL(USplineMetadata::UpdatePoint, );
66 virtual void AddPoint(
float InputKey)
PURE_VIRTUAL(USplineMetadata::AddPoint, );
105#if WITH_EDITORONLY_DATA
120 return !(*
this ==
Other);
132 ENGINE_API void UpdateSpline(
bool bClosedLoop =
false,
bool bStationaryEndpoints =
false,
int32 ReparamStepsPerSegment = 10,
bool bLoopPositionOverride =
false,
float LoopPosition = 0.0f,
const FVector& Scale3D =
FVector(1.0f));
222class USplineComponent :
public UPrimitiveComponent
245#if WITH_EDITORONLY_DATA
266 UPROPERTY(EditAnywhere,
Replicated, AdvancedDisplay, Category =
Spline, meta=(ClampMin=4, UIMin=4, ClampMax=100, UIMax=100))
267 int32 ReparamStepsPerSegment;
274 UPROPERTY(EditAnywhere,
Replicated, BlueprintReadWrite, AdvancedDisplay, Category =
Spline, meta=(EditCondition="!bClosedLoop"))
275 bool bStationaryEndpoints;
279 bool bSplineHasBeenEdited;
305 bool bLoopPositionOverride;
336#if WITH_EDITORONLY_DATA
338 UPROPERTY(EditAnywhere, Category =
Editor, meta = (DisplayName=
"Editor Spline Unselected Color"))
374 ENGINE_API virtual void OnRegister()
override;
375 ENGINE_API virtual bool GetIgnoreBoundsForEditorFocus()
const override;
386#if UE_ENABLE_DEBUG_DRAWING
400#if UE_ENABLE_DEBUG_DRAWING
411 UE_EXPERIMENTAL(5.7,
"Spline change notifications are experimental while the API is under active development.")
414 UE_EXPERIMENTAL(5.7,
"Spline update notifications are experimental while the API is under active development.")
417 UE_EXPERIMENTAL(5.7,
"Spline display setting change notifications are experimental while the API is under active development.")
561 UFUNCTION(BlueprintCallable, Category =
Spline, meta = (DeprecatedFunction, DeprecationMessage =
"Please use AddSplinePoint, specifying SplineCoordinateSpace::World"))
1079 bool Validate() const;
1103 : bSplineHasBeenEdited(
false)
1107 , bSplineHasBeenEdited(
false)
1113 return Super::ContainsData() || bSplineHasBeenEdited;
1142 : bSplineHasBeenEdited(
false)
1146 , bSplineHasBeenEdited(
false)
1150 , bSplineHasBeenEdited(
false)
1157 return Super::ContainsData() || bSplineHasBeenEdited;
OODEFFUNC typedef const int const char * function
Definition oodle2.h:710
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
EGLSurface EGLnsecsANDROID time
Definition AndroidOpenGLFunctions.h:9
ECacheApplyPhase
Definition ComponentInstanceDataCache.h:18
@ PostUserConstructionScript
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
#define PRAGMA_DISABLE_EXPERIMENTAL_WARNINGS
Definition CoreMiscDefines.h:370
#define PRAGMA_ENABLE_EXPERIMENTAL_WARNINGS
Definition CoreMiscDefines.h:371
#define UE_EXPERIMENTAL(Version, Message)
Definition CoreMiscDefines.h:369
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
return true
Definition ExternalRpcRegistry.cpp:601
FORCEINLINE uint32 ToIndex(FHairStrandsTiles::ETileType Type)
Definition HairStrandsData.h:93
#define FVector
Definition IOSSystemIncludes.h:8
EInterpCurveMode
Definition InterpCurvePoint.h:16
UE::Math::TRotator< double > FRotator
Definition MathFwd.h:57
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
ELastAuthority
Definition SplineComponent.h:50
ENGINE_API EInterpCurveMode ConvertSplinePointTypeToInterpCurveMode(ESplinePointType::Type SplinePointType)
Definition SplineComponent.cpp:410
ENGINE_API ESplinePointType::Type ConvertInterpCurveModeToSplinePointType(EInterpCurveMode InterpCurveMode)
Definition SplineComponent.cpp:424
decltype(auto) get(TupleType &&val)
Definition Tuple.h:940
Definition Archive.h:1208
Definition InterpCurvePoint.h:51
Definition NameTypes.h:617
Definition PrimitiveDrawInterface.h:19
Definition PrimitiveSceneProxy.h:296
Definition SceneView.h:1425
Definition TransactionObjectEvent.h:181
Definition EnumAsByte.h:22
Definition StructOnScope.h:142
Definition ActorComponent.h:152
Definition MaterialInterface.h:296
const Type ResetToDefault
Definition UnrealType.h:6858
Definition SplineComponent.h:40
Type
Definition SplineComponent.h:42
@ Local
Definition SplineComponent.h:43
@ World
Definition SplineComponent.h:44
Definition SplineComponent.h:26
Type
Definition SplineComponent.h:28
@ CurveClamped
Definition SplineComponent.h:32
@ CurveCustomTangent
Definition SplineComponent.h:33
void Draw(const FLinearBoundary &Boundary, const FRestrictionCurve &Curve, EVisuProperty Property)
Definition Display.cpp:95
ENGINE_API FBox CalcBounds(const FVector &P0, const FVector &P1, const FVector &P2, const FVector &P3)
Definition BezierUtilities.cpp:26
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
Definition UnrealType.h:7001
Definition SceneComponent.h:1743
Definition SplineComponent.h:1138
FSplineComponentInstanceData()
Definition SplineComponent.h:1141
virtual bool ContainsData() const override
Definition SplineComponent.h:1155
FSplineComponentInstanceData(const USplineComponent *SourceComponent, const FSpline &SourceSpline)
Definition SplineComponent.h:1148
virtual void ApplyToComponent(UActorComponent *Component, const ECacheApplyPhase CacheApplyPhase) override
Definition SplineComponent.h:1160
virtual ~FSplineComponentInstanceData()=default
FSplineComponentInstanceData(const USplineComponent *SourceComponent)
Definition SplineComponent.h:1144
Definition SplineComponent.h:76
bool operator!=(const FSplineCurves &Other) const
Definition SplineComponent.h:118
FInterpCurveVector Position
Definition SplineComponent.h:91
Definition SplineComponent.h:1099
virtual bool ContainsData() const override
Definition SplineComponent.h:1111
virtual void ApplyToComponent(UActorComponent *Component, const ECacheApplyPhase CacheApplyPhase) override
Definition SplineComponent.h:1116
virtual ~FSplineInstanceData()=default
FSplineInstanceData(const USplineComponent *SourceComponent)
Definition SplineComponent.h:1105
FSplineInstanceData()
Definition SplineComponent.h:1102
Definition SplineComponent.h:166
FSplinePoint(float InInputKey, const FVector &InPosition, const FVector &InArriveTangent, const FVector &InLeaveTangent, const FRotator &InRotation=FRotator(0.0f), const FVector &InScale=FVector(1.0f), ESplinePointType::Type InType=ESplinePointType::CurveCustomTangent)
Definition SplineComponent.h:206
FSplinePoint(float InInputKey, const FVector &InPosition)
Definition SplineComponent.h:196
FSplinePoint(float InInputKey, const FVector &InPosition, ESplinePointType::Type InType, const FRotator &InRotation=FRotator(0.0f), const FVector &InScale=FVector(1.0f))
Definition SplineComponent.h:201
Definition SplineComponent.h:143
FSplinePositionLinearApproximation(const FVector &InPosition, float InSplineParam)
Definition SplineComponent.h:144
float SplineParam
Definition SplineComponent.h:161
FVector Position
Definition SplineComponent.h:158
Definition ObjectPtr.h:488
Definition SoftObjectPtr.h:174
Definition BoxSphereBounds.h:25