UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FCurveOwnerInterface Class Referenceabstract

#include <CurveOwnerInterface.h>

+ Inheritance diagram for FCurveOwnerInterface:

Public Member Functions

virtual ~FCurveOwnerInterface ()
 
virtual TArray< FRichCurveEditInfoConstGetCurves () const =0
 
virtual void GetCurves (TAdderReserverRef< FRichCurveEditInfoConst > Curves) const =0
 
virtual TArray< FRichCurveEditInfoGetCurves ()=0
 
virtual void ModifyOwner ()=0
 
virtual void ModifyOwnerChange ()
 
virtual TArray< const UObject * > GetOwners () const =0
 
virtual void MakeTransactional ()=0
 
virtual void OnCurveChanged (const TArray< FRichCurveEditInfo > &ChangedCurveEditInfos)=0
 
virtual void SetOnCurveChangedIsInteractive (bool bInteractive)
 
virtual bool IsLinearColorCurve () const
 
virtual bool HasRichCurves () const
 
virtual FLinearColor GetLinearColorValue (float InTime) const
 
virtual FLinearColor GetClampedLinearColorValue (float InTime) const
 
virtual bool HasAnyAlphaKeys () const
 
virtual bool IsValidCurve (FRichCurveEditInfo CurveInfo)=0
 
virtual ENGINE_API FLinearColor GetCurveColor (FRichCurveEditInfo CurveInfo) const
 
virtual bool RepointCurveOwner (const FPackageReloadedEvent &InPackageReloadedEvent, FCurveOwnerInterface *&OutNewCurveOwner) const
 

Static Protected Member Functions

template<typename AssetType >
static bool RepointCurveOwnerAsset (const FPackageReloadedEvent &InPackageReloadedEvent, const AssetType *InCurveOwnerAsset, FCurveOwnerInterface *&OutNewCurveOwner)
 

Detailed Description

Interface you implement if you want the CurveEditor to be able to edit curves on you.

Constructor & Destructor Documentation

◆ ~FCurveOwnerInterface()

virtual FCurveOwnerInterface::~FCurveOwnerInterface ( )
inlinevirtual

Member Function Documentation

◆ GetClampedLinearColorValue()

virtual FLinearColor FCurveOwnerInterface::GetClampedLinearColorValue ( float  InTime) const
inlinevirtual

Evaluate this color curve at the specified time

◆ GetCurveColor()

FLinearColor FCurveOwnerInterface::GetCurveColor ( FRichCurveEditInfo  CurveInfo) const
virtual
Returns
Color for this curve

Reimplemented in FDataflowColorCurveOwner.

◆ GetCurves() [1/3]

virtual TArray< FRichCurveEditInfoConst > FCurveOwnerInterface::GetCurves ( ) const
pure virtual

◆ GetCurves() [2/3]

virtual TArray< FRichCurveEditInfo > FCurveOwnerInterface::GetCurves ( )
pure virtual

Returns set of curves to query. Must not release the curves while being edited.

Implemented in UCurveBase, UCurveTable, and FDataflowColorCurveOwner.

◆ GetCurves() [3/3]

virtual void FCurveOwnerInterface::GetCurves ( TAdderReserverRef< FRichCurveEditInfoConst Curves) const
pure virtual

Returns set of curves to edit. Must not release the curves while being edited.

Implemented in UCurveBase, UCurveTable, and FDataflowColorCurveOwner.

◆ GetLinearColorValue()

virtual FLinearColor FCurveOwnerInterface::GetLinearColorValue ( float  InTime) const
inlinevirtual

Evaluate this color curve at the specified time

Reimplemented in FDataflowColorCurveOwner.

◆ GetOwners()

virtual TArray< const UObject * > FCurveOwnerInterface::GetOwners ( ) const
pure virtual

Returns the owner(s) of the curve

Implemented in UCurveBase, UCurveTable, and FDataflowColorCurveOwner.

◆ HasAnyAlphaKeys()

virtual bool FCurveOwnerInterface::HasAnyAlphaKeys ( ) const
inlinevirtual
Returns
True if the curve has any alpha keys

Reimplemented in FDataflowColorCurveOwner.

◆ HasRichCurves()

virtual bool FCurveOwnerInterface::HasRichCurves ( ) const
inlinevirtual

Whether the curves returned by GetCurves are rich or simple curves

Reimplemented in UCurveTable.

◆ IsLinearColorCurve()

virtual bool FCurveOwnerInterface::IsLinearColorCurve ( ) const
inlinevirtual

Whether the curve represents a linear color

Reimplemented in FDataflowColorCurveOwner.

◆ IsValidCurve()

virtual bool FCurveOwnerInterface::IsValidCurve ( FRichCurveEditInfo  CurveInfo)
pure virtual

Validates that a previously retrieved curve is still valid for editing.

Implemented in UCurveBase, UCurveTable, and FDataflowColorCurveOwner.

◆ MakeTransactional()

virtual void FCurveOwnerInterface::MakeTransactional ( )
pure virtual

Called to make curve owner transactional

Implemented in UCurveBase, UCurveTable, and FDataflowColorCurveOwner.

◆ ModifyOwner()

virtual void FCurveOwnerInterface::ModifyOwner ( )
pure virtual

Called to modify the owner of the curve

Implemented in UCurveBase, UCurveTable, and FDataflowColorCurveOwner.

◆ ModifyOwnerChange()

virtual void FCurveOwnerInterface::ModifyOwnerChange ( )
inlinevirtual

Called to modify the owner of the curve during interaction/while being edited.

◆ OnCurveChanged()

virtual void FCurveOwnerInterface::OnCurveChanged ( const TArray< FRichCurveEditInfo > &  ChangedCurveEditInfos)
pure virtual

Called when any of the curves have been changed

Implemented in UCurveBase, UCurveTable, and FDataflowColorCurveOwner.

◆ RepointCurveOwner()

virtual bool FCurveOwnerInterface::RepointCurveOwner ( const FPackageReloadedEvent InPackageReloadedEvent,
FCurveOwnerInterface *&  OutNewCurveOwner 
) const
inlinevirtual

Called during package reload to repoint a curve interface asset

Reimplemented in UCurveBase, and UCurveTable.

◆ RepointCurveOwnerAsset()

template<typename AssetType >
static bool FCurveOwnerInterface::RepointCurveOwnerAsset ( const FPackageReloadedEvent InPackageReloadedEvent,
const AssetType *  InCurveOwnerAsset,
FCurveOwnerInterface *&  OutNewCurveOwner 
)
inlinestaticprotected

Default implementation of RepointCurveOwner that can be used with UObject based types that inherit FCurveOwnerInterface

◆ SetOnCurveChangedIsInteractive()

virtual void FCurveOwnerInterface::SetOnCurveChangedIsInteractive ( bool  bInteractive)
inlinevirtual

Tell the curve owner that calls to OnCurveChanged are from an interactive drag

Reimplemented in UCurveBase.


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