UMeshSelectionTool

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

MeshModelingToolsExp

Header

/Engine/Plugins/Experimental/MeshModelingToolsetExp/Source/MeshModelingToolsExp/Public/MeshSelectionTool.h

Include

#include "MeshSelectionTool.h"

Syntax

UCLASS()
class UMeshSelectionTool :
    public UDynamicMeshBrushTool,
    public IInteractiveToolNestedAcceptCancelAPI

Variables

Name Description

Protected variable

TSharedPtr< UE:...

 

ActiveGroupSet

Protected variable

FMeshSelectionC...

 

ActiveSelectionChange

Selection change

Protected variable

bool

 

bColorsUpdatePending

Protected variable

bool

 

bFullMeshInvalidationPending

Protected variable

bool

 

bHaveModifiedMesh

If true, mesh has been edited

Protected variable

bool

 

bHavePendingAction

Protected variable

bool

 

bInRemoveStroke

Protected variable

bool

 

bOctreeValid

Protected variable

bool

 

bStampPending

Public variable UProperty

TObjectPtr< UMe...

 

EditActions

Protected variable

TArray< int >

 

IndexBuf

Temp

Protected variable

FBrushStampData

 

LastStamp

Public variable UProperty

TObjectPtr< UMe...

 

MeshElementsDisplay

Public variable UProperty

TObjectPtr< UMe...

 

MeshStatisticsProperties

Protected variable

TUniquePtr< UE:...

 

Octree

Protected variable

EMeshSelectionT...

 

PendingAction

Public variable UProperty

TObjectPtr< UPo...

 

PolygroupLayerProperties

Protected variable

TArray< int >

 

PreviewBrushROI

Protected variable

TBitArray

 

SelectedTriangles

Protected variable

TBitArray

 

SelectedVertices

Protected variable UProperty

TObjectPtr< UMe...

 

Selection

Public variable UProperty

TObjectPtr< UMe...

 

SelectionActions

Public variable UProperty

TObjectPtr< UMe...

 

SelectionProps

Protected variable

EMeshSelectionE...

 

SelectionType

Protected variable UProperty

TArray< TObject...

 

SpawnedActors

Protected variable

FBrushStampData

 

StartStamp

Protected variable

UWorld *

 

TargetWorld

Protected variable

TArray< int32 >

 

TemporaryBuffer

Protected variable

TSet< int32 >

 

TemporarySet

Protected variable

TArray< int >

 

TriangleToUVIsland

Public variable UProperty

TObjectPtr< UMe...

 

UVChannelProperties

Constructors

Name Description

Public function

UMeshSelectionTool()

Functions

Name Description

Protected function Virtual

void

 

AddSubclassPropertySets()

Protected function Virtual

void

 

ApplyAction

(
    EMeshSelectionToolActions ActionTyp...
)

Protected function Virtual

void

 

ApplyShutdownAction

(
    EToolShutdownType ShutdownType
)

Protected function Virtual

void

 

ApplyStamp

(
    const FBrushStampData& Stamp
)

Protected function

void

 

AssignNewGroupToSelectedTriangles()

Protected function

void

 

BeginChange

(
    bool bAdding
)

Protected function

void

 

CacheUVIslandIDs()

Protected function

void

 

CalculateTriangleROI

(
    const FBrushStampData& Stamp,
    TArray< int >& TriangleROI
)

Protected function

void

 

CalculateVertexROI

(
    const FBrushStampData& Stamp,
    TArray< int >& VertexROI
)

Protected function

void

 

CancelChange()

Protected function

void

 

ClearSelection()

Protected function Virtual

UMeshSelecti...

 

CreateEditActions()

Protected function

void

 

DeleteSelectedTriangles()

Protected function

void

 

DisconnectSelectedTriangles()

Protected function

TUniquePtr< ...

 

EndChange()

Protected function

void

 

ExpandToConnected()

Protected function

void

 

FlipSelectedTriangles()

Protected function

FColor

 

GetCurrentFaceColor

(
    const FDynamicMesh3* Mesh,
    int TriangleID
)

Protected function

TUniquePtr< ...

 

GetOctree()

Protected function

void

 

GrowShrinkSelection

(
    bool bGrow
)

Protected function

void

 

InvertSelection()

Protected function

void

 

OnExternalSelectionChange()

Protected function

void

 

OnRegionHighlightUpdated()

Protected function

void

 

OnRegionHighlightUpdated

(
    const TArray< int32 >& Triangles
)

Protected function

void

 

OnRegionHighlightUpdated

(
    const TSet< int32 >& Triangles
)

Protected function

void

 

OnSelectedGroupLayerChanged()

Protected function

void

 

OptimizeSelection()

Public function Virtual

void

 

RequestAction

(
    EMeshSelectionToolActions ActionTyp...
)

Protected function

void

 

SelectAll()

Protected function

void

 

SelectLargestComponent

(
    bool bWeightByArea
)

Protected function

void

 

SeparateSelectedTriangles

(
    bool bDeleteSelected
)

Public function Virtual

void

 

SetWorld

(
    UWorld* World
)

Protected function

void

 

UpdateActiveGroupLayer()

Protected function

void

 

UpdateFaceSelection

(
    const FBrushStampData& Stamp,
    const TArray< int >& BrushROI
)

Protected function

void

 

UpdateVisualization

(
    bool bSelectionModified
)

Overridden from UDynamicMeshBrushTool

Name Description

Protected function Virtual

void

 

OnShutdown

(
    EToolShutdownType ShutdownType
)

Subclasses can override these to customize behavior

Overridden from UMeshSurfacePointTool

Name Description

Public function Virtual

bool

 

HitTest

(
    const FRay& Ray,
    FHitResult& OutHit
)

Public function Virtual

void

 

OnBeginDrag

(
    const FRay& Ray
)

UMeshSurfacePointTool implementation

Public function Virtual

void

 

OnEndDrag

(
    const FRay& Ray
)

This function is called when the user releases the button driving a click-drag-release interaction

Public function Virtual

void

 

OnUpdateDrag

(
    const FRay& Ray
)

This function is called each frame that the user is in a click-drag-release interaction

Overridden from UInteractiveTool

Name Description

Public function Virtual Const

bool

 

CanAccept()

Public function Virtual Const

bool

 

HasAccept()

Public function Virtual Const

bool

 

HasCancel()

Public function Virtual

void

 

OnTick

(
    float DeltaTime
)

Action support/system

Public function Virtual

void

 

RegisterActions

(
    FInteractiveToolActionSet& ActionS...
)

Override this function to register the set of Actions this Tool supports, using FInteractiveToolActionSet::RegisterAction.

Public function Virtual

void

 

Render

(
    IToolsContextRenderAPI* Render...
)

Allow the Tool to do any custom drawing (ie via PDI/RHI)

Public function Virtual

void

 

Setup()

Register InputBehaviors, etc

Overridden from IInteractiveToolCameraFocusAPI

Name Description

Public function Virtual

FBox

 

GetWorldSpaceFocusBox()

IInteractiveToolCameraFocusAPI implementation.

Overridden from IHoverBehaviorTarget

Name Description

Public function Virtual

bool

 

OnUpdateHover

(
    const FInputDeviceRay& DevicePos
)

Update active hover sequence with new input position

Overridden from IInteractiveToolNestedAcceptCancelAPI

Name Description

Public function Virtual

bool

 

CanCurrentlyNestedCancel()

Public function Virtual

bool

 

ExecuteNestedCancelCommand()

Called by Editor levels to tell the implementor (eg Tool) to execute a nested Cancel action

Public function Virtual

bool

 

SupportsNestedCancelCommand()

IInteractiveToolCancelAPI.