UPolyEditInsertEdgeLoopActivity

Interactive activity for inserting (group) edge loops into a mesh.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

MeshModelingTools

Header

/Engine/Plugins/Runtime/MeshModelingToolset/Source/MeshModelingTools/Public/ToolActivities/PolyEditInsertEdgeLoopActivity.h

Include

#include "ToolActivities/PolyEditInsertEdgeLoopActivity.h"

Syntax

UCLASS()
class UPolyEditInsertEdgeLoopActivity :
    public UInteractiveToolActivity,
    public UE::Geometry::IDynamicMeshOperatorFactory,
    public IHoverBehaviorTarget,
    public IClickBehaviorTarget

Remarks

Interactive activity for inserting (group) edge loops into a mesh.

Variables

Name Description

Protected variable UProperty

TObjectPtr< UPo...

 

ActivityContext

Protected variable

bool

 

bIsRunning

Protected variable

bool

 

bLastComputeSucceeded

Copied over on op completion.

Protected variable

bool

 

bWaitingForInsertionCompletion

On valid clicks, we wait to finish the background op and apply it before taking more input.

Protected variable

FViewCameraStat...

 

CameraState

Protected variable

TSharedPtr< con...

 

ComputeStartMesh

Safe inputs for the background compute to use, untouched by undo/redo/other CurrentMesh updates.

Protected variable

TSharedPtr< con...

 

ComputeStartTopology

Protected variable

int32

 

InputGroupEdgeID

Taken from user interaction, read as inputs by the op factory.

Protected variable

double

 

InteractiveInputLength

Protected variable

TSharedPtr< TSe...

 

LatestOpChangedTids

Protected variable

TSharedPtr< FGr...

 

LatestOpTopologyResult

Protected variable

FToolDataVisual...

 

PreviewEdgeRenderer

Protected variable

TArray< TPair< ...

 

PreviewEdges

Protected variable

TArray< TPair< ...

 

ProblemTopologyEdges

Used to highlight problematic topology (non-quad groups) when it stops a loop.

Protected variable

FToolDataVisual...

 

ProblemTopologyRenderer

Protected variable

TArray< FVector...

 

ProblemTopologyVerts

Protected variable

float

 

ProblemVertTickWidth

Protected variable UProperty

TObjectPtr< UEd...

 

Settings

Protected variable

FTransform

 

TargetTransform

Protected variable

TSharedPtr< FGr...

 

TopologySelector

Protected variable

FGroupTopologyS...

 

TopologySelectorSettings

Constructors

Functions

Name Description

Protected function

void

 

ClearPreview()

Protected function

void

 

ConditionallyUpdatePreview

(
    int32 NewGroupID,
    double* NewInputLength
)

Update the preview unless we've already computed one with the same parameters (such as when using "even" or non-interactive parameter setting)

Protected function

FInputRayHit

 

HitTest

(
    const FRay& WorldRay
)

Public function Virtual

void

 

OnPropertyModified

(
    UObject* PropertySet,
    FProperty* Property
)

Protected function

void

 

SetupPreview()

Protected function

void

 

UpdateComputeInputs()

Protected function

bool

 

UpdateHoveredItem

(
    const FRay& WorldRay
)

Overridden from UInteractiveToolActivity

Name Description

Public function Virtual Const

bool

 

CanAccept()

If true, calling End with EToolShutdownType::Accept will result in a valid completion of the activity.

Public function Virtual Const

bool

 

CanStart()

Check whether a Start() call will result in a success.

Public function Virtual

EToolActivit...

 

End

(
    EToolShutdownType
)

Force an end to the activity.

Public function Virtual Const

bool

 

IsRunning()

Check whether the activity is running (though the tool can just check the result of Start() itself).

Public function Virtual

void

 

Shutdown

(
    EToolShutdownType ShutdownType
)

Should be called during a tool's Shutdown()Should be called during a tool's Shutdown()

Public function Virtual

EToolActivit...

 

Start()

Attempt to start the activity.

Overridden from UInteractionMechanic

Name Description

Public function Virtual

void

 

Render

(
    IToolsContextRenderAPI* Render...
)

If the activity is running, should be called from the tool's Render()

Public function Virtual

void

 

Setup

(
    UInteractiveTool* ParentTool
)

IInteractiveToolActivity.

Public function Virtual

void

 

Tick

(
    float DeltaTime
)

If the activity is running, should be called from the tool's OnTick()

Overridden from IDynamicMeshOperatorFactory

Name Description

Public function Virtual

TUniquePtr< ...

 

MakeNewOperator()

IDynamicMeshOperatorFactory.

Overridden from IHoverBehaviorTarget

Name Description

Public function Virtual

FInputRayHit

 

BeginHoverSequenceHitTest

(
    const FInputDeviceRay& PressPos
)

IHoverBehaviorTarget.

Public function Virtual

void

 

OnBeginHover

(
    const FInputDeviceRay& DevicePos
)

Initialize hover sequence at given position

Public function Virtual

void

 

OnEndHover()

Terminate active hover sequence

Public function Virtual

bool

 

OnUpdateHover

(
    const FInputDeviceRay& DevicePos
)

Update active hover sequence with new input position

Overridden from IClickBehaviorTarget

Name Description

Public function Virtual

FInputRayHit

 

IsHitByClick

(
    const FInputDeviceRay& ClickPos
)

IClickBehaviorTarget.

Public function Virtual

void

 

OnClicked

(
    const FInputDeviceRay& ClickPos
)

Notify Target that click ocurred