UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::Spline::TSplineInterface< VALUETYPE > Class Template Referenceabstract

#include <SplineInterfaces.h>

+ Inheritance diagram for UE::Geometry::Spline::TSplineInterface< VALUETYPE >:

Public Types

typedef VALUETYPE ValueType
 

Public Member Functions

 TSplineInterface ()
 
virtual ~TSplineInterface () override=default
 
ValueType Evaluate (float Parameter) const
 
virtual float FindNearest (const ValueType &Point, float &OutSquaredDistance) const =0
 
virtual bool Serialize (FArchive &Ar) override
 
virtual FSplineTypeId::IdType GetTypeId () const override
 
virtual FString GetValueTypeName () const override
 
virtual void SetPreInfinityMode (EOutOfBoundsHandlingMode InMode)
 
virtual void SetPostInfinityMode (EOutOfBoundsHandlingMode InMode)
 
virtual EOutOfBoundsHandlingMode GetPreInfinityMode () const
 
virtual EOutOfBoundsHandlingMode GetPostInfinityMode () const
 
- Public Member Functions inherited from UE::Geometry::Spline::ISplineInterface
virtual ~ISplineInterface ()=default
 
virtual void Clear ()=0
 
virtual TUniquePtr< ISplineInterfaceClone () const =0
 
virtual bool IsEqual (const ISplineInterface *OtherSpline) const =0
 
virtual FString GetImplementationName () const =0
 
virtual FInterval1f GetParameterSpace () const =0
 
virtual void SetClosedLoop (bool bClosed)=0
 
virtual bool IsClosedLoop () const =0
 
virtual int32 GetNumberOfSegments () const =0
 
virtual FInterval1f GetSegmentParameterRange (int32 SegmentIndex) const =0
 

Static Public Member Functions

static void SetTypeName (const FString &InTypeName)
 

Protected Member Functions

float HandleOutOfBounds (float Parameter) const
 
virtual ValueType EvaluateImpl (float Parameter) const =0
 

Protected Attributes

EOutOfBoundsHandlingMode PreInfinityMode = EOutOfBoundsHandlingMode::Zero
 
EOutOfBoundsHandlingMode PostInfinityMode = EOutOfBoundsHandlingMode::Zero
 

Friends

FArchiveoperator<< (FArchive &Ar, TSplineInterface &Spline)
 

Detailed Description

template<typename VALUETYPE>
class UE::Geometry::Spline::TSplineInterface< VALUETYPE >

Typed interface for splines with a specific value type Provides evaluation and other type-specific functionality

Member Typedef Documentation

◆ ValueType

Constructor & Destructor Documentation

◆ TSplineInterface()

template<typename VALUETYPE >
UE::Geometry::Spline::TSplineInterface< VALUETYPE >::TSplineInterface ( )
inline

Default constructor - ensures value type name is set

◆ ~TSplineInterface()

Member Function Documentation

◆ Evaluate()

template<typename VALUETYPE >
ValueType UE::Geometry::Spline::TSplineInterface< VALUETYPE >::Evaluate ( float  Parameter) const
inline

Evaluates the spline at the given parameter value

Parameters
ParameterThe parameter value to evaluate at
Returns
The spline value at the parameter

◆ EvaluateImpl()

◆ FindNearest()

template<typename VALUETYPE >
virtual float UE::Geometry::Spline::TSplineInterface< VALUETYPE >::FindNearest ( const ValueType Point,
float OutSquaredDistance 
) const
pure virtual

Finds the nearest parameter value to a point

Parameters
PointThe point to find nearest to
OutSquaredDistanceThe squared distance to the nearest point
Returns
The parameter value at the nearest point

Implemented in UE::Geometry::Spline::TBSpline< VALUETYPE, DEGREE >, UE::Geometry::Spline::TBSpline< VALUETYPE, 3 >, and UE::Geometry::Spline::TPolyBezierSpline< VALUETYPE >.

◆ GetPostInfinityMode()

◆ GetPreInfinityMode()

◆ GetTypeId()

◆ GetValueTypeName()

◆ HandleOutOfBounds()

template<typename VALUETYPE >
float UE::Geometry::Spline::TSplineInterface< VALUETYPE >::HandleOutOfBounds ( float  Parameter) const
inlineprotected

Apply out-of-bounds handling to parameter

◆ Serialize()

◆ SetPostInfinityMode()

◆ SetPreInfinityMode()

◆ SetTypeName()

template<typename VALUETYPE >
static void UE::Geometry::Spline::TSplineInterface< VALUETYPE >::SetTypeName ( const FString &  InTypeName)
inlinestatic

Set and get the type name for the value type

Friends And Related Symbol Documentation

◆ operator<<

template<typename VALUETYPE >
FArchive & operator<< ( FArchive Ar,
TSplineInterface< VALUETYPE > &  Spline 
)
friend

Member Data Documentation

◆ PostInfinityMode

template<typename VALUETYPE >
EOutOfBoundsHandlingMode UE::Geometry::Spline::TSplineInterface< VALUETYPE >::PostInfinityMode = EOutOfBoundsHandlingMode::Zero
protected

◆ PreInfinityMode

template<typename VALUETYPE >
EOutOfBoundsHandlingMode UE::Geometry::Spline::TSplineInterface< VALUETYPE >::PreInfinityMode = EOutOfBoundsHandlingMode::Zero
protected

How to handle parameters outside the mapped range


The documentation for this class was generated from the following file: