Navigation
API > API/Plugins > API/Plugins/UVEditorTools > API/Plugins/UVEditorTools/Selection
Inheritance Hierarchy
- UObject
- UInteractionMechanic
- UUVEditorMeshSelectionMechanic
References
| Module | UVEditorTools |
| Header | /Engine/Plugins/Editor/UVEditor/Source/UVEditorTools/Public/Selection/UVEditorMeshSelectionMechanic.h |
| Include | #include "Selection/UVEditorMeshSelectionMechanic.h" |
Syntax
UCLASS ()
class UUVEditorMeshSelectionMechanic : public UInteractionMechanic
Remarks
Mechanic for selecting elements of a dynamic mesh in the UV editor. Interacts heavily with UUVToolSelectionAPI, which actually stores selections.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< TSharedPtr< FDynamicMeshAABBTree3 > > | AppliedMeshSpatials | ||
| TArray< const FUVToolSelection * > | AssetIDToPreDragSelection | Maps asset id to a pre drag selection so that it is easy to tell which assets started with a selection. | |
| TArray< const FUVToolSelection * > | AssetIDToPreDragUnsetSelection | ||
| bool | bCtrlToggle | ||
| bool | bIsEnabled | ||
| bool | bShiftToggle | ||
| bool | bShowHoveredElements | ||
| FViewCameraState | CameraState | ||
| TObjectPtr< UUVToolEmitChangeAPI > | EmitChangeAPI | ||
| TObjectPtr< APreviewGeometryActor > | HoverGeometryActor | ||
| TWeakObjectPtr< ULineSetComponent > | HoverLineSet | ||
| TWeakObjectPtr< UPointSetComponent > | HoverPointSet | ||
| TWeakObjectPtr< UTriangleSetComponent > | HoverTriangleSet | Weak pointers so that they go away when geometry actor is destroyed. | |
| TObjectPtr< UMaterialInstanceDynamic > | HoverTriangleSetMaterial | ||
| TObjectPtr< UUVToolLivePreviewAPI > | LivePreviewAPI | ||
| TObjectPtr< UInputBehaviorSet > | LivePreviewBehaviorSet | ||
| TObjectPtr< ULocalInputBehaviorSource > | LivePreviewBehaviorSource | ||
| TObjectPtr< ULocalSingleClickInputBehavior > | LivePreviewClickTargetRouter | ||
| TObjectPtr< ULocalMouseHoverBehavior > | LivePreviewHoverBehaviorTargetRouter | ||
| TObjectPtr< APreviewGeometryActor > | LivePreviewHoverGeometryActor | ||
| TWeakObjectPtr< ULineSetComponent > | LivePreviewHoverLineSet | ||
| TWeakObjectPtr< UPointSetComponent > | LivePreviewHoverPointSet | ||
| TWeakObjectPtr< UTriangleSetComponent > | LivePreviewHoverTriangleSet | Weak pointers so that they go away when geometry actor is destroyed. | |
| TWeakObjectPtr< UInputRouter > | LivePreviewInputRouter | ||
| TObjectPtr< URectangleMarqueeMechanic > | LivePreviewMarqueeMechanic | ||
| TObjectPtr< URectangleMarqueeMechanic > | MarqueeMechanic | ||
| FSimpleMulticastDelegate | OnDragSelectionChanged | Broadcasted whenever the marquee mechanic rectangle is changed, since these changes don't trigger normal selection broadcasts. | |
| TArray< FUVToolSelection > | PreDragSelections | ||
| TArray< FUVToolSelection > | PreDragUnsetSelections | ||
| TObjectPtr< UUVToolSelectionAPI > | SelectionAPI | ||
| ESelectionMode | SelectionMode | ||
| TArray< TObjectPtr< UUVEditorToolMeshInput > > | Targets | ||
| TObjectPtr< ULocalSingleClickInputBehavior > | UnwrapClickTargetRouter | ||
| TObjectPtr< ULocalMouseHoverBehavior > | UnwrapHoverBehaviorTargetRouter | ||
| TArray< TSharedPtr< FDynamicMeshAABBTree3 > > | UnwrapMeshSpatials | ||
| TObjectPtr< UUVToolViewportButtonsAPI > | ViewportButtonsAPI |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| FInputRayHit | BeginHoverSequenceHitTest
(
const FInputDeviceRay& PressPos, |
IHoverBehaviorTarget implementation. | |
| void | DrawHUD
(
FCanvas* Canvas, |
||
| TArray< FUVToolSelection > | GetAllCanonicalTrianglesInUnwrapRadius
(
const FVector2d& UnwrapWorldHitPoint, |
||
| bool | GetHitTid
(
const FInputDeviceRay& ClickPos, |
||
| TSharedPtr< FDynamicMeshAABBTree3 > | GetMeshSpatial
(
int32 TargetId, |
Should be the same as the mode-level targets array, indexed by AssetID. | |
| void | Initialize
(
UWorld* World, |
Initialization functions. | |
| bool | IsEnabled () |
||
| FInputRayHit | IsHitByClick
(
const FInputDeviceRay& ClickPos, |
IClickBehaviorTarget implementation. | |
| void | LivePreviewDrawHUD
(
FCanvas* Canvas, |
||
| void | LivePreviewRender
(
IToolsContextRenderAPI* RenderAPI |
||
| void | ModifyExistingSelection
(
TSet< int32 >& SelectionSetToModify, |
||
| void | OnBeginHover
(
const FInputDeviceRay& DevicePos |
||
| void | OnClicked
(
const FInputDeviceRay& ClickPos, |
||
| void | OnDragRectangleChanged
(
const FCameraRectangle& CurrentRectangle, |
||
| void | OnDragRectangleFinished
(
const FCameraRectangle& Rectangle, |
||
| void | For marquee mechanic. | ||
| void | OnEndHover () |
||
| bool | OnUpdateHover
(
const FInputDeviceRay& DevicePos, |
||
| void | OnUpdateModifierState
(
int ModifierID, |
IModifierToggleBehaviorTarget implementation. | |
| bool | RaycastCanonicals
(
const FRay& WorldRay, |
This is a helper method that doesn't get used in normal selection mechanic operation, but can be used by clients if they need to raycast canonical meshes, since the mechanic already keeps aabb trees for them. | |
| void | SetIsEnabled
(
bool bIsEnabled |
||
| void | SetSelectionMode
(
ESelectionMode TargetMode, |
Sets selection mode for the mechanic. | |
| void | SetShowHoveredElements
(
bool bShow |
||
| void | SetTargets
(
const TArray< TObjectPtr< UUVEditorToolMeshInput > >& TargetsIn |
||
| bool | All four combinations of shift/ctrl down are assigned a behaviour. | ||
| bool | |||
| bool | |||
| bool |
Overridden from UInteractionMechanic
| Type | Name | Description | |
|---|---|---|---|
| void | Render
(
IToolsContextRenderAPI* RenderAPI |
Allow the Mechanic to do any custom drawing (ie via PDI/RHI) | |
| void | Setup
(
UInteractiveTool* ParentTool |
Called to initialize the InteractionMechanic | |
| void | Shutdown () |
Called to clean up the InteractionMechanic |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FRaycastResult |
Typedefs
| Name | Description |
|---|---|
| ESelectionMode | |
| FDynamicMeshAABBTree3 | |
| FModeChangeOptions | |
| FUVToolSelection |
Constants
| Name | Description |
|---|---|
| CtrlModifierID | |
| ShiftModifierID |