Module |
|
Header |
/Engine/Source/Editor/CurveEditor/Public/SCurveEditorView.h |
Include |
#include "SCurveEditorView.h" |
class SCurveEditorView : public SCompoundWidget
This is the base widget type for all views that exist on a curve editor panel. A view may contain 0 or more curves (stored in CurveInfoByID). SCurveEditorViews are directly housed within a single SCurveEditorViewContainer which arranges each view vertically in order.
View types: A view may have a centrally registered ID (See FCurveEditorViewRegistry and FCurveModel::GetSupportedViews) which allows any external curve model type to express support for any other view type. 3 built-in views are provided: Absolute: Shows 1 or more curves on a single 2D-scrollable grid using a single zoomable view-space. Normalized: Shows 1 or more curves on a single grid scrollable horizontally with all curves normalized to the extents of the view Stacked: Shows 1 or more curves on separate fixed-height grids scrollable horizontally each curve normalized to the extents of its own grid Unregistered curve views may still be added to the view by calling SCurveEditorPanel::AddView
Space Transformations: Views must define a valid 2-dimensional space (ViewSpace) that is used to convert from a pixel position to the virtual view space. Views may additionally implement per-curve transformations from view space to curve space, to allow for specific layouts/scales of curves within them. Per-curve transforms are stored inside [FCurveInfo::ViewToCurveTransform](API\Editor\CurveEditor\SCurveEditorView\FCurveInfo\ViewToCurveTransform)
Sizing: Views may be size in one of 2 ways:
Auto sized (bAutoSize=true): views derive their height from the widget's desired size;
Stretched (bAutoSize=false): views will be stretched to the size of the parent panel with a sensible minimum height.
Name | Description | ||
---|---|---|---|
|
uint8: 1 |
bAllowEmpty |
(Default: false) Defines whether this view should remain on the panel UI even if it does not represent any curves. |
|
uint8: 1 |
bAutoSize |
(Default: true) See class notes - defines whether this view should size to its desired size (true) or stretch to the height of the panel (false). |
|
uint8: 1 |
bFixedOutputBounds |
(Default: false) When true, this view has fixed vertical bounds that should never be changed by zooming or panning |
|
uint8: 1 |
bInteractive |
(Default: true) When true, this view should accept interactive operations such as drags and tool interaction |
|
uint8: 1 |
bPinned |
(Default: false) When true, this view has been pinned to the top of the view container. |
|
TSortedMap< FCu... |
CurveInfoByID |
Map from curve identifier to specific info pertaining to that curve for this view. |
|
TAttribute< flo... |
FixedHeight |
(Optional) Attribute that defines a fixed height for this view. |
|
MaximumCapacity |
The maximum number of curves allowed on this view, or 0 for no limit |
|
|
double |
OutputMax |
This view's maximum visible output value |
|
double |
OutputMin |
This view's minimum visible output value |
|
RelativeOrder |
Transient integer that is assigned each time the view container order is changed, to guarantee relative ordering of views when the list changes |
|
|
SortBias |
(Default: 0) Should be assigned on Construction of derived types. |
|
|
ViewTypeID |
This view's type identifier. Assigned by the curve editor panel after construction. |
|
|
WeakCurveEditor |
The curve editor associated with this view. |
Name | Description | |
---|---|---|
|
SCurveEditorView() |
Default constructor |
Name | Description | ||
---|---|---|---|
|
BindCommands() |
Bind UI commands for this view |
|
|
GetCurveDrawParams ( |
Gets info about the curves being drawn. |
|
|
FCurveEditor... |
GetCurveSpace ( |
Get the screen space ultility that defines the specified curves's input, output and pixel metrics. |
|
GetGridLinesX ( |
||
|
GetGridLinesY ( |
||
|
GetInputBounds ( |
Retrieve this view's input bounds, accounting for any offsets or padding from the outer container |
|
|
double |
GetOutputMax() |
Retrieve this view's maximum output bound in view space |
|
double |
GetOutputMin() |
Retrieve this view's minimum output bound in view space |
|
GetPointsWithinWidgetRange ( |
Retrieve all the curve points that overlap the specified rectangle in widget space |
|
|
FCurveEditor... |
GetViewSpace() |
Get the screen space ultility that defines this view's input, output and pixel metrics |
|
HasCapacity() |
Check whether this view has space for any more curves |
|
|
IsInteractive() |
Check whether this view can be interacted with. |
|
|
IsTimeSnapEnabled() |
Should the tools respect the global snapping rules for Time (X axis) input when manipulating a curve in this view. |
|
|
IsValueSnapEnabled() |
Should the tools respect the global snapping rules for Value (Y axis) input when manipulating a curve in this view. |
|
|
NumCurves() |
Retrieve the number of curves that exist on this view |
|
|
OnCurveListChanged() |
Invoked when a curve has been added or removed from this list. |
|
|
SetOutputBounds ( |
Set this view's output bounds |
|
|
ShouldAutoSize() |
Check whether this view should auto size to fit its FixedHeight or child slot content |
|
|
Zoom ( |
Zoom this view in or out around its center point |
|
|
ZoomAround ( |
Zoom this view in or out around the specified point |
Name | Description | ||
---|---|---|---|
|
ComputeDesiredSize ( |
Compute the ideal size necessary to display this widget. |
Name |
Description |
|
---|---|---|
|
FCurveInfo |