17class UE_EXPERIMENTAL(5.7,
"New spline APIs are experimental.") ISplineInterface;
18template <
typename VALUETYPE>
class UE_EXPERIMENTAL(5.7,
"New spline APIs are experimental.") TSplineInterface;
90template <
typename VALUETYPE>
93 static FString TypeName;
104 if (TypeName.IsEmpty())
161 Spline.Serialize(Ar);
201 case EOutOfBoundsHandlingMode::Zero:
203 case EOutOfBoundsHandlingMode::Constant:
205 case EOutOfBoundsHandlingMode::Cycle:
216 case EOutOfBoundsHandlingMode::Zero:
218 case EOutOfBoundsHandlingMode::Constant:
220 case EOutOfBoundsHandlingMode::Cycle:
237template <
typename VALUETYPE>
#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
Definition Archive.h:1208
UE_FORCEINLINE_HINT bool IsLoading() const
Definition Archive.h:236
UE_FORCEINLINE_HINT bool IsSaving() const
Definition Archive.h:248
Definition UniquePtr.h:107
uint32 IdType
Definition SplineTypeId.h:33
Definition SplineInterfaces.h:35
virtual TUniquePtr< ISplineInterface > Clone() const =0
virtual FInterval1f GetParameterSpace() const =0
virtual bool IsClosedLoop() const =0
virtual FSplineTypeId::IdType GetTypeId() const =0
virtual int32 GetNumberOfSegments() const =0
virtual FString GetImplementationName() const =0
virtual bool IsEqual(const ISplineInterface *OtherSpline) const =0
virtual bool Serialize(FArchive &Ar)
Definition SplineInterfaces.h:57
virtual void SetClosedLoop(bool bClosed)=0
virtual FString GetValueTypeName() const =0
virtual FInterval1f GetSegmentParameterRange(int32 SegmentIndex) const =0
friend FArchive & operator<<(FArchive &Ar, ISplineInterface &Spline)
Definition SplineInterfaces.h:79
virtual ~ISplineInterface()=default
Definition SplineInterfaces.h:92
TSplineInterface()
Definition SplineInterfaces.h:101
friend FArchive & operator<<(FArchive &Ar, TSplineInterface &Spline)
Definition SplineInterfaces.h:159
virtual ~TSplineInterface() override=default
EOutOfBoundsHandlingMode PostInfinityMode
Definition SplineInterfaces.h:191
virtual float FindNearest(const ValueType &Point, float &OutSquaredDistance) const =0
VALUETYPE ValueType
Definition SplineInterfaces.h:96
virtual EOutOfBoundsHandlingMode GetPreInfinityMode() const
Definition SplineInterfaces.h:183
static void SetTypeName(const FString &InTypeName)
Definition SplineInterfaces.h:173
virtual void SetPostInfinityMode(EOutOfBoundsHandlingMode InMode)
Definition SplineInterfaces.h:180
virtual FString GetValueTypeName() const override
Definition SplineInterfaces.h:174
virtual FSplineTypeId::IdType GetTypeId() const override
Definition SplineInterfaces.h:168
virtual EOutOfBoundsHandlingMode GetPostInfinityMode() const
Definition SplineInterfaces.h:186
EOutOfBoundsHandlingMode PreInfinityMode
Definition SplineInterfaces.h:190
virtual void SetPreInfinityMode(EOutOfBoundsHandlingMode InMode)
Definition SplineInterfaces.h:177
ValueType Evaluate(float Parameter) const
Definition SplineInterfaces.h:117
float HandleOutOfBounds(float Parameter) const
Definition SplineInterfaces.h:194
virtual bool Serialize(FArchive &Ar) override
Definition SplineInterfaces.h:138
virtual ValueType EvaluateImpl(float Parameter) const =0
Definition AdvancedWidgetsModule.cpp:13
Definition SplineTypeId.h:21