FSimpleCurve

A rich, editable float curve

Windows
MacOS
Linux

Inheritance Hierarchy

FIndexedCurve

FRealCurve

FSimpleCurve

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Curves/SimpleCurve.h

Include

#include "Curves/SimpleCurve.h"

Syntax

struct FSimpleCurve : public FRealCurve

Remarks

A rich, editable float curve

Variables

Name Description

Public variable

TEnumAsByte< ER...

 

InterpMode

Interpolation mode between this key and the next

Public variable

TArray< FSimple...

 

Keys

Sorted array of keys

Constructors

Name Description

Public function

FSimpleCurve()

Functions

Name Description

Public function Const

const TArray...

 

GetConstRefOfKeys()

Gets a const reference of the keys, so indices and handles can't be meddled with

Public function Const

TArray< FSim...

 

GetCopyOfKeys()

Gets a copy of the keys, so indices and handles can't be meddled with

Public function Const

FSimpleCurve...

 

GetFirstKey()

Quick accessors for the first and last keys

Public function

FSimpleCurve...

 

GetFirstMatchingKey

(
    const TArray< FKeyHandle >& KeyHan...
)

Get the first key that matches any of the given key handles.

Public function

FSimpleCurve...

 

GetKey

(
    FKeyHandle KeyHandle
)

Functions for getting keys based on handles

Public function Const

FSimpleCurve...

 

GetKey

(
    FKeyHandle KeyHandle
)

Functions for getting keys based on handles

Public function Const

ERichCurveIn...

 

GetKeyInterpMode()

Get the interp mode used for keys in this curve

Public function Const

TArray< FSim...

 

GetKeyIterator()

Const iterator for the keys, so the indices and handles stay valid

Public function Const

FSimpleCurve...

 

GetLastKey()

Public function

void

 

SetKeyInterpMode

(
    ERichCurveInterpMode NewInterpMode
)

Public function

void

 

SetKeys

(
    const TArray< FSimpleCurveKey >& I...
)

Sets the keys with the keys.

Expects that the keys are already sorted.

Overridden from FRealCurve

Name Description

Public function Virtual

FKeyHandle

 

AddKey

(
    float InTime,
    float InValue,
    const bool bUnwindRotation,
    FKeyHandle KeyHandle
)

Add a new key to the curve with the supplied Time and Value. Returns the handle of the new key.

Public function Virtual

void

 

BakeCurve

(
    float SampleRate,
    float FirstKeyTime,
    float LastKeyTime
)

Public function Virtual

void

 

BakeCurve

(
    float SampleRate
)

Bake curve given the sample rate

Public function Virtual

void

 

DeleteKey

(
    FKeyHandle KeyHandle
)

Remove the specified key from the curve.

Public function Virtual Const

float

 

Eval

(
    float InTime,
    float InDefaultValue
)

Evaluate this curve at the specified time

Protected function Virtual Const

int32

 

GetKeyIndex

(
    float KeyTime,
    float KeyTimeTolerance
)

Public function Virtual Const

ERichCurveIn...

 

GetKeyInterpMode

(
    FKeyHandle KeyHandle
)

Get the interp mode of the specified key

Public function Virtual Const

TPair< float...

 

GetKeyTimeValuePair

(
    FKeyHandle KeyHandle
)

Returns a pair for the specified key

Public function Virtual Const

float

 

GetKeyValue

(
    FKeyHandle KeyHandle
)

Returns the value of the specified key

Public function Virtual Const

void

 

GetTimeRange

(
    float& MinTime,
    float& MaxTime
)

Get range of input time values.

Public function Virtual Const

void

 

GetValueRange

(
    float& MinValue,
    float& MaxValue
)

Get range of output values.

Public function Virtual

void

 

ReadjustTimeRange

(
    float NewMinTimeRange,
    float NewMaxTimeRange,
    bool bInsert,
    float OldStartTime,
    float OldEndTime
)

Resize curve length to the [MinTimeRange, MaxTimeRange]

Public function Virtual Const

void

 

RemapTimeValue

(
    float& InTime,
    float& CycleValueOffset
)

Remap InTime based on pre and post infinity extrapolation values

Public function Virtual

void

 

RemoveRedundantKeys

(
    float Tolerance
)

Remove redundant keys, comparing against Tolerance

Public function Virtual

void

 

RemoveRedundantKeys

(
    float Tolerance,
    float FirstKeyTime,
    float LastKeyTime
)

Public function Virtual

void

 

Reset()

Clear all keys.

Public function Virtual

void

 

SetKeyInterpMode

(
    FKeyHandle,
    ERichCurveInterpMode NewInterpMode
)

Set the interp mode used for keys in this curve

Public function Virtual

void

 

SetKeyValue

(
    FKeyHandle KeyHandle,
    float NewValue,
    bool bAutoSetTangents
)

Set the value of the specified key

Public function Virtual

FKeyHandle

 

UpdateOrAddKey

(
    float InTime,
    float InValue,
    const bool bUnwindRotation,
    float KeyTimeTolerance
)

Finds the key at InTime, and updates its value.

Overridden from FIndexedCurve

Name Description

Public function Virtual Const

FIndexedCurv...

 

Duplicate()

Allocates a duplicate of the curve

Public function Virtual Const

float

 

GetKeyTime

(
    FKeyHandle KeyHandle
)

Get the time for the Key with the specified index.

Public function Virtual Const

int32

 

GetNumKeys()

Get number of keys in curve.

Public function Virtual

void

 

SetKeyTime

(
    FKeyHandle KeyHandle,
    float NewTime
)

Move a key to a new time.

Operators

Name Description

Public function Const

bool

 

operator==

(
    const FSimpleCurve& Curve
)

Determine if two SimpleCurves are the same

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss