FCurveModel

Class that models an underlying curve data structure through a generic abstraction that the curve editor understands.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

CurveEditor

Header

/Engine/Source/Editor/CurveEditor/Public/CurveModel.h

Include

#include "CurveModel.h"

Syntax

class FCurveModel

Remarks

Class that models an underlying curve data structure through a generic abstraction that the curve editor understands.

Variables

Name Description

Protected variable

TAttribute< boo...

 

bKeyDrawEnabled

Whether or not to draw curve's keys

Protected variable

FLinearColor

 

Color

This curve's display color

Protected variable

FSimpleMulticas...

 

CurveModifiedDelegate

Multicast delegate broadcast on curve modification

Protected variable

FString

 

IntentionName

This curve's intention (such as Transform.X or Scale.X).

Protected variable

FText

 

LongDisplayName

This curve's long display name.

Protected variable

FText

 

ShortDisplayName

This curve's short display name.

Protected variable

ECurveEditorVie...

 

SupportedViews

A set of views supported by this curve

Constructors

Name Description

Public function

FCurveModel()

Destructors

Name Description

Public function Virtual

~FCurveModel()

Functions

Name Description

Public function

TOptional< F...

 

AddKey

(
    const FKeyPosition& NewKeyPosition,
    const FKeyAttributes& InAttributes
)

Helper function for adding a single key to this curve

Public function

void

 

AddKeys

(
    TArrayView< const FKeyPosition > In...,
    TArrayView< const FKeyAttributes > ...,
    TArrayView< TOptional< FKeyHandle >...
)

Add keys to this curve

Public function Virtual Const

TUniquePtr< ...

 

CreateBufferedCurveCopy()

Creates a copy of this curve, stored in a minimal buffered curve object.

Public function Virtual

void

 

CreateKeyProxies

(
    TArrayView< const FKeyHandle > InKe...,
    TArrayView< UObject* > OutObje...
)

Create key proxy objects for the specified key handles.

Public function Const

void

 

DrawCurve

(
    const FCurveEditor& CurveEditor,
    const FCurveEditorScreenSpace& Scr...,
    TArray< TTuple< double, double >>&...
)

Draw the curve for the specified curve editor by populating an array with points on the curve between which lines should be drawn

Public function Const

bool

 

Evaluate

(
    double InTime,
    double& OutValue
)

Evaluate this curve at the specified time

Public function Virtual Const

FLinearColor

 

GetColor()

Retrieve this curve's color

Public function Const

const void &...

 

GetCurve()

Access the raw pointer of the curve data

Public function Virtual Const

void

 

GetCurveAttributes

(
    FCurveAttributes& OutAttributes
)

Retrieve curve attributes for this curve

Public function Virtual Const

void

 

GetCurveColorObjectAndName

(
    UObject** OutObject,
    FString& OutName
)

Get the Object and the name to be used to store the curve model color (see UCurveEditorSettings).

Public function Virtual Const

double

 

GetInputDisplayOffset()

Retrieve an option input display offset (in seconds) to apply to all this curve's drawing

Public function Const

FString

 

GetIntentionName()

This is an internal name used to try to match different curves with each other.

Public function Virtual Const

void

 

GetKeyAttributes

(
    TArrayView< const FKeyHandle > InKe...,
    TArrayView< FKeyAttributes > OutAtt...
)

Retrieve all key attributes that pertain to the specified input key handles

Public function Const

void

 

GetKeyDrawInfo

(
    ECurvePointType PointType,
    const FKeyHandle InKeyHandle,
    FKeyDrawInfo& OutDrawInfo
)

Populate the specified draw info structure with data describing how to draw the specified point type

Public function Const

void

 

GetKeyPositions

(
    TArrayView< const FKeyHandle > InKe...,
    TArrayView< FKeyPosition > OutKeyPo...
)

Retrieve all key positions that pertain to the specified input key handles

Public function Const

void

 

GetKeys

(
    const FCurveEditor& CurveEditor,
    double MinTime,
    double MaxTime,
    double MinValue,
    double MaxValue,
    TArray< FKeyHandle >& OutKeyHandle...
)

Retrieve all keys that lie in the specified time and value range

Public function Const

FText

 

GetLongDisplayName()

Access this curve's long display name.

Public function Const

void

 

GetNeighboringKeys

(
    const FKeyHandle InKeyHandle,
    TOptional< FKeyHandle >& OutPrevio...,
    TOptional< FKeyHandle >& OutNextKe...
)

Get neighboring keys given the key handle

Public function Const

int32

 

GetNumKeys()

Get the number of keys

Public function Virtual Const

UObject *...

 

GetOwningObject()

Get the UObject that owns this CurveModel, for example for Sequencer this would be the UMovieSceneSection

Public function Const

FText

 

GetShortDisplayName()

Access this curve's short display name.

Public function Const

ECurveEditor...

 

GetSupportedViews()

Retrieve this curve's supported views

Public function Const

void

 

GetTimeRange

(
    double& MinTime,
    double& MaxTime
)

Get range of input time.

Public function Const

void

 

GetValueRange

(
    double& MinValue,
    double& MaxValue
)

Get range of output values.

Public function Const

bool

 

IsKeyDrawEnabled()

Retrieves whether or not to disable drawing keys

Public function Virtual Const

bool

 

IsReadOnly()

Returns whether the curve model should be edited or not

Public function

void

 

Modify()

Explicitly modify the curve data. Called before any change is made to the curve.

Public function

FSimpleMulti...

 

OnCurveModified()

Get a multicast delegate, fired when modifications are made to this curve

Public function

void

 

RemoveKeys

(
    TArrayView< const FKeyHandle > InKe...
)

Remove all the keys with the specified key handles from this curve

Public function

void

 

SetColor

(
    const FLinearColor& InColor
)

Public function Virtual

void

 

SetCurveAttributes

(
    const FCurveAttributes& InAttribut...
)

Assign curve attributes for this curve

Public function

void

 

SetIntentionName

(
    const FString& InIntentionName
)

Assign an intention name for this curve which is used internally when applying one curve to another in situations where multiple curves are visible.

Public function

void

 

SetIsKeyDrawEnabled

(
    TAttribute< bool > bInKeyDrawEnable...
)

Assign whether or not to disable drawing keys

Public function Virtual

void

 

SetKeyAttributes

(
    TArrayView< const FKeyHandle > InKe...,
    TArrayView< const FKeyAttributes > ...,
    EPropertyChangeType::Type ChangeTyp...
)

Assign key attributes for the specified key handles

Public function

void

 

SetKeyAttributes

(
    TArrayView< const FKeyHandle > InKe...,
    const FKeyAttributes& InAttributes,
    EPropertyChangeType::Type ChangeTyp...
)

Helper function for assigning a the same attributes to a number of keys

Public function

void

 

SetKeyPositions

(
    TArrayView< const FKeyHandle > InKe...,
    TArrayView< const FKeyPosition > In...,
    EPropertyChangeType::Type ChangeTyp...
)

Assign key positions for the specified key handles

Public function

void

 

SetLongDisplayName

(
    const FText& InLongDisplayName
)

Assign a long display name for this curve used in contexts where additional context is useful.

Public function

void

 

SetShortDisplayName

(
    const FText& InDisplayName
)

Assign a short display name for this curve