Navigation
API > API/Editor > API/Editor/ComponentVisualizers
Inheritance Hierarchy
- FComponentVisualizer
- FGCObject
- FSplineComponentVisualizer
References
| Module | ComponentVisualizers |
| Header | /Engine/Source/Editor/ComponentVisualizers/Public/SplineComponentVisualizer.h |
| Include | #include "SplineComponentVisualizer.h" |
Syntax
class FSplineComponentVisualizer :
public FComponentVisualizer,
public FGCObject
Remarks
SplineComponent visualizer/edit functionality
Variables
| Type | Name | Description | |
|---|---|---|---|
| EAxis::Type | AddKeyLockedAxis | Axis to fix when adding new spline points. | |
| bool | bAllowDuplication | Whether we currently allow duplication when dragging | |
| bool | bDuplicatingSplineKey | Alt-drag: True when in process of duplicating a spline key. | |
| bool | bIsSnappingToActor | Snap: True when in process of snapping to actor which needs to be Ctrl-Selected. | |
| bool | bUpdatingAddSegment | Alt-drag: True when in process of adding end segment. | |
| FDelegateHandle | DeselectedInEditorDelegateHandle | ||
| float | DuplicateCacheSplitSegmentParam | Alt-drag: Cached segment parameter for split segment at new control point | |
| uint32 | DuplicateDelay | Alt-drag: Delays duplicating control point to accumulate sufficient drag input offset. | |
| FVector | DuplicateDelayAccumulatedDrag | Alt-drag: Accumulates delayed drag offset. | |
| TObjectPtr< USplineComponentVisualizerSelectionState > | SelectionState | Current selection state | |
| ESplineComponentSnapMode | SnapToActorMode | Snap: Snap to actor mode. | |
| TSharedPtr< FUICommandList > | SplineComponentVisualizerActions | Output log commands | |
| FProperty * | SplineCurvesProperty |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddSegment
(
const FVector& InWorldPos, |
Add segment to beginning or end of spline | |
| bool | Whether any keys are currently selected | ||
| bool | Whether a multiple spline keys are currently selected | ||
| bool | |||
| bool | CanDeleteKey () |
||
| bool | CanResetToAutomaticTangent
(
EInterpCurveMode Mode |
||
| bool | |||
| bool | |||
| void | ChangeSelectionState
(
int32 Index, |
Update the key selection state of the visualizer | |
| void | |||
| bool | DuplicateKeyForAltDrag
(
const FVector& InDrag |
Alt-drag: duplicates the selected spline key | |
| float | FindNearest
(
const FVector& InLocalPos, |
Return spline data for point on spline closest to input point | |
| void | GenerateContextMenuSections
(
FMenuBuilder& InMenuBuilder |
Add menu sections to the context menu | |
| void | GenerateLockAxisSubMenu
(
FMenuBuilder& MenuBuilder |
Generate the submenu containing the lock axis types | |
| void | GenerateSelectSplinePointsSubMenu
(
FMenuBuilder& MenuBuilder |
Generate the submenu containing available selection actions | |
| void | GenerateSnapAlignSubMenu
(
FMenuBuilder& MenuBuilder |
Generate the submenu containing the available snap/align actions | |
| void | GenerateSplinePointTypeSubMenu
(
FMenuBuilder& MenuBuilder |
Generate the submenu containing the available point types | |
| void | GenerateTangentTypeSubMenu
(
FMenuBuilder& MenuBuilder |
Generate the submenu containing the available auto tangent types | |
| USplineComponent * | Get the spline component we are currently editing | ||
| const TSet< int32 > & | |||
| bool | GetSnapToActorMode
(
ESplineComponentSnapMode& OutSnapMode |
Snapping: get snap to actor temporary mode | |
| bool | HandleSelectAllSplinePoints
(
USplineComponent* InSplineComponent |
Select all spline points, , returns true if the spline component being edited has changed | |
| bool | HandleSelectFirstLastSplinePoint
(
USplineComponent* InSplineComponent, |
Select first or last spline point, returns true if the spline component being edited has changed | |
| bool | IsAnySelectedKeyIndexOutOfRange
(
const USplineComponent* Comp |
Determine if any selected key index is out of range (perhaps because something external has modified the spline) | |
| bool | |||
| bool | |||
| bool | IsKeyTypeSet
(
EInterpCurveMode Mode |
||
| bool | IsLockAxisSet
(
EAxis::Type InAxis |
||
| bool | Whether a single spline key is currently selected | ||
| bool | |||
| void | |||
| void | OnDeleteKey () |
||
| void | OnDeselectedInEditor
(
TObjectPtr< USplineComponent > SplineComponent |
||
| void | Duplicates selected spline keys in place | ||
| void | OnLockAxis
(
EAxis::Type InAxis |
||
| void | OnResetToAutomaticTangent
(
EInterpCurveMode Mode |
||
| void | |||
| void | Select all spline points, if no spline points selected yet the currently edited spline component will be set as well | ||
| void | OnSelectFirstLastSplinePoint
(
bool bFirstPoint |
Select first or last spline point | |
| void | OnSelectPrevNextSplinePoint
(
bool bNextPoint, |
Select next or prev spline point, loops when last point is currently selected | |
| void | |||
| void | OnSetKeyType
(
EInterpCurveMode Mode |
||
| void | |||
| void | OnSnapAllToAxis
(
EAxis::Type InAxis |
||
| void | OnSnapKeyToActor
(
const ESplineComponentSnapMode InSnapMode |
||
| void | OnSnapKeyToNearestSplinePoint
(
ESplineComponentSnapMode InSnapMode |
||
| void | OnSnapSelectedToAxis
(
EAxis::Type InAxis |
||
| void | Alt-drag: duplicates the selected spline key | ||
| void | Reset temporary modes after inputs are handled. | ||
| void | SelectSplinePoint
(
int32 SelectIndex, |
Select spline point at specified index | |
| void | SetCachedRotation
(
const FQuat& NewRotation |
Sets the new cached rotation on the visualizer | |
| void | SetEditedSplineComponent
(
const USplineComponent* InSplineComponent |
Helper function to set edited component we are currently editing | |
| void | SetSnapToActorMode
(
const bool bInIsSnappingToActor, |
Snapping: set snap to actor temporary mode | |
| void | SnapKeysToLastSelectedAxisPosition
(
const EAxis::Type InAxis, |
Snapping: snap keys to axis position of last selected key | |
| void | SnapKeyToActor
(
const AActor* InActor, |
Snapping: snap key to selected actor | |
| void | SnapKeyToTransform
(
const ESplineComponentSnapMode InSnapMode, |
Snapping: generic method for snapping selected keys to given transform | |
| void | SplitSegment
(
const FVector& InWorldPos, |
Split segment using given world position | |
| bool | TransformSelectedKeys
(
EPropertyChangeType::Type InPropertyChangeType, |
Transforms selected tangent by given translate, rotate and scale | |
| bool | TransformSelectedTangent
(
EPropertyChangeType::Type InPropertyChangeType, |
Transforms selected tangent by given translation | |
| void | UpdateAddSegment
(
const FVector& InWorldPos |
Add segment to beginning or end of spline | |
| bool | UpdateDuplicateKeyForAltDrag
(
const FVector& InDrag |
Alt-drag: updates duplicated selected spline key | |
| const USplineComponent * | UpdateSelectedSplineComponent
(
HComponentVisProxy* VisProxy |
Updates the component and selected properties if the component has changed | |
| void | UpdateSplitSegment
(
const FVector& InDrag |
Update split segment based on drag offset |
Overridden from FComponentVisualizer
| Type | Name | Description | |
|---|---|---|---|
| void | DrawVisualization
(
const UActorComponent* Component, |
Draw visualization for the supplied component | |
| void | DrawVisualizationHUD
(
const UActorComponent* Component, |
Draw HUD on viewport for the supplied component | |
| void | EndEditing () |
||
| TSharedPtr< SWidget > | |||
| bool | GetCustomInputCoordinateSystem
(
const FEditorViewportClient* ViewportClient, |
||
| UActorComponent * | Get currently edited component, this is needed to reset the active visualizer after undo/redo | ||
| bool | GetWidgetLocation
(
const FEditorViewportClient* ViewportClient, |
||
| bool | HandleBoxSelect
(
const FBox& InBox, |
Handle box select input | |
| bool | HandleFrustumSelect
(
const FConvexVolume& InFrustum, |
Handle frustum select input | |
| bool | HandleInputDelta
(
FEditorViewportClient* ViewportClient, |
||
| bool | HandleInputKey
(
FEditorViewportClient* ViewportClient, |
||
| bool | HandleModifiedClick
(
FEditorViewportClient* InViewportClient, |
Handle click modified by Alt, Ctrl and/or Shift. The input HitProxy may not be on this component. | |
| bool | HandleSnapTo
(
const bool bInAlign, |
Pass snap input to active visualizer | |
| bool | HasFocusOnSelectionBoundingBox
(
FBox& OutBoundingBox |
Return whether focus on selection should focus on bounding box defined by active visualizer | |
| bool | |||
| void | OnRegister () |
||
| bool | ShouldShowForSelectedSubcomponents
(
const UActorComponent* Component |
Show this visualizer if the component is directly is selected | |
| void | TrackingStopped
(
FEditorViewportClient* InViewportClient, |
Gets called when the mouse tracking has stopped (dragging behavior) | |
| bool | VisProxyHandleClick
(
FEditorViewportClient* InViewportClient, |
Overridden from FGCObject
| Type | Name | Description | |
|---|---|---|---|
| void | AddReferencedObjects
(
FReferenceCollector& Collector |
Pure virtual that must be overloaded by the inheriting class. | |
| FString | Overload this method to report a name for your referencer |
Constants
| Name | Description |
|---|---|
| WeakExistingWindow |