Navigation
API > API/Editor > API/Editor/CurveEditor
Class that models an underlying curve data structure through a generic abstraction that the curve editor understands.
| Name | FCurveModel |
| Type | class |
| Header File | /Engine/Source/Editor/CurveEditor/Public/CurveModel.h |
| Include Path | #include "CurveModel.h" |
Syntax
class FCurveModel
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FCurveModel() |
CurveModel.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FCurveModel() |
CurveModel.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ChangeScopeCounter | int32 | When positive, we're in a change scope. | CurveModel.h | |
| CurveId | TOptional< FCurveModelID > | This curve's unique ID. | CurveModel.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TOptional< FKeyHandle > AddKey
(
const FKeyPosition& NewKeyPosition, |
Helper function for adding a single key to this curve | CurveModel.h | |
void AddKeys
(
TArrayView< const FKeyPosition > InPositions, |
Add keys to this curve | CurveModel.h | |
virtual void AllocateAxes
(
FCurveEditor* InCurveEditor, |
Allocate and/or assign axes for the this curve | CurveModel.h | |
virtual TUniquePtr< IBufferedCurveModel > CreateBufferedCurveCopy () |
Creates a copy of this curve, stored in a minimal buffered curve object. | CurveModel.h | |
virtual void CreateKeyProxies
(
TWeakPtr< FCurveEditor > InWeakCurveEditor, |
Create key proxy objects for the specified key handles. | CurveModel.h | |
virtual void CreateKeyProxies
(
TArrayView< const FKeyHandle > InKeyHandles, |
CurveModel.h | ||
void DrawCurve
(
const FCurveEditor& CurveEditor, |
Draw the curve for the specified curve editor by populating an array with points on the curve between which lines should be drawn | CurveModel.h | |
virtual UE::CurveEditor::ICurveEditorCurveCachePool * DrawCurveToCachePool
(
const TSharedRef< FCurveEditor >& CurveEditor, |
Draws curve draw params to a cache pool. | CurveModel.h | |
bool Evaluate
(
double InTime, |
Evaluate this curve at the specified time | CurveModel.h | |
virtual void GetAllKeys
(
TArray< FKeyHandle >& OutKeyHandles |
Gets all keys in the curve. | CurveModel.h | |
TArray< FKeyHandle > GetAllKeys () |
Gets all keys in the curve. | CurveModel.h | |
FName GetChannelName() |
CurveModel.h | ||
virtual void GetClosestKeysTo
(
double InTime, |
Finds the key before and after InTime. | CurveModel.h | |
virtual FLinearColor GetColor() |
Retrieve this curve's color | CurveModel.h | |
const void * GetCurve() |
Access the raw pointer of the curve data | CurveModel.h | |
virtual void GetCurveAttributes
(
FCurveAttributes& OutAttributes |
Retrieve curve attributes for this curve | CurveModel.h | |
virtual void GetCurveColorObjectAndName
(
UObject** OutObject, |
Get the Object and the name to be used to store the curve model color (see UCurveEditorSettings). | CurveModel.h | |
virtual FTransform2d GetCurveTransform() |
Return a per-curve transform for this model, if used by the view | CurveModel.h | |
float GetDashLength() |
Get the dash length used for rendering this curve (0 indicates a solid line should be used) | CurveModel.h | |
const TOptional< FCurveModelID > & GetId() |
CurveModel.h | ||
virtual double GetInputDisplayOffset() |
Retrieve an option input display offset (in seconds) to apply to all this curve's drawing | CurveModel.h | |
| This is an internal name used to try to match different curves with each other. | CurveModel.h | ||
virtual TPair< ERichCurveInterpMode, ERichCurveTangentMode > GetInterpolationMode
(
const double& InTime, |
Get the interpolation mode to use at a specified time | CurveModel.h | |
virtual void GetKeyAttributes
(
TArrayView< const FKeyHandle > InKeys, |
Retrieve ALL key attributes that pertain to the specified input key handles. | CurveModel.h | |
virtual void GetKeyAttributesExcludingAutoComputed
(
TArrayView< const FKeyHandle > InKeys, |
Gets the attributes set by the user. | CurveModel.h | |
virtual void GetKeyAttributesIncludingAutoComputed
(
TArrayView< const FKeyHandle > InKeys, |
Gets the value of ALL attributes including those that are auto-computed. | CurveModel.h | |
void GetKeyDrawInfo
(
ECurvePointType PointType, |
Populate the specified draw info structure with data describing how to draw the specified point type | CurveModel.h | |
void GetKeyPositions
(
TArrayView< const FKeyHandle > InKeys, |
Retrieve all key positions that pertain to the specified input key handles | CurveModel.h | |
virtual void GetKeys
(
const FCurveEditor& CurveEditor, |
CurveModel.h | ||
void GetKeys
(
double MinTime, |
Retrieve all keys that lie in the specified time and value range | CurveModel.h | |
| Access this curve's long display name. | CurveModel.h | ||
FString GetLongIntentionName() |
CurveModel.h | ||
void GetNeighboringKeys
(
const FKeyHandle InKeyHandle, |
Get neighboring keys given the key handle | CurveModel.h | |
int32 GetNumKeys() |
Get the number of keys | CurveModel.h | |
const FCurveModelID & GetOrInitId() |
CurveModel.h | ||
virtual UObject * GetOwningObject() |
Get the UObject that owns this CurveModel, for example for Sequencer this would be the UMovieSceneSection | CurveModel.h | |
T * GetOwningObjectOrOuter() |
Get the owning object of this curve as the specified template type, or search is outer chain if it is not the specified type. | CurveModel.h | |
| Access this curve's short display name. | CurveModel.h | ||
ECurveEditorViewID GetSupportedViews() |
Retrieve this curve's supported views | CurveModel.h | |
float GetThickness() |
Get this curve's visual thickness in screen space | CurveModel.h | |
void GetTimeRange
(
double& MinTime, |
Get range of input time. | CurveModel.h | |
void GetValueRange
(
double& MinValue, |
Get range of output values. | CurveModel.h | |
virtual void GetValueRange
(
double InMinTime, |
Get range of output value based on specified input times. | CurveModel.h | |
virtual bool HasChangedAndResetTest() |
Get if has changed and then reset it, this can be used for caching | CurveModel.h | |
void InitCurveId
(
FCurveModelID InCurveModelID |
Inits this curve with an optionally specified ID. | CurveModel.h | |
bool IsKeyDrawEnabled() |
Retrieves whether or not to disable drawing keys | CurveModel.h | |
virtual bool IsReadOnly() |
Returns whether the curve model should be edited or not | CurveModel.h | |
virtual void MakeChildCurves
(
TArray< TUniquePtr< FCurveModel > >& OutChildCurves |
Called when this curve model is added to a curve editor in order to construct additional 'child' curves that are owned by this curve | CurveModel.h | |
void Modify() |
Explicitly modify the curve data. Called before any change is made to the curve. | CurveModel.h | |
FSimpleMulticastDelegate & OnCurveModified() |
Get a multicast delegate, fired when modifications are made to this curve | CurveModel.h | |
FSimpleMulticastDelegate & OnPostColorChanged() |
CurveModel.h | ||
virtual void PutKeys
(
TConstArrayView< FKeyHandle > InKeys, |
Adds the given keys if they are not yet present, or overwrites their current data if already present. | CurveModel.h | |
void RemoveKeys
(
TArrayView< const FKeyHandle > InKeys, |
Remove all the keys with the specified key handles from this curve | CurveModel.h | |
virtual void RemoveKeys
(
TArrayView< const FKeyHandle > InKeys |
CurveModel.h | ||
virtual void ReplaceKeyHandles
(
TConstArrayView< FKeyHandle > InCurrentHandles, |
Remaps InNewHandles to reference the keys that InCurrentHandles reference. | CurveModel.h | |
void SetChannelName
(
const FName& InChannelName |
CurveModel.h | ||
void SetColor
(
const FLinearColor& InColor |
CurveModel.h | ||
virtual void SetCurveAttributes
(
const FCurveAttributes& InAttributes |
Assign curve attributes for this curve | CurveModel.h | |
void SetDashLength
(
float InDashLengthPx |
Set the dash length used for rendering this curve (0 indicates a solid line should be used) | CurveModel.h | |
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. | CurveModel.h | |
void SetIsKeyDrawEnabled
(
TAttribute< bool > bInKeyDrawEnabled |
Assign whether or not to disable drawing keys | CurveModel.h | |
void SetKeyAttributes
(
TArrayView< const FKeyHandle > InKeys, |
Helper function for assigning a the same attributes to a number of keys | CurveModel.h | |
virtual void SetKeyAttributes
(
TArrayView< const FKeyHandle > InKeys, |
Assign key attributes for the specified key handles | CurveModel.h | |
void SetKeyPositions
(
TArrayView< const FKeyHandle > InKeys, |
Assign key positions for the specified key handles | CurveModel.h | |
void SetLongDisplayName
(
const FText& InLongDisplayName |
Assign a long display name for this curve used in contexts where additional context is useful. | CurveModel.h | |
void SetLongIntentionName
(
const FString& InIntentionName |
CurveModel.h | ||
void SetShortDisplayName
(
const FText& InDisplayName |
Assign a short display name for this curve | CurveModel.h | |
void SetThickness
(
float InThickness |
Set this curve's visual thickness in screen space | CurveModel.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool IsInChangeScope() |
CurveModel.h | ||
virtual void OnCloseRootChangeScope () |
Closes the scope of related changes. | CurveModel.h | |
virtual void OnOpenRootChangeScope () |
Starts a scope of related changes. | CurveModel.h |