Navigation
Unreal Engine C++ API Reference > Runtime > Engine > Curves
Inheritance Hierarchy
- FIndexedCurve
- FRealCurve
- FRichCurve
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Classes/Curves/RichCurve.h |
Include | #include "Curves/RichCurve.h" |
Syntax
struct FRichCurve : public FRealCurve
Remarks
A rich, editable float curve
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
TArray< FRichCurveKey > | Keys | Sorted array of keys |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | AutoSetTangents
(
float Tension |
Auto set tangents for any 'auto' keys in curve |
![]() ![]() |
void | CompressCurve
(
FCompressedRichCurve& OutCurve, |
Compresses a rich curve for efficient runtime storage and evaluation |
![]() ![]() |
const TArray< FRichCurveKey > & | Gets a const reference of the keys, so indices and handles can't be meddled with | |
![]() ![]() |
TArray< FRichCurveKey > | Gets a copy of the keys, so indices and handles can't be meddled with | |
![]() ![]() |
FRichCurveKey | GetFirstKey () |
Quick accessors for the first and last keys |
![]() |
FRichCurveKey * | GetFirstMatchingKey
(
const TArray< FKeyHandle >& KeyHandles |
Get the first key that matches any of the given key handles. |
![]() |
FRichCurveKey & | GetKey
(
FKeyHandle KeyHandle |
Functions for getting keys based on handles |
![]() ![]() |
FRichCurveKey | GetKey
(
FKeyHandle KeyHandle |
Functions for getting keys based on handles |
![]() ![]() |
TArray< FRichCurveKey >::TConstIterator | Const iterator for the keys, so the indices and handles stay valid | |
![]() ![]() |
const FRichCurveKey & | GetKeyRef
(
FKeyHandle KeyHandle |
Functions for getting keys based on handles |
![]() ![]() |
ERichCurveTangentMode | GetKeyTangentMode
(
FKeyHandle KeyHandle |
Get the tangent mode of the specified key |
![]() ![]() |
FRichCurveKey | GetLastKey () |
|
![]() ![]() |
bool | IsConstant
(
float Tolerance |
Returns whether the curve is constant or not |
![]() ![]() |
bool | IsEmpty () |
Returns whether the curve is empty or not |
![]() |
void | RemoveRedundantAutoTangentKeys
(
float Tolerance, |
|
![]() |
void | RemoveRedundantAutoTangentKeys
(
float Tolerance |
|
![]() |
void | ReserveKeys
(
const int32 Number |
Reserves keys to be added by AddKey. |
![]() |
void | SetKeyInterpMode
(
FKeyHandle KeyHandle, |
|
![]() |
void | SetKeys
(
const TArray< FRichCurveKey >& InKeys |
Sets the keys with the keys.Expects that the keys are already sorted. |
![]() |
void | SetKeyTangentMode
(
FKeyHandle KeyHandle, |
Set the tangent mode of the specified key |
![]() |
void | SetKeyTangentWeightMode
(
FKeyHandle KeyHandle, |
Set the tangent weight mode of the specified key |
Overridden from FRealCurve
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
FKeyHandle | AddKey
(
float InTime, |
Add a new key to the curve with the supplied Time and Value. Returns the handle of the new key. |
![]() ![]() |
void | BakeCurve
(
float SampleRate, |
|
![]() ![]() |
void | BakeCurve
(
float SampleRate |
Bake curve given the sample rate |
![]() ![]() |
void | DeleteKey
(
FKeyHandle KeyHandle |
Remove the specified key from the curve. |
![]() ![]() ![]() |
float | Eval
(
float InTime, |
Evaluate this rich curve at the specified time |
![]() ![]() ![]() |
ERichCurveInterpMode | GetKeyInterpMode
(
FKeyHandle KeyHandle |
Get the interp mode of the specified key |
![]() ![]() ![]() |
TPair< float, float > | GetKeyTimeValuePair
(
FKeyHandle KeyHandle |
Returns a |
![]() ![]() ![]() |
float | GetKeyValue
(
FKeyHandle KeyHandle |
Returns the value of the specified key |
![]() ![]() ![]() |
void | GetTimeRange
(
float& MinTime, |
Get range of input time values. |
![]() ![]() ![]() |
void | GetValueRange
(
float& MinValue, |
Get range of output values. |
![]() ![]() |
void | ReadjustTimeRange
(
float NewMinTimeRange, |
Resize curve length to the [MinTimeRange, MaxTimeRange] |
![]() ![]() ![]() |
void | RemapTimeValue
(
float& InTime, |
Remap InTime based on pre and post infinity extrapolation values |
![]() ![]() |
void | RemoveRedundantKeys
(
float Tolerance, |
|
![]() ![]() |
void | RemoveRedundantKeys
(
float Tolerance, |
Remove redundant keys, comparing against Tolerance (and optional use of sample-rate for additional testing) |
![]() ![]() |
void | Reset () |
Clear all keys. |
![]() ![]() |
void | SetKeyInterpMode
(
FKeyHandle KeyHandle, |
Set the interp mode of the specified key |
![]() ![]() |
void | SetKeyValue
(
FKeyHandle KeyHandle, |
Set the value of the specified key |
![]() ![]() |
FKeyHandle | UpdateOrAddKey
(
float InTime, |
Finds the key at InTime, and updates its value. |
Overridden from FIndexedCurve
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
FIndexedCurve * | Duplicate () |
Allocates a duplicate of the curve |
![]() ![]() ![]() |
float | GetKeyTime
(
FKeyHandle KeyHandle |
Get the time for the Key with the specified index. |
![]() ![]() ![]() |
int32 | GetNumKeys () |
Get number of keys in curve. |
![]() ![]() |
void | SetKeyTime
(
FKeyHandle KeyHandle, |
Move a key to a new time. |
Operators
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | operator==
(
const FRichCurve& Curve |
Determine if two RichCurves are the same |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | RemoveRedundantKeys
(
float Tolerance, |
FRichCurve::RemoveRedundantKeys is deprecated, use signature with additional SampleRate or RemoveRedundantAutoTangentKeys instead |
![]() |
void | RemoveRedundantKeys
(
float Tolerance |
FRichCurve::RemoveRedundantKeys is deprecated, use signature with additional SampleRate or RemoveRedundantAutoTangentKeys instead |