UEditMeshPolygonsTool

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

MeshModelingTools

Header

/Engine/Plugins/Runtime/MeshModelingToolset/Source/MeshModelingTools/Public/EditMeshPolygonsTool.h

Include

#include "EditMeshPolygonsTool.h"

Syntax

UCLASS()
class UEditMeshPolygonsTool :
    public USingleSelectionMeshEditingTool,
    public IToolActivityHost,
    public IMeshVertexCommandChangeTarget,
    public IInteractiveToolNestedAcceptCancelAPI

Variables

Name Description

Protected variable UProperty

TObjectPtr< UEd...

 

AcceptCancelAction

Protected variable

TArray< FSelect...

 

ActiveEdgeSelection

Protected variable

UE::Geometry::F...

 

ActiveSelectionBounds

Protected variable

FFrame3d

 

ActiveSelectionFrameLocal

Protected variable

FFrame3d

 

ActiveSelectionFrameWorld

Protected variable

TArray< int32 >

 

ActiveTriangleSelection

Protected variable

FMeshVertexChan...

 

ActiveVertexChange

Protected variable UProperty

TObjectPtr< UPo...

 

ActivityContext

Protected variable

int32

 

ActivityTimestamp

Protected variable UProperty

TObjectPtr< UPo...

 

BevelEdgeActivity

Protected variable

bool

 

bGizmoUpdatePending

Protected variable

bool

 

bInGizmoDrag

Protected variable

bool

 

bLastUpdateUsedWorldFrame

Protected variable

bool

 

bSelectionStateDirty

Protected variable

bool

 

bSpatialDirty

Protected variable

bool

 

bTriangleMode

If bTriangleMode = true, then we use a per-triangle FTriangleGroupTopology instead of polygroup topology.

Protected variable

bool

 

bWasTopologyEdited

Protected variable UProperty

TObjectPtr< UEd...

 

CancelAction

Protected variable UProperty

TObjectPtr< UPo...

 

CommonProps

Protected variable

TObjectPtr< UIn...

 

CurrentActivity

Points to one of the activities when it is active

Protected variable

TSharedPtr< UE:...

 

CurrentMesh

Protected variable

EPreviewMateria...

 

CurrentPreviewMaterial

Protected variable UProperty

TObjectPtr< UPo...

 

CutFacesActivity

Protected variable

FText

 

DefaultMessage

Protected variable UProperty

TObjectPtr< UDr...

 

DragAlignmentMechanic

Protected variable UProperty

TObjectPtr< UEd...

 

EditActions

Protected variable UProperty

TObjectPtr< UEd...

 

EditActions_Triangles

Protected variable UProperty

TObjectPtr< UEd...

 

EditEdgeActions

Protected variable UProperty

TObjectPtr< UEd...

 

EditEdgeActions_Triangles

Protected variable UProperty

TObjectPtr< UEd...

 

EditUVActions

Protected variable UProperty

TObjectPtr< UPo...

 

ExtrudeActivity

Activity objects that handle multi-interaction operations

Protected variable

FFrame3d

 

InitialGizmoFrame

Protected variable

FVector3d

 

InitialGizmoScale

Protected variable UProperty

TObjectPtr< UPo...

 

InsertEdgeActivity

Protected variable UProperty

TObjectPtr< UPo...

 

InsertEdgeLoopActivity

Protected variable UProperty

TObjectPtr< UPo...

 

InsetOutsetActivity

Protected variable

FFrame3d

 

LastGeometryFrame

Protected variable

FFrame3d

 

LastTransformerFrame

Protected variable

FFrame3d

 

LastUpdateGizmoFrame

Protected variable

FVector3d

 

LastUpdateGizmoScale

Protected variable

UE::Geometry::F...

 

LinearDeformer

Data for current drag

Protected variable

FFrame3d

 

LockedTransfomerFrame

Protected variable

TSharedPtr< UE:...

 

MeshSpatial

Protected variable

int32

 

ModifiedTopologyCounter

Protected variable

EEditMeshPolygo...

 

PendingAction

Protected variable UProperty

TObjectPtr< UPo...

 

PlanarProjectionUVActivity

Protected variable

TUniqueFunction...

 

PostSetupFunction

Protected variable UProperty

TObjectPtr< UMe...

 

Preview

Protected variable UProperty

TObjectPtr< UPo...

 

SelectionMechanic

Protected variable

TObjectPtr< UWo...

 

TargetWorld

Protected variable

TSharedPtr< UE:...

 

Topology

Protected variable UProperty

TObjectPtr< UCo...

 

TransformGizmo

Protected variable UProperty

TObjectPtr< UTr...

 

TransformProxy

Protected variable

float

 

UVScaleFactor

UV Scale factor to apply to texturing on any new geometry (e.g. new faces added by extrude)

Protected variable

UE::Geometry::F...

 

WorldTransform

Constructors

Name Description

Public function

UEditMeshPolygonsTool()

Functions

Name Description

Protected function

void

 

ApplyCollapseEdge()

Protected function

void

 

ApplyCollapseSingleEdge()

Protected function

void

 

ApplyDecompose()

Protected function

void

 

ApplyDelete()

Protected function

void

 

ApplyDisconnect()

Protected function

void

 

ApplyDuplicate()

Protected function

void

 

ApplyFillHole()

Protected function

void

 

ApplyFlipNormals()

Protected function

void

 

ApplyFlipSingleEdge()

Protected function

void

 

ApplyMerge()

Protected function

void

 

ApplyPokeSingleFace()

Protected function

void

 

ApplyRecalcNormals()

Protected function

void

 

ApplyRetriangulate()

Protected function

void

 

ApplySplitSingleEdge()

Protected function

void

 

ApplyStraightenEdges()

Protected function

void

 

ApplyWeldEdges()

Protected function

void

 

BeginDeformerChange()

Protected function

bool

 

BeginMeshBoundaryEdgeEditChange

(
    bool bOnlySimple
)

Protected function

bool

 

BeginMeshEdgeEditChange()

Protected function

bool

 

BeginMeshEdgeEditChange

(
    TFunctionRef< bool)> GroupEdg...
)

Protected function

bool

 

BeginMeshFaceEditChange()

Protected function

void

 

ComputeUpdate_Gizmo()

Protected function

void

 

EmitActivityStart

(
    const FText& TransactionLabel
)

Emit an undoable start of an activity.

Protected function

void

 

EmitCurrentMeshChangeAndUpdate

(
    const FText& TransactionLabel,
    TUniquePtr< UE::Geometry::FDynamicM...,
    const UE::Geometry::FGroupTopologyS...
)

Emit an undoable change to CurrentMesh and update related structures (preview, spatial, etc)

Public function

void

 

EnableTriangleMode()

Protected function

void

 

EndCurrentActivity

(
    EToolShutdownType ShutdownType
)

Protected function

void

 

EndDeformerChange()

Protected function

UE::Geometry...

 

GetSpatial()

Protected function

bool

 

IsToolInputSelectionUsable

(
    const UPersistentMeshSelection*...
)

Protected function

void

 

OnBeginGizmoTransform

(
    UTransformProxy* Proxy
)

Protected function

void

 

OnEndGizmoTransform

(
    UTransformProxy* Proxy
)

Protected function

void

 

OnGizmoTransformChanged

(
    UTransformProxy* Proxy,
    FTransform Transform
)

Protected function

void

 

OnSelectionModifiedEvent()

Public function Virtual

void

 

RequestAction

(
    EEditMeshPolygonsToolActions Action...
)

Protected function

void

 

SetActionButtonPanelsVisible

(
    bool bVisible
)

Public function

void

 

SetActionButtonsVisibility

(
    bool bVisible
)

Protected function

void

 

SetToSelectionModeInterface()

Protected function

void

 

SimplifyByGroups()

Protected function

void

 

StartActivity

Protected function

void

 

UpdateDeformerChangeFromROI

(
    bool bFinal
)

Protected function

void

 

UpdateDeformerFromSelection

(
    const UE::Geometry::FGroupTopologyS...
)

Protected function

void

 

UpdateEditPreviewMaterials

(
    EPreviewMaterialType MaterialType
)

Protected function

void

 

UpdateFromCurrentMesh

(
    bool bGroupTopologyModified
)

Protected function

void

 

UpdateGizmoFrame

(
    const FFrame3d* UseFrame
)

Protected function

void

 

UpdateGizmoVisibility()

Overridden from USingleSelectionMeshEditingTool

Name Description

Public function Virtual

void

 

SetWorld

(
    UWorld* World
)

Overridden from UInteractiveTool

Name Description

Public function Virtual

void

 

DrawHUD

(
    FCanvas* Canvas,
    IToolsContextRenderAPI* Render...
)

Allow the Tool to do any custom screen space drawing

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()

Called by ToolManager to initialize the Tool after ToolBuilder::BuildTool() has been called

Public function Virtual

void

 

Shutdown

(
    EToolShutdownType ShutdownType
)

Called by ToolManager to shut down the Tool

Overridden from IInteractiveToolCameraFocusAPI

Name Description

Public function Virtual

FBox

 

GetWorldSpaceFocusBox()

IInteractiveToolCameraFocusAPI implementation.

Public function Virtual

bool

 

GetWorldSpaceFocusPoint

(
    const FRay& WorldRay,
    FVector& PointOut
)

Overridden from IToolActivityHost

Overridden from IMeshVertexCommandChangeTarget

Name Description

Public function Virtual

void

 

ApplyChange

(
    const FMeshVertexChange* Chang...,
    bool bRevert
)

IMeshVertexCommandChangeTarget.

Overridden from IInteractiveToolNestedAcceptCancelAPI

Name Description

Public function Virtual

bool

 

CanCurrentlyNestedAccept()

Public function Virtual

bool

 

CanCurrentlyNestedCancel()

Public function Virtual

bool

 

ExecuteNestedAcceptCommand()

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

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

 

SupportsNestedAcceptCommand()

Public function Virtual

bool

 

SupportsNestedCancelCommand()

IInteractiveToolNestedAcceptCancelAPI.

Classes

Name

Description

Protected struct

FSelectedEdge

Enums

Name

Description

Protected enum

EPreviewMaterialType

Typedefs

Name

Description

FFrame3d