|
| | DECLARE_SPLINE_TYPE_ID (TEXT("TangentBezier"), *TSplineValueTypeTraits< VALUETYPE >::Name) |
| |
| | TTangentBezierSpline ()=default |
| |
| virtual | ~TTangentBezierSpline () override=default |
| |
| | TTangentBezierSpline (const ValueType &StartPoint, const ValueType &EndPoint) |
| |
| | TTangentBezierSpline (const ValueType &StartPoint, const ValueType &EndPoint, const ValueType &StartTangent, const ValueType &EndTangent, bool bAutoTangents=false) |
| |
| | TTangentBezierSpline (const TTangentBezierSpline &Other) |
| |
| TTangentBezierSpline & | operator= (const TTangentBezierSpline &Other) |
| |
| virtual bool | IsEqual (const ISplineInterface *OtherSpline) const override |
| |
| virtual bool | Serialize (FArchive &Ar) override |
| |
| bool | operator== (const TTangentBezierSpline< ValueType > &Other) const |
| |
| virtual TUniquePtr< ISplineInterface > | Clone () const override |
| |
| virtual bool | IsClosedLoop () const override |
| |
| virtual void | SetClosedLoop (bool bInClosedLoop) override |
| |
| bool | SetControlPoints (const TArray< FTangentBezierControlPoint > &Points) |
| |
| bool | AddControlPoints (const TArray< FTangentBezierControlPoint > &Points, bool bAppend=true) |
| |
| int32 | InsertPointAtGlobalParam (float Parameter, const FTangentBezierControlPoint &ControlPoint) |
| |
| int32 | InsertPointAtSegmentParam (int32 SegmentIndex, float LocalT, const FTangentBezierControlPoint &ControlPoint, EParameterizationPolicy ParameterizationPolicy=EParameterizationPolicy::Centripetal) |
| |
| int32 | InsertPointAtPosition (int32 PointIndex, const FTangentBezierControlPoint &ControlPoint) |
| |
| void | PrependPoint (const FTangentBezierControlPoint &ControlPoint) |
| |
| void | AppendPoint (const FTangentBezierControlPoint &ControlPoint) |
| |
| FTangentBezierControlPoint | GetControlPoint (int32 Index) const |
| |
| void | RemovePoint (int32 Index) |
| |
| void | ModifyPoint (int32 Index, const FTangentBezierControlPoint &ControlPoint) |
| |
| void | SetValue (int32 Index, const ValueType &NewValue) |
| |
| ValueType | GetValue (float Parameter) const |
| |
| ValueType | GetValue (int32 Index) const |
| |
| ValueType | GetTangent (float Parameter) const |
| |
| ValueType | GetTangentIn (int32 Index) const |
| |
| ValueType | GetTangentOut (int32 Index) const |
| |
| void | SetTangentIn (int32 Index, const ValueType &NewTangent) |
| |
| void | SetTangentOut (int32 Index, const ValueType &NewTangent) |
| |
| int32 | GetNumPoints () const |
| |
| virtual int32 | GetNumberOfSegments () const override |
| |
| virtual FInterval1f | GetSegmentParameterRange (int32 SegmentIndex) const override |
| |
| bool | IsAutoTangent (int32 Index) const |
| |
| void | SetPointTangentMode (int32 Index, ETangentMode Mode) |
| |
| virtual void | Clear () override |
| |
| float | GetParameter (int32 Index) const |
| |
| int32 | SetParameter (int32 Index, float NewParameter) |
| |
| virtual FInterval1f | GetParameterSpace () const override |
| |
| int32 | FindSegmentIndex (float Parameter, float &OutLocalParam) const |
| |
| void | UpdateTangents () |
| |
| void | UpdatePointTangents (int32 Index, ETangentMode Mode) |
| |
| virtual float | FindNearest (const ValueType &Point, float &OutSquaredDistance) const override |
| |
| void | Reparameterize (EParameterizationPolicy Policy=EParameterizationPolicy::Centripetal) |
| |
| void | SetKnotVector (const TArray< FKnot > &InKnots) |
| |
| const TArray< FKnot > & | GetKnotVector () const |
| |
| const FPolyBezierSpline3d & | GetInternalSpline () const |
| |
| float | GetTension () const |
| |
| void | SetTension (const float InTension) |
| |
| ETangentMode | GetTangentMode (int32 Index) const |
| |
| void | SetTangentModes (const TArray< ETangentMode > &InTangentModes) |
| |
| const TArray< ETangentMode > & | GetTangentModes () const |
| |
| void | SetStationaryEndpoints (bool bInStationaryEndpoints) |
| |
| bool | IsStationaryEndpoints () const |
| |
| float | FindNearestOnSegment (const ValueType &Point, int32 SegmentIndex, float &OutSquaredDistance) const |
| |
| virtual | ~TSplineWrapper () override=default |
| |
| virtual FString | GetValueTypeName () const override |
| |
| virtual FString | GetImplementationName () const override |
| |
| virtual void | SetPreInfinityMode (EOutOfBoundsHandlingMode InMode) override |
| |
| virtual void | SetPostInfinityMode (EOutOfBoundsHandlingMode InMode) override |
| |
| virtual EOutOfBoundsHandlingMode | GetPreInfinityMode () const override |
| |
| virtual EOutOfBoundsHandlingMode | GetPostInfinityMode () const override |
| |
| virtual ValueType | EvaluateImpl (float Parameter) const override |
| |
| virtual float | FindNearest (const ValueType &Point, float &OutSquaredDistance) const override |
| |
| | TSplineInterface () |
| |
| virtual | ~TSplineInterface () override=default |
| |
| ValueType | Evaluate (float Parameter) const |
| |
| virtual float | FindNearest (const ValueType &Point, float &OutSquaredDistance) const=0 |
| |
| virtual FSplineTypeId::IdType | GetTypeId () const override |
| |
| virtual | ~ISplineInterface ()=default |
| |
template<
typename VALUETYPE>
class UE::Geometry::Spline::TTangentBezierSpline< VALUETYPE >
A spline that provides tangent-based control over curve shape while using piecewise Bezier curves internally for evaluation. Supports both manual tangent control and automatic tangent computation.