Navigation
API > API/Editor > API/Editor/CurveEditor
Inheritance Hierarchy
- FEditorUndoClient
- TSharedFromThis
- FCurveEditor
References
| Module | CurveEditor |
| Header | /Engine/Source/Editor/CurveEditor/Public/CurveEditor.h |
| Include | #include "CurveEditor.h" |
Syntax
class FCurveEditor :
public FEditorUndoClient,
public TSharedFromThis< FCurveEditor >
Variables
| Type | Name | Description | |
|---|---|---|---|
| uint32 | ActiveCurvesSerialNumber | A serial number that is incremented any time the currently active set of curves are changed | |
| TOptional< FCurveEditorToolID > | ActiveTool | The currently active tool if any. | |
| FCurveEditorAxisSnap | AxisSnapMetrics | Track which axis UI movements should be snapped to (where applicable) based on limitations imposed by the UI. | |
| bool | bBoundTransformUpdatesSuppressed | Should attempts to update the bounds of each curve be ignored? This allows tools to keep the bounds from being automatically updated each frame which allows Normalized views to push past their boundaries without the normalization ratio changing per-frame as you drag. | |
| TUniquePtr< ICurveEditorBounds > | Bounds | Curve editor bounds implementation | |
| TArray< TUniquePtr< IBufferedCurveModel > > | BufferedCurves | Buffered Curves. | |
| TSharedPtr< FUICommandList > | CommandList | UI command list of actions mapped to this curve editor | |
| TMap< FCurveModelID, TUniquePtr< FCurveModel > > | CurveData | Map from curve model ID to the actual curve model | |
| TAttribute< FKeyAttributes > | DefaultKeyAttributes | Attribute used for determining default attributes to apply to a newly create key | |
| TArray< TSharedRef< ICurveEditorExtension > > | EditorExtensions | List of editor extensions we have initialized. | |
| TAttribute< TOptional< float > > | FixedGridSpacingAttribute | Attribute used to retrieve the current value-axis grid line state | |
| TAttribute< FText > | GridLineLabelFormatXAttribute | Grid line label text format strings for the X and Y axis | |
| TAttribute< FText > | GridLineLabelFormatYAttribute | ||
| TAttribute< bool > | InputSnapEnabledAttribute | Attribute used to determine if we should snap input values | |
| TAttribute< FFrameRate > | InputSnapRateAttribute | Attribute used to retrieve the current input snap rate (also used for display) | |
| TAttribute< double > | InputZoomToFitPadding | Padding applied to zoom-to-fit the input | |
| FOnActiveToolChanged | OnActiveToolChangedDelegate | Delegate that is invoked when a tool becomes active. Also fired when the tool goes inactive. | |
| FOnCurveArrayChanged | OnCurveArrayChanged | Delegate that's broadcast when the curve display changes. | |
| FOnSetBoolean | OnInputSnapEnabledChanged | Delegate that is invoked when the input snapping has been enabled/disabled | |
| FOnSetBoolean | OnOutputSnapEnabledChanged | Delegate that is invoked when the output snapping has been enabled/disabled | |
| TAttribute< bool > | OutputSnapEnabledAttribute | Attribute used to determine if we should snap output values | |
| TAttribute< double > | OutputZoomToFitPadding | Padding applied to zoom-to-fit the output | |
| TSet< FCurveModelID > | PinnedCurves | Set of pinned curve models | |
| FCurveEditorSelection | Selection | Container holding the current key/tangent selection | |
| UCurveEditorSettings * | Settings | Curve editor settings object | |
| int32 | SuspendBroadcastCount | Counter to suspend broadcasting of changed delegates | |
| TMap< FCurveEditorToolID, TUniquePtr< ICurveEditorToolExtension > > | ToolExtensions | List of tool extensions we have initialized. | |
| FCurveEditorTree | Tree | Hierarchical information pertaining to curve data | |
| TMap< FCurveModelID, FCurveEditorTreeItemID > | TreeIDByCurveID | Map from curve model ID to its originating tree item | |
| TWeakPtr< SCurveEditorPanel > | WeakPanel | ||
| TWeakPtr< ITimeSliderController > | WeakTimeSliderController | Optional external Time Slider controller to sync with. Enables some additional functionality. | |
| TWeakPtr< SCurveEditorView > | WeakView |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FCurveEditor () |
Constructor | ||
FCurveEditor
(
const FCurveEditor& |
Non-copyable (shared ptr semantics) |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddBufferedCurves
(
const TSet< FCurveModelID >& InCurves |
Create a copy of the specified set of curves. | |
| FCurveModelID | AddCurve
(
TUniquePtr< FCurveModel >&& InCurve |
Add a new curve to this editor | |
| FCurveModelID | AddCurveForTreeItem
(
TUniquePtr< FCurveModel >&& InCurve, |
Add a new curve to this editor | |
| FCurveEditorToolID | AddTool
(
TUniquePtr< ICurveEditorToolExtension >&& InTool |
||
| FCurveEditorTreeItem * | AddTreeItem
(
FCurveEditorTreeItemID ParentID |
Add a new tree item to this curve editor | |
| bool | ApplyBufferedCurves
(
const TSet< FCurveModelID >& InCurvesToApplyTo, |
Attempts to apply the buffered curve to the passed in curve set. Returns true on success. | |
| void | ApplyBufferedCurveToTarget
(
const IBufferedCurveModel* BufferedCurve, |
Apply a specific buffered curve to a specific target curve. | |
| bool | |||
| void | BindCommands () |
Bind UI commands that this curve editor responds to | |
| void | BroadcastCurveChanged
(
FCurveModel* InCurve |
||
| bool | Do we currently have keys to flatten or straighten? | ||
| bool | Returns whether the current clipboard contains objects which CurveEditor can paste | ||
| void | |||
| void | ConstructXGridLines
(
TArray< float >& MajorGridLines, |
Construct grid lines along the current display frame rate or time-base | |
| bool | CopyBufferCurveToCurveID
(
const UCurveEditorCopyableCurveKeys* InSourceCurve, |
||
| void | Copy the currently selected keys | ||
| void | CutSelection () |
Cut the currently selected keys | |
| void | Delete the currently selected keys | ||
| FCurveModel * | FindCurve
(
FCurveModelID CurveID |
Find a curve by its ID | |
| const SCurveEditorView * | FindFirstInteractiveView
(
FCurveModelID InCurveID |
||
| const FCurveEditorTreeItem * | FindTreeItem
(
FCurveEditorTreeItemID ItemID |
Finds a tree item from its ID | |
| FCurveEditorTreeItem * | FindTreeItem
(
FCurveEditorTreeItemID ItemID |
Finds a tree item from its ID | |
| void | Flatten the tangents on the selected keys | ||
| uint32 | Retrieve a serial number that is incremented any time a curve is added or removed | ||
| FCurveEditorAxisSnap | GetAxisSnap () |
Returned the cached struct for snapping editing movement to a specific axis based on user preferences. | |
| ICurveEditorBounds & | GetBounds () |
Retrieve the current curve editor bounds implementation | |
| const ICurveEditorBounds & | GetBounds () |
Retrieve the current curve editor bounds implementation | |
| const TArray< TUniquePtr< IBufferedCurveModel > > & | Return the array of buffered curves | ||
| void | GetChildCurveModelIDs
(
const FCurveEditorTreeItemID TreeItemID, |
||
| TSharedPtr< FUICommandList > | GetCommands () |
Retrieve this curve editor's command list | |
| ICurveEditorToolExtension * | Attempts to get the currently active tool. | ||
| const TMap< FCurveModelID, TUniquePtr< FCurveModel > > & | GetCurves () |
Access all the curves currently contained in the Curve Editor regardless of visibility. | |
| FCurveSnapMetrics | GetCurveSnapMetrics
(
FCurveModelID CurveModel |
Generate a utility struct for snapping values | |
| TAttribute< FKeyAttributes > | Attribute used for determining default attributes to apply to a newly create key | ||
| TAttribute< FKeyAttributes > | |||
| TSet< FCurveModelID > | |||
| const TArray< TSharedRef< ICurveEditorExtension > > | |||
| TAttribute< FText > | |||
| TAttribute< FText > | |||
| void | GetGridLinesX
(
TArray< float >& MajorGridLines, |
Called by SCurveEditorPanel to determine where to draw grid lines along the X-axis. | |
| TOptional< float > | Returns the value grid line spacing state | ||
| int32 | Return the number of stored Buffered Curves. | ||
| TSharedPtr< SCurveEditorPanel > | GetPanel () |
||
| FCurveEditorScreenSpaceH | |||
| const TSet< FCurveModelID > & | |||
| const TArray< FCurveEditorTreeItemID > & | Get const access to the entire set of root tree items | ||
| FCurveEditorSelection & | GetSelection () |
||
| TSet< FCurveModelID > | Return the curve model IDs that are selected in the tree or have selected keys | ||
| UCurveEditorSettings * | GetSettings () |
Retrieve this curve editor's settings | |
| int32 | |||
| TSet< FCurveModelID > | |||
| TSharedPtr< ITimeSliderController > | Retrieve the optional Time Slider Controller that this Curve Editor may be sync'd with. | ||
| const TMap< FCurveEditorToolID, TUniquePtr< ICurveEditorToolExtension > > & | |||
| const FCurveEditorTree * | GetTree () |
Access the curve editor tree. | |
| FCurveEditorTree * | GetTree () |
Access the curve editor tree. | |
| FCurveEditorTreeItemID | GetTreeIDFromCurveID
(
FCurveModelID CurveID |
Find a tree ID id associated with a CurveModelID | |
| FCurveEditorTreeItem & | GetTreeItem
(
FCurveEditorTreeItemID ItemID |
Retrieve a tree item from its ID | |
| const FCurveEditorTreeItem & | GetTreeItem
(
FCurveEditorTreeItemID ItemID |
Retrieve a tree item from its ID | |
| const TMap< FCurveEditorTreeItemID, ECurveEditorTreeSelectionState > & | Retrieve the current tree selection | ||
| ECurveEditorTreeSelectionState | GetTreeSelectionState
(
FCurveEditorTreeItemID TreeItemID |
Check whether this tree item is selected | |
| TSharedPtr< SCurveEditorView > | GetView () |
||
| void | ImportCopyBufferFromText
(
const FString& TextToImport, |
||
| void | InitCurveEditor
(
const FCurveEditorInitParams& InInitParams |
||
| bool | IsActiveBufferedCurve
(
const TUniquePtr< IBufferedCurveModel >& BufferedCurve |
Returns whether the buffered curve is to be acted on, ie. selected, in the tree view or with selected keys | |
| bool | |||
| bool | IsCurvePinned
(
FCurveModelID InCurveID |
||
| bool | Whether or not we are are doign a direct selection, could be used to see why a curve model is being created or destroyed, by direct selection or by sequencer filtering? | ||
| bool | Check whether keys should be snapped to the input display rate when dragging around | ||
| bool | Check whether keys should be snapped to the output snap interval when dragging around | ||
| bool | IsToolActive
(
const FCurveEditorToolID InToolID |
Returns true of the specified tool is currently active. | |
| void | JumpToEnd () |
||
| void | JumpToStart () |
||
| void | MakeToolActive
(
const FCurveEditorToolID InToolID |
Attempts to make the specified tool the active tool. | |
| void | |||
| void | PasteKeys
(
TSet< FCurveModelID > CurveModelIDs, |
Paste keys | |
| void | PinCurve
(
FCurveModelID InCurveID |
||
| void | Remove all curves from this editor | ||
| void | Remove all tree items from the curve editor | ||
| void | RemoveCurve
(
FCurveModelID InCurveID |
Remove a curve from this editor. | |
| void | RemoveFromTreeSelection
(
TArrayView< const FCurveEditorTreeItemID > TreeItems |
Removes items from the current tree selection. | |
| void | RemoveTreeItem
(
FCurveEditorTreeItemID ItemID |
Remove a tree item from the curve editor | |
| void | |||
| void | |||
| void | Selection | ||
| void | |||
| void | |||
| void | SelectNone () |
||
| void | SetAxisSnap
(
const FCurveEditorAxisSnap& InAxisSnap |
||
| void | SetBounds
(
TUniquePtr< ICurveEditorBounds >&& InBounds |
Assign a new bounds container to this curve editor | |
| void | Pick a curve color and set on selected | ||
| void | SetPanel
(
TSharedPtr< SCurveEditorPanel > InPanel |
||
| void | Set random curve colors | ||
| void | |||
| void | Selection range for ie. looping playback | ||
| void | SetTimeSliderController
(
TSharedPtr< ITimeSliderController > InTimeSliderController |
Sets a Time Slider controller for this Curve Editor to be sync'd against. Can be null. | |
| void | SetTreeSelection
(
TArray< FCurveEditorTreeItemID >&& TreeItems |
Set the tree selection directly | |
| void | SetView
(
TSharedPtr< SCurveEditorView > InPanel |
||
| bool | Check whether this curve editor can automatically zoom to the current selection | ||
| void | Snap time to the first selected key | ||
| void | StepBackward () |
||
| void | StepForward () |
Step forward/backward, jump to start/end | |
| void | Step to next or previous key from the current time | ||
| void | |||
| void | Straighten the tangents on the selected keys | ||
| void | SuppressBoundTransformUpdates
(
bool bSuppress |
||
| void | Suspend or resume broadcast of curve array changing | ||
| void | ToggleExpandCollapseNodes
(
bool bRecursive |
Toggle the expansion state of the selected nodes or all nodes if none selected | |
| void | |||
| void | |||
| void | TranslateSelectedKeys
(
double SecondsToAdd |
Nudge left or right | |
| void | Nudge left or right | ||
| void | Nudge left or right | ||
| void | UnpinCurve
(
FCurveModelID InCurveID |
||
| void | UpdateGeometry
(
const FGeometry& CurrentGeometry |
Called by SCurveEditorPanel to update the allocated geometry for this curve editor. | |
| void | ZoomToFit
(
EAxisList::Type Axes |
Zoom the curve editor to fit all the selected curves (or all curves if none selected) | |
| void | ZoomToFitAll
(
EAxisList::Type Axes |
Zoom the curve editor to fit all the currently visible curves | |
| void | ZoomToFitCurves
(
TArrayView< const FCurveModelID > CurveModelIDs, |
Zoom the curve editor to fit the requested curves. | |
| void | ZoomToFitInternal
(
EAxisList::Type Axes, |
Internal zoom to fit implementation | |
| void | ZoomToFitSelection
(
EAxisList::Type Axes |
Zoom the curve editor to fit all the current key selection. |
Overridden from FEditorUndoClient
| Type | Name | Description | |
|---|---|---|---|
| void | PostRedo
(
bool bSuccess |
Signal that client should run any PostRedo code | |
| void | PostUndo
(
bool bSuccess |
FEditorUndoClient. |
Operators
| Type | Name | Description | |
|---|---|---|---|
| FCurveEditor & | operator=
(
const FCurveEditor& |