UMeshSculptToolBase

Base Tool for mesh sculpting tools, provides some shared functionality

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

MeshModelingTools

Header

/Engine/Plugins/Experimental/MeshModelingToolset/Source/MeshModelingTools/Public/Sculpting/MeshSculptToolBase.h

Include

#include "Sculpting/MeshSculptToolBase.h"

Syntax

[UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)()
class UMeshSculptToolBase : public UMeshSurfacePointTool

Remarks

Base Tool for mesh sculpting tools, provides some shared functionality

Variables

Name Description

Public variable UProperty

UMaterialInstan...

 

ActiveOverrideMaterial

Protected variable

double

 

ActivePressure

Protected variable UProperty

UBrushStampIndi...

 

BrushIndicator

Protected variable UProperty

UMaterialInstan...

 

BrushIndicatorMaterial

Protected variable UProperty

UPreviewMesh &#...

 

BrushIndicatorMesh

Protected variable

TMap< int32, TU...

 

BrushOpFactories

Protected variable UProperty

TMap< int32, UM...

 

BrushOpPropSets

Brush Types

Public variable UProperty

USculptBrushPro...

 

BrushProperties

Properties that control brush size/etc

Protected variable

FInterval1d

 

BrushRelativeSizeRange

Brush Size

Protected variable

FViewCameraStat...

 

CameraState

Protected variable

double

 

CurrentBrushFalloff

Protected variable

double

 

CurrentBrushRadius

Protected variable

FSculptBrushSta...

 

CurrentStamp

Protected variable

FTransform3d

 

CurTargetTransform

Active transformation on target mesh, includes baked scale

Public variable UProperty

UWorkPlanePrope...

 

GizmoProperties

Properties for 3D workplane / gizmo

Protected variable

FSculptBrushSta...

 

HoverStamp

Protected variable

FTransform3d

 

InitialTargetTransform

Initial transformation on target mesh

Protected variable

FSculptBrushSta...

 

LastStamp

Public variable UProperty

UTransformGizmo...

 

PlaneTransformGizmo

Plane gizmo

Public variable UProperty

UTransformProxy...

 

PlaneTransformProxy

Protected variable

TMap< int32, TU...

 

SecondaryBrushOpFactories

Protected variable UProperty

TMap< int32, UM...

 

SecondaryBrushOpPropSets

Protected variable

UWorld *

 

TargetWorld

Public variable UProperty

UMeshEditingVie...

 

ViewProperties

Display / Material

Functions

Name Description

Protected function

void

 

AlignBrushToView()

Protected function

void

 

ApplyStrokeFlowInTick()

Protected function Virtual

void

 

CalculateBrushRadius()

Protected function Virtual

FFrame3d

 

ComputeStampRegionPlane

(
    const FFrame3d& StampFrame,
    const TSet< int32 >& StampTriangle...,
    bool bIgnoreDepth,
    bool bViewAligned,
    bool bInvDistFalloff
)

Public function Virtual

void

 

DecreaseBrushRadiusAction()

Public function Virtual

void

 

DecreaseBrushRadiusSmallStepAction()

Public function Virtual

void

 

DecreaseBrushSpeedAction()

Protected function Virtual

int32

 

FindHitSculptMeshTriangle

(
    const FRay3d& LocalRay
)

Protected function Virtual

int32

 

FindHitTargetMeshTriangle

(
    const FRay3d& LocalRay
)

Protected function

TUniquePtr< ...

 

GetActiveBrushOp()

Protected function Virtual Const

double

 

GetActivePressure()

Protected function Virtual

FDynamicMesh...

 

GetBaseMesh()

Protected function Virtual Const

const FDynam...

 

GetBaseMesh()

Protected function Const

bool

 

GetBrushCanHitBackFaces()

Protected function Const

const FFrame...

 

GetBrushFrameLocal()

Protected function Const

const FFrame...

 

GetBrushFrameWorld()

Protected function Virtual

double

 

GetCurrentBrushDepth()

Protected function Virtual Const

double

 

GetCurrentBrushFalloff()

Protected function Virtual Const

double

 

GetCurrentBrushRadius()

Protected function Virtual

double

 

GetCurrentBrushStrength()

Protected function Virtual Const

const FFrame...

 

GetCurrentStrokeReferencePlane()

Protected function Const

bool

 

GetInInvertStroke()

Protected function Const

bool

 

GetInSmoothingStroke()

Protected function Const

FRay3d

 

GetLocalRay

(
    const FRay& WorldRay
)

Protected function Const

const FRay &

 

GetPendingStampRayWorld()

Protected function Virtual

FDynamicMesh...

 

GetSculptMesh()

Protected function Virtual Const

const FDynam...

 

GetSculptMesh()

Protected function Virtual

UBaseDynamic...

 

GetSculptMeshComponent()

Subclass must implement this and return relevant rendering component

Public function Virtual

void

 

IncreaseBrushRadiusAction()

Public function Virtual

void

 

IncreaseBrushRadiusSmallStepAction()

Public function Virtual

void

 

IncreaseBrushSpeedAction()

Client currently needs to implement these...

Protected function Virtual

void

 

InitializeBrushSizeRange

(
    const FAxisAlignedBox3d& TargetBou...
)

Protected function Virtual

void

 

InitializeIndicator()

Subclasses should call this to create indicator in their Setup()

Protected function

void

 

InitializeSculptMeshComponent

(
    UBaseDynamicMeshComponent* Com...
)

Subclass calls this to set up editing component

Protected function Const

bool

 

InStroke()

Protected function Const

bool

 

IsStampPending()

Protected function

UPreviewMesh...

 

MakeDefaultIndicatorSphereMesh

(
    UObject* Parent,
    UWorld* World,
    int Resolution
)

Creates default sphere indicator

Public function Virtual

void

 

NextBrushModeAction()

Protected function Virtual

void

 

OnBeginStroke

(
    const FRay& WorldRay
)

Protected function Virtual

void

 

OnCompleteSetup()

Protected function Virtual

void

 

OnEndStroke()

Public function Virtual

void

 

PreviousBrushModeAction()

Protected function

void

 

RegisterBrushType

(
    int32 Identifier,
    TUniquePtr< FMeshSculptBrushOpFacto...,
    UMeshSculptBrushOpProps* PropS...
)

Protected function

void

 

RegisterSecondaryBrushType

(
    int32 Identifier,
    TUniquePtr< FMeshSculptBrushOpFacto...,
    UMeshSculptBrushOpProps* PropS...
)

Protected function Virtual

void

 

RestoreAllBrushTypeProperties

(
    UInteractiveTool* RestoreToToo...
)

Protected function

void

 

SaveActiveStrokeModifiers()

Protected function Virtual

void

 

SaveAllBrushTypeProperties

(
    UInteractiveTool* SaveFromTool
)

Protected function

void

 

SetActivePrimaryBrushType

(
    int32 Identifier
)

Protected function

void

 

SetActiveSecondaryBrushType

(
    int32 Identifier
)

Protected function

void

 

SetPrimaryFalloffType

(
    EMeshSculptFalloffType Falloff
)

Public function Virtual

void

 

SetWorld

(
    UWorld* World
)

Protected function Virtual Const

bool

 

ShowWorkPlane()

Protected function

void

 

UpdateBrushFrameWorld

(
    const FVector3d& NewPosition,
    const FVector3d& NewNormal
)

Protected function Virtual

bool

 

UpdateBrushPositionOnActivePlane

(
    const FRay& WorldRay
)

Protected function Virtual

bool

 

UpdateBrushPositionOnSculptMesh

(
    const FRay& WorldRay,
    bool bFallbackToViewPlane
)

Protected function Virtual

bool

 

UpdateBrushPositionOnTargetMesh

(
    const FRay& WorldRay,
    bool bFallbackToViewPlane
)

Protected function

void

 

UpdateBrushTargetPlaneFromHit

(
    const FRay& WorldRay,
    const FHitResult& Hit
)

Protected function Virtual

void

 

UpdateColorSetting

(
    FLinearColor NewColor
)

Protected function Virtual

void

 

UpdateFlatShadingSetting

(
    bool bNewValue
)

Protected function

void

 

UpdateHoverStamp

(
    const FFrame3d& StampFrame
)

Protected function Virtual

void

 

UpdateImageSetting

(
    UTexture2D* NewImage
)

Protected function Virtual

void

 

UpdateMaterialMode

(
    EMeshEditingMaterialModes NewMode
)

Protected function Virtual

void

 

UpdateStrokeReferencePlaneForROI

(
    const FFrame3d& StampFrame,
    const TSet< int32 >& TriangleROI,
    bool bViewAligned
)

Protected function Virtual

void

 

UpdateStrokeReferencePlaneFromWorkPlane()

Protected function Virtual

void

 

UpdateWireframeVisibility

(
    bool bNewValue
)

Protected function Virtual

void

 

UpdateWorkPlane()

Overridden from UMeshSurfacePointTool

Name Description

Public function Virtual

bool

 

HitTest

(
    const FRay& Ray,
    FHitResult& OutHit
)

UMeshSurfacePointTool API.

Public function Virtual

void

 

OnBeginDrag

(
    const FRay& Ray
)

This function is called when the user begins a click-drag-release interaction

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

Protected 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

Public function Virtual

void

 

Shutdown

(
    EToolShutdownType ShutdownType
)

Called by ToolManager to shut down the Tool

Enums

Name

Description

Private enum

EPendingWorkPlaneUpdate

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss