Navigation
API > API/Runtime > API/Runtime/GeometryCore
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.
| Name | TTangentBezierSpline |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/Splines/TangentBezierSpline.h |
| Include Path | #include "Splines/TangentBezierSpline.h" |
Syntax
template<typename VALUETYPE>
class TTangentBezierSpline :
public UE::Geometry::Spline::TSplineWrapper< TPolyBezierSpline< VALUETYPE > > ,
private UE::Geometry::Spline::TSelfRegisteringSpline< TTangentBezierSpline< VALUETYPE >, VALUETYPE >
Inheritance Hierarchy
- TSelfRegisteringSpline → TTangentBezierSpline
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TTangentBezierSpline
(
const ValueType& StartPoint, |
Default constructor with at least one segment | Splines/TangentBezierSpline.h | |
| Splines/TangentBezierSpline.h | |||
TTangentBezierSpline
(
const TTangentBezierSpline& Other |
Copy constructor | Splines/TangentBezierSpline.h | |
TTangentBezierSpline
(
const ValueType& StartPoint, |
Constructor with full control over tangents | Splines/TangentBezierSpline.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~TTangentBezierSpline() |
Splines/TangentBezierSpline.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FTangentBezierControlPoint | TTangentBezierControlPoint< ValueType > | Splines/TangentBezierSpline.h | |
| ValueType | TSplineWrapper< TPolyBezierSpline< VALUETYPE > >::ValueType | Splines/TangentBezierSpline.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AddControlPoints
(
const TArray< FTangentBezierControlPoint >& Points, |
Adds multiple points to the spline. | Splines/TangentBezierSpline.h | |
void AppendPoint
(
const FTangentBezierControlPoint& ControlPoint |
Appends a control point to the end of the spline. | Splines/TangentBezierSpline.h | |
float FindNearestOnSegment
(
const ValueType& Point, |
Splines/TangentBezierSpline.h | ||
int32 FindSegmentIndex
(
float Parameter, |
Splines/TangentBezierSpline.h | ||
FTangentBezierControlPoint GetControlPoint
(
int32 Index |
Gets the control point at the specified index | Splines/TangentBezierSpline.h | |
const FPolyBezierSpline3d & GetInternalSpline() |
Getter for internal spline | Splines/TangentBezierSpline.h | |
| Splines/TangentBezierSpline.h | |||
int32 GetNumPoints() |
Gets the number of points in the spline | Splines/TangentBezierSpline.h | |
float GetParameter
(
int32 Index |
Splines/TangentBezierSpline.h | ||
ValueType GetTangent
(
float Parameter |
Gets tangent at parameter in spline space | Splines/TangentBezierSpline.h | |
ValueType GetTangentIn
(
int32 Index |
Gets incoming tangent for the specified point | Splines/TangentBezierSpline.h | |
ETangentMode GetTangentMode
(
int32 Index |
Splines/TangentBezierSpline.h | ||
const TArray< ETangentMode > & GetTangentModes() |
Splines/TangentBezierSpline.h | ||
ValueType GetTangentOut
(
int32 Index |
Gets outgoing tangent for the specified point | Splines/TangentBezierSpline.h | |
float GetTension() |
Splines/TangentBezierSpline.h | ||
ValueType GetValue
(
int32 Index |
Gets the value of the specified point | Splines/TangentBezierSpline.h | |
ValueType GetValue
(
float Parameter |
Gets position at specified parent space parameter | Splines/TangentBezierSpline.h | |
int32 InsertPointAtGlobalParam
(
float Parameter, |
Inserts a new point at the specified parameter along the spline. | Splines/TangentBezierSpline.h | |
int32 InsertPointAtPosition
(
int32 PointIndex, |
Inserts a new point at the specified parameter along the spline. | Splines/TangentBezierSpline.h | |
int32 InsertPointAtSegmentParam
(
int32 SegmentIndex, |
Inserts a point at a specific segment with local parameter. | Splines/TangentBezierSpline.h | |
bool IsAutoTangent
(
int32 Index |
Checks if a point's tangents are automatically computed | Splines/TangentBezierSpline.h | |
bool IsStationaryEndpoints() |
Splines/TangentBezierSpline.h | ||
void ModifyPoint
(
int32 Index, |
Modifies an existing point | Splines/TangentBezierSpline.h | |
void PrependPoint
(
const FTangentBezierControlPoint& ControlPoint |
Helper method to prepend a point to the spline. | Splines/TangentBezierSpline.h | |
void RemovePoint
(
int32 Index |
Removes a point from the spline | Splines/TangentBezierSpline.h | |
void Reparameterize
(
EParameterizationPolicy Policy |
Splines/TangentBezierSpline.h | ||
bool SetControlPoints
(
const TArray< FTangentBezierControlPoint >& Points |
Replaces all points in the spline with the provided points. | Splines/TangentBezierSpline.h | |
| Splines/TangentBezierSpline.h | |||
int32 SetParameter
(
int32 Index, |
Splines/TangentBezierSpline.h | ||
void SetPointTangentMode
(
int32 Index, |
Sets the tangent mode for a specific point | Splines/TangentBezierSpline.h | |
void SetStationaryEndpoints
(
bool bInStationaryEndpoints |
Splines/TangentBezierSpline.h | ||
void SetTangentIn
(
int32 Index, |
Sets tangent in for the specified point | Splines/TangentBezierSpline.h | |
void SetTangentModes
(
const TArray< ETangentMode >& InTangentModes |
Splines/TangentBezierSpline.h | ||
void SetTangentOut
(
int32 Index, |
Sets tangent out for the specified point | Splines/TangentBezierSpline.h | |
void SetTension
(
const float InTension |
Splines/TangentBezierSpline.h | ||
void SetValue
(
int32 Index, |
Splines/TangentBezierSpline.h | ||
void UpdatePointTangents
(
int32 Index, |
Updates tangents for a specific point based on its tangent mode | Splines/TangentBezierSpline.h | |
void UpdateTangents() |
Updates tangents for all control points based on their tangent modes | Splines/TangentBezierSpline.h |
Overridden from TSplineWrapper
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual float FindNearest
(
const ValueType& Point, |
Splines/TangentBezierSpline.h |
Overridden from ISplineInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Clear() |
ISplineInterface Forwarding. | Splines/TangentBezierSpline.h | |
virtual TUniquePtr< ISplineInterface > Clone() |
Splines/TangentBezierSpline.h | ||
virtual FString GetImplementationName() |
Splines/TangentBezierSpline.h | ||
virtual int32 GetNumberOfSegments() |
Splines/TangentBezierSpline.h | ||
virtual FInterval1f GetParameterSpace() |
Splines/TangentBezierSpline.h | ||
virtual FInterval1f GetSegmentParameterRange
(
int32 SegmentIndex |
Splines/TangentBezierSpline.h | ||
virtual FSplineTypeId::IdType GetTypeId() |
Default implementation of type ID (derived classes should override) | Splines/TangentBezierSpline.h | |
virtual bool IsClosedLoop() |
Splines/TangentBezierSpline.h | ||
virtual bool IsEqual
(
const ISplineInterface* OtherSpline |
Splines/TangentBezierSpline.h | ||
virtual bool Serialize
(
FArchive& Ar |
Serializes the spline | Splines/TangentBezierSpline.h | |
virtual void SetClosedLoop
(
bool bInClosedLoop |
Splines/TangentBezierSpline.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void UpdateBezierControlPoint
(
int32 Index, |
Updates a Bezier control point in the internal spline | Splines/TangentBezierSpline.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TTangentBezierSpline CreateCircle
(
const ValueType& Center, |
Creates a complete circle | Splines/TangentBezierSpline.h | |
static TTangentBezierSpline CreateCircleArc
(
const ValueType& Center, |
Creates a circular arc with specified parameters | Splines/TangentBezierSpline.h | |
static TTangentBezierSpline CreateEllipse
(
const ValueType& Center, |
Creates an ellipse with specified parameters | Splines/TangentBezierSpline.h | |
static TTangentBezierSpline CreateLine
(
const ValueType& StartPoint, |
Creates a straight line between two points | Splines/TangentBezierSpline.h | |
static FString GetSplineTypeName() |
Splines/TangentBezierSpline.h | ||
static const FSplineTypeId::IdType & GetStaticTypeId() |
Generate compile-time type ID for TangentBezier. | Splines/TangentBezierSpline.h | |
static bool IsCurveKey
(
ETangentMode Mode |
Splines/TangentBezierSpline.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TTangentBezierSpline & operator=
(
const TTangentBezierSpline& Other |
Copy assignment | Splines/TangentBezierSpline.h | |
bool operator==
(
const TTangentBezierSpline< ValueType >& Other |
Splines/TangentBezierSpline.h |