description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


module: MeshModelingToolsExp

code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


code: void UpdateFromGroupLayer()


description: Update parameters in ConvertToPolygonsOp based on current Settings

code: void UpdateOpParameters ( FConvertToPolygonsOp & ConvertToPolygonsOp ) const


code: UConvertToPolygonsTool()


code: void UpdateVisualization()


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a single mesh source can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [USingleTargetWithSelectionTool](API\Plugins\ModelingComponents\BaseTools\USingleTargetWithSelectionTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UConvertToPolygonsTool

ActiveFromGroupSet

description: Current input group set used in CopyFromLayer mode, relative to ComputeOperatorSharedMesh

bUsingSelection

type: bool

description: If there is an active selection, bUsingSelection will be true and the ROI and Submesh will be initialized.

ComputeOperatorSharedMesh

description: The mesh passed to the Compute operator to base result on, will either be OriginalDynamicMesh or the submesh from OriginalSubmesh if using a selection.

CopyFromLayerProperties

type: TObjectPtr<UPo...

OriginalDynamicMesh

description: Copy of the input mesh (possibly does not need to be SharedPtr anymore now that FSharedConstDynamicMesh3 is used below, but then needs PimplPtr...)

OutputProperties

type: TObjectPtr<UOu...

PolygonEdges

type: TArray< int >

description: Current set of detected polygroup edges, relative to ComputeOperatorSharedMesh

PreviewCompute

type: TObjectPtr<UMe...

PreviewGeometry

type: TObjectPtr<UPr...

SelectionTriangleROI

type: TSharedPtr<TSe...

Settings

type: TObjectPtr<UCo...

UnmodifiedAreaPreviewMesh

description: If a selection was provided (bUsingSelection = true), UnmodifiedAreaPreviewMesh is used to render the unmodified (non-selected) part of the input mesh, as the PreviewCompute input mesh will be limited to the input selected area


className: UConvertToPolygonsToolBuilder


description: true if this Tool requires an input selection

code: virtual bool RequiresInputSelection() const


className: UConvertToPolygonsToolProperties

AngleTolerance

type: float

description: Tolerance for planarity

bCalculateNormals

description: If true, normals are recomputed per-group, with hard edges at group boundaries

bNormalWeighted

description: If true, region-growing in Sampling modes will be controlled by face normals, resulting in regions with borders that are more-aligned with curvature ridges

bRespectHardNormals

description: If true, polygroup borders will not cross existing hard normal seams

bRespectUVSeams

description: If true, polygroup borders will not cross existing UV seams

bShowGroupColors

description: Display each group with a different auto-generated color

bSplitExisting

description: If enabled, then furthest-point sampling happens with respect to existing Polygroups, ie the existing groups are further subdivided

ConversionMode

type: EConvertToPolyg...

description: Strategy to use to group triangles

MinGroupSize

description: Group filtering

NormalWeighting

description: This parameter modulates the effect of normal weighting during region-growing

NumPoints

description: Furthest-Point Sample count, approximately this number of polygroups will be generated

QuadAdjacencyWeight

description: Bias for Quads that are adjacent to already-discovered Quads. Set to 0 to disable.

QuadMetricClamp

description: Set to values below 1 to ignore less-likely triangle pairings

QuadSearchRounds

type: int

description: Iteratively repeat quad-searching in uncertain areas, to try to slightly improve results


description: Cancel and exit current action

code: Cancel()


description: Accept and complete current action.

code: Done()


className: UCubeGridDuringActivityActions


code: ApplyFlipSelection()


description: IHoverBehaviorTarget.

code: virtual BeginHoverSequenceHitTest()


code: virtual CanAccept() const


description: IClickDragBehaviorTarget.

code: virtual CanBeginClickDragSequence()


code: CanBeginMiddleClickDrag()


code: virtual CanCurrentlyNestedAccept()


code: virtual CanCurrentlyNestedCancel()


code: AttemptToSelectCorner()


code: virtual ClearSelection()


className: CtrlModifierID

code: static const int32 CtrlModifierID = 2;


className: EMode

code: enum EMode { PushPull, Corner, FitGrid, }


code: EndSelectionChange()


className: EMouseState

code: enum EMouseState { NotDragging, DraggingExtrudeDistance, DraggingCornerSelection, DraggingRegularSelection, }


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

code: virtual ExecuteNestedAcceptCommand()


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

code: virtual ExecuteNestedCancelCommand()


code: virtual GetWorldSpaceFocusBox()


code: virtual HasAccept() const


code: virtual HasCancel() const


code: virtual IsInCornerMode() const


code: virtual IsInDefaultMode() const


description: IDynamicMeshOperatorFactory API.

code: virtual MakeNewOperator()


description: Initialize hover sequence at given position

code: virtual OnBeginHover()


description: Notify Target that input position has changed

code: virtual OnClickDrag()


description: Notify Target that click press ocurred

code: virtual OnClickPress()


description: Notify Target that click release occurred

code: virtual OnClickRelease()


description: Terminate active hover sequence

code: virtual OnEndHover()


description: Notify Target that click-drag sequence has been explicitly terminated (eg by escape key)

code: virtual OnTerminateDragSequence()


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual OnPropertyModified()


description: Allow the Tool to do any necessary processing on Tick

code: virtual OnTick()


description: Update active hover sequence with new input position

code: virtual OnUpdateHover()


description: Notify target of current modifier state

code: virtual OnUpdateModifierState()


code: PrepForSelectionChange()


code: RayCastSelectionPlane()


description: Override this function to register the set of Actions this Tool supports, usingFInteractiveToolActionSet::RegisterAction. Note that for the actions to be triggered, you will also need to add corresponding registration per tool  see Engine\Plugins\Editor\ModelingToolsEditorMode\Source\ModelingToolsEditorMode\Public\ModelingToolsActions.h for examples

code: virtual RegisterActions()


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

code: virtual Render()


code: virtual RequestAction()


code: ResetMultiStepConsistencyData()


code: virtual RevertToDefaultMode()


code: virtual SetChangesMade()


code: virtual SetCornerSelection()


code: virtual SetCurrentExtrudeAmount()


description: Parameter is signed on purpose so we can give negatives for clamping.

code: SetGridPowerClamped()


code: virtual SetSelection()


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual Setup()


className: ShiftModifierID

code: static const int32 ShiftModifierID = 1;


description: Called by ToolManager to shut down the Tool

code: virtual Shutdown()


code: virtual SupportsNestedAcceptCommand()


description: IInteractiveToolNestedAcceptCancelAPI.

code: virtual SupportsNestedCancelCommand()


description: IInteractiveToolCameraFocusAPI.

code: virtual SupportsWorldSpaceFocusBox()


code: UpdateComputeInputs()


code: UpdateCornerGeometrySet()


code: UpdateCornerModeLineSet()


code: UpdateGizmoVisibility()


description: Updates the gizmo controlling the cube grid transform. Only updates the cube grid itself if bSilentlyUpdate is false.

code: UpdateGridGizmo()


description: Updates the cube grid.

code: UpdateGridTransform()


code: UpdateHoverLineSet()


code: UpdateSelectionLineSet()


description: Used by undo/redo.

code: virtual UpdateUsingMeshChange()


className: UCubeGridTool

description: Tool that allows for blocky boolean operations on an orientable power-of-two grid.


description: Engages a mode where specific corners can be selected to push/pull only those corners. Press Apply to commit the result afterward. Can also be toggled with Z.

code: CornerMode()


description: Can also be invoked with T.

code: Flip()


description: Can also be invoked with E.

code: Pull()


description: Resets the grid position and orientation based on the actor in Grid Source Actor. This allows grid positions/orientations to be saved by pasting them into the transform of some actor that is later used, or by relying on the fact that the tool initializes transforms of newly created meshes based on the grid used.

code: ResetGridFromActor()


description: Can also be invoked with Shift + E.

code: SlideBack()


description: Can also be invoked with Shift + Q.

code: SlideForward()


className: UCubeGridToolActions


description: Can also be invoked with Q.

code: Push()


description: Create a new instance of this builder's Tool

code: virtual BuildTool() const


description: Check if, given the current scene state, a new instance of this builder's Tool can be created

code: virtual CanBuildTool() const


description: Gives the target requirements of the associated tool. Usually, it is the tool builder will use this function in CanBuildTool and BuildTool to find and create any necessary targets.

code: virtual GetTargetRequirements() const


className: UCubeGridToolBuilder


className: UCubeGridToolProperties


code: void ComputeUpdate()


code: void ComputeUpdate_Rotate()


code: void ComputeUpdate_Translate()


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


description: true if the target MeshSource is hit by the Ray

code: virtual bool HitTest ( const FRay & Ray, [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit )


code: virtual void NextTransformTypeAction()


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

code: virtual void OnBeginDrag ( const FRay & Ray )


description: Realtime visualization

code: void OnDynamicMeshComponentChanged()


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

code: virtual void OnEndDrag ( const FRay & Ray )


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


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

code: virtual void OnUpdateDrag ( const FRay & Ray )


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


code: void PrecomputeTopology()


description: Override this function to register the set of Actions this Tool supports, usingFInteractiveToolActionSet::RegisterAction. Note that for the actions to be triggered, you will also need to add corresponding registration per tool  see Engine\Plugins\Editor\ModelingToolsEditorMode\Source\ModelingToolsEditorMode\Public\ModelingToolsActions.h for examples

code: virtual void RegisterActions ( [FInteractiveToolActionSet](API\Runtime\InteractiveToolsFramework\FInteractiveToolActionSet) & ActionSet )


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

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Register InputBehaviors, etc

code: virtual void Setup()


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


code: void UpdateActiveSurfaceFrame ( [FGroupTopologySelection](API\Plugins\DynamicMesh\FGroupTopologySelection) & Selection )


code: void UpdateQuickTransformer()


code: UDeformMeshPolygonsTool()


className: UDeformMeshPolygonsTool

ActiveDragPlane

type: FPlane

ActiveVertexChange

type: FMeshVertexChan...

bInDrag

description: True for the duration of UI click+drag.

bSpatialDirty

description: This is true when the spatial index needs to reflect a modification.

CameraState

type: FViewCameraStat...

description: Camera state at last render

DeformationStrategy

type: EGroupTopologyD...

DynamicMeshComponent

type: TObjectPtr<UDy...

HilightRenderer

type: FToolDataVisual...

HilightSelection

type: FGroupTopologyS...

description: Data for current drag

LaplacianDeformer

type: TPimplPtr< FGro...

LastBrushPosLocal

type: FVector

LinearDeformer

description: The two deformer type options.

OnDynamicMeshComponentChangedHandle

type: FDelegateHandle

PreviewMeshActor

type: TObjectPtr<AIn...

Topology

type: FGroupTopology

TransformProps

type: TObjectPtr<UDe...

UpdateRay

type: FRay


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UDeformMeshPolygonsToolBuilder

description: ToolBuilder


className: UDeformMeshPolygonsTransformProperties

bPostFixHandles

type: bool

bSelectEdges

description: Allow for edges to be selected.

bSelectFaces

description: Allow for faces (PolyGroups) to be selected.

bSelectVertices

description: Allow for vertices to be selected.

bShowWireframe

description: If true, overlays preview with wireframe.

DeformationStrategy

description: Type of deformation used.

HandleWeight

type: double

SelectedWeightScheme

type: EWeightScheme

TransformMode

type: EQuickTransform...

description: Type of transformation used.


className: UDiffusionSmoothProperties

description: Properties for Diffusion Smoothing

bPreserveUVs

description: If this is false, the smoother will try to reshape the triangles to be more regular, which will distort UVs

SmoothingPerStep

type: float

description: Amount of smoothing allowed per step.

Steps

description: Number of Smoothing iterations


className: UDisplaceMeshCommonProperties

description: The basic set of properties shared by (more or less) all DisplacementTypes.

DisplacementType

type: EDisplaceMeshTo...

description: Displacement type

meta

description: Displacement intensity

SubdivisionType

description: Type of the mesh subdivision.

WeightMap

type: FName

description: Select vertex weight map.

WeightMapsList

type: TArray<FString...


description: Properties for a directional filter. Allows for displacement to be applied only to vertices whose normals point in a given direction

bEnableFilter

description: Whether the directional filter is active.

meta

description: Unit vector representing the direction to filter along.


code: void UpdateChangeFromROI ( bool bFinal )


className: UDisplaceMeshPerlinNoiseProperties

description: PropertySet for properties affecting the Perlin Noise displacement type.

PerlinLayerProperties

type: TArray<FPerlin...


className: UDisplaceMeshSineWaveProperties

description: Sine wave phase shift |

meta

description: Sine wave displacement frequency


className: UDisplaceMeshTextureMapProperties

description: PropertySet for properties affecting the Image Map displacement type.

AdjustmentCurve

type: TObjectPtr<UCu...

description: This curve is queried in the range [0,1] to adjust contrast of the displacement map.

bApplyAdjustmentCurve

description: When true, applies a function to remap the values in the displacement map, which can be used for contrast adjustment.

bRecalcNormals

description: Recalculate normals from displaced mesh.

Channel

description: Channel in the displacement map to use.

DisplacementMap

type: TObjectPtr<UTe...

description: Displacement map. Only the first channel is used.

DisplacementMapBaseValue

description: The value in the texture map that corresponds to no displacement.

UVOffset

description: When sampling from the texture map, how to offset the mesh UV's.

UVScale

description: When sampling from the texture map, how to scale the mesh UV's in the x and y directions.


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Allow the Tool to do any necessary processing on Tick


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called


className: UDisplaceMeshTool

description: Simple Mesh Displacement Tool

ActiveContrastCurveTarget

description: Contrast Curve we are actively listening to

CommonProperties

type: TObjectPtr<UDi...

description: Shared properties for all displacement modes.

DirectionalFilterProperties

description: Properties defining the directional filter.

MeshStatistics

type: TObjectPtr<UMe...

NoiseProperties

description: Multi-layer Perlin noise frequencies and intensities

SelectiveTessellationProperties

type: TObjectPtr<USe...

description: Selective tessellation properties

SineWaveProperties

description: Sine wave parameters and direction of displacement

TextureMapProperties

description: Properties defining the texture map


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [USingleSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\USingleSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UDisplaceMeshToolBuilder

description: Builder for Simple Mesh Displacement Tool


className: UDrawPolyPathExtrudeProperties

Direction

type: EDrawPolyPathEx...


className: UDrawPolyPathProperties

bRoundedCorners

description: Use arc segments instead of straight lines in corners

bSinglePolyGroup

description: If true, all quads on the path will belong to the same polygon.

EditCondition

description: Radius of the corner arcs, as a fraction of path width.

ExtrudeMode

description: If and how the drawn path gets extruded

RadiusMode

type: EDrawPolyPathRa...

description: How the rounded corner radius gets set

UIMin

description: Width of the drawn path when using Fixed width mode; also shows the width in Interactive width mode

WidthMode

type: EDrawPolyPathWi...

description: How the drawn path width gets set


code: void BeginConstantExtrudeHeight()


description: IHoverBehaviorTargetAPI.

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) BeginHoverSequenceHitTest ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


code: void BeginInteractiveExtrudeHeight()


code: void BeginSettingHeight()


code: void BeginSettingRadius()


code: void BeginSettingWidth()


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


code: bool CanUpdateDrawPlane() const


code: bool CheckInCurve ( int32 Timestamp ) const


code: void EmitNewObject()


className: EState

code: enum EState { DrawingPath, SettingWidth, SettingRadius, SettingHeight, }


code: void GenerateExtrudeMesh ( [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & PathMesh )


code: FVector3d GeneratePathMesh ( [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh )


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: void InitializeNewSurfacePath()


code: virtual bool HitTest ( const FRay & Ray, [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit )


description: IClickBehaviorTargetAPI.

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) IsHitByClick ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ClickPos )


code: void InitializePreviewMesh()


description: Notify Target that click ocurred

code: virtual void OnClicked ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ClickPos )


description: Initialize hover sequence at given position

code: virtual void OnBeginHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


code: void OnCompleteExtrudeHeight()


code: void OnCompleteRadius()


code: void OnCompleteSurfacePath()


code: void OnCompleteWidth()


description: Terminate active hover sequence

code: virtual void OnEndHover()


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


description: IModifierToggleBehaviorTarget.

code: virtual void OnUpdateModifierState ( int ModifierID, bool bIsOn )


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


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

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: virtual void SetWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


className: ShiftModifierID

code: static const int ShiftModifierID = 1;


code: void ShowExtrudeMessage()


code: void ShowOffsetMessage()


description: User feedback messages

code: void ShowStartupMessage()


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


code: void UndoCurrentOperation ( [EState](API\Plugins\MeshModelingToolsExp\UDrawPolyPathTool\EState) DestinationState )


code: void UpdateExtrudePreview()


code: void UpdatePathPreview()


className: UDrawPolyPathTool

bHasSavedExtrudeHeight

type: bool

CameraState

type: FViewCameraStat...

CurPolyLine

type: TArray< FVector...

CurveDistMechanic

type: TObjectPtr<USp...

EditPreview

type: TObjectPtr<UPo...

ExtrudeHeightMechanic

type: TObjectPtr<UPl...

ExtrudeProperties

type: TObjectPtr<UDr...

MaterialProperties

type: TObjectPtr<UNe...

OffsetScaleFactors

type: TArray< double ...

OutputTypeProperties

type: TObjectPtr<UCr...

description: Property set for type of output object (StaticMesh, Volume, etc)

PlaneMechanic

type: TObjectPtr<UCo...

State

type: EState

TargetWorld

type: UWorld*

UVScaleFactor

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

WorldTransform

description: Camera state at last render


code: void UpdateSurfacePathPlane()


description:
Create a new instance of this builder's Tool
new Tool instance initialized with selected mesh source

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a single mesh source can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UDynamicMeshBrushProperties

bHitBackFaces

description: Allow the Brush to hit the back-side of the mesh

BrushFalloffAmount

type: float

description: Amount of falloff to apply (0.0 - 1.0)

BrushSize

type: FBrushToolRadiu...

Depth

description: Depth of Brush into surface along view ray or surface normal, depending on the Active Brush Type


className: UDrawPolyPathToolBuilder

description: ToolBuilder


className: UDynamicMeshBrushSculptProperties

bDetailPreservingSmooth

description: If enabled, Remeshing is limited during Smoothing to avoid wiping out higher-density triangle areas

bFreezeTarget

description: When Freeze Target is toggled on, the Brush Target Surface will be Frozen in its current state, until toggled off.

bIsRemeshingEnabled

description: This is a dupe of the bool in the tool class.

bPreserveUVFlow

description: If true, try to preserve the shape of the UV/3D mapping.

PrimaryBrushSpeed

description: Strength of the Primary Brush

PrimaryBrushType

type: EDynamicMeshScu...

description: Primary Brush Mode

SmoothBrushSpeed

description: Strength of Shift-to-Smooth Brushing and Smoothing Brush


description: Subclasses should implement this to give an estimate of target dimension for brush size scaling


description: true if the target MeshSource is hit by the Ray

code: virtual bool HitTest ( const FRay & Ray, [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit )


description: This function is called when the component inside the PreviewMesh is modified (eg via an undo/redo event)


description: Subclasses can override these to customize behavior

code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: UInteractiveTool.


code: UDynamicMeshBrushTool()


className: UDynamicMeshBrushTool

description: UDynamicMeshBrushToolis a base class that specializesUBaseBrushToolfor brushing on an FDynamicMesh3. The inputFPrimitiveComponentTargetis hidden and aUPreviewMeshis created and shown in its place. ThisUPreviewMeshis used for hit-testing and dynamic rendering.

OnBaseMeshComponentChangedHandle

type: FDelegateHandle

PreviewMesh

type: TObjectPtr<UPr...


description: Do hover hit-test

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) BeginHoverSequenceHitTest ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


code: virtual void DecreaseBrushSpeedAction()


code: virtual void DiscardAttributes()


className: EPendingWorkPlaneUpdate

code: enum EPendingWorkPlaneUpdate { NoUpdatePending, MoveToHitPositionNormal, MoveToHitPosition, MoveToHitPositionViewAligned, }


code: virtual bool GetEnableRemeshing() const


description: IInteractiveToolCameraFocusAPIoverride to focus on brush w/ 'F'.

code: virtual FBox GetWorldSpaceFocusBox()


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: virtual void IncreaseBrushSpeedAction()


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

code: virtual void OnBeginDrag ( const FRay & Ray )


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

code: virtual void OnEndDrag ( const FRay & Ray )


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


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

code: virtual void OnUpdateDrag ( const FRay & Ray )


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


description: Override this function to register the set of Actions this Tool supports, usingFInteractiveToolActionSet::RegisterAction. Note that for the actions to be triggered, you will also need to add corresponding registration per tool  see Engine\Plugins\Editor\ModelingToolsEditorMode\Source\ModelingToolsEditorMode\Public\ModelingToolsActions.h for examples

code: virtual void RegisterActions ( [FInteractiveToolActionSet](API\Runtime\InteractiveToolsFramework\FInteractiveToolActionSet) & ActionSet )


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

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: virtual void SetEnableRemeshing ( bool bEnable )


description: Register InputBehaviors, etc

code: virtual void Setup()


code: virtual void SetWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


className: UDynamicMeshSculptTool

description: Dynamic Mesh Sculpt Tool Class

BrushProperties

type: TObjectPtr<UDy...

description: Properties that control brush size/etc

GizmoProperties

type: TObjectPtr<UFi...

KelvinBrushProperties

type: TObjectPtr<UKe...

RemeshProperties

type: TObjectPtr<UBr...

description: Properties that control dynamic remeshing

SculptMaxBrushProperties

type: TObjectPtr<USc...

SculptProperties

description: Properties that control sculpting

ViewProperties

type: TObjectPtr<UMe...


code: UDynamicMeshSculptTool()


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


code: UDynamicMeshSculptToolBuilder()


className: UDynamicMeshSculptToolBuilder

description: Tool Builder

bEnableRemeshing

type: bool


code: void Initialize ( [UDynamicMeshSculptTool](API\Plugins\MeshModelingToolsExp\UDynamicMeshSculptTool) * ParentToolIn )


className: UDynamicSculptToolActions

ParentTool

type: TWeakObjectPtr<...


className: UEditNormalsOperatorFactory

description: Factory with enough info to spawn the background-thread Operator to do a chunk of work for the tool stores a pointer to the tool and enough info to know which specific operator it should spawn

ComponentIndex

type: int

Tool

type: TObjectPtr<UEd...


description: IDynamicMeshOperatorFactory API.


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


code: void GenerateAsset ( const [TArray](API\Runtime\Core\Containers\TArray)< [FDynamicMeshOpResult](API\Plugins\ModelingComponents\FDynamicMeshOpResult) > & Results )


code: virtual bool HasAccept() const


code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


code: void OnSelectedGroupLayerChanged()


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


code: virtual void OnTick ( float DeltaTime )


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


code: virtual bool HasCancel() const


description: Input selection support

code: void SetGeometrySelection ( [UE::Geometry::FGeometrySelection](API\Plugins\DynamicMesh\Selections\FGeometrySelection) && SelectionIn )


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


code: void UpdateActiveGroupLayer()


code: void UpdateNumPreviews()


className: UEditNormalsTool

description: Simple Mesh Normal Updating Tool

CameraState

type: FViewCameraStat...

GeometrySelectionVizProperties

type: TObjectPtr<UGe...

description: Selection

InputGeometrySelection

description: The geometry selection that the user started the tool with.

InputGeometrySelectionPolygroupSet

description: Cache the input polygroup set which was used to start the tool.

OriginalDynamicMeshes

type: TArray<TShared...

PolygroupLayerProperties

type: TObjectPtr<UPo...

Previews

type: TArray<TObject...

TriangleVertexGeometrySelection

description: If the user starts the tool with an edge selection we convert it to a vertex selection with triangle topology and store it here, we do this since we expect users to want vertex and edge selections to behave similarly.

UEditNormalsOperatorFactory

type: friend


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if mesh sources can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


code: virtual [UMultiSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\UMultiSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: Called by BuildTool to configure the Tool with the input mesh source(s) based on the SceneState

code: virtual void InitializeNewTool ( [UMultiSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\UMultiSelectionMeshEditingTool) * Tool, const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UEditNormalsToolBuilder


code: bool WillTopologyChange()


code: UEditNormalsToolProperties()


className: UEditNormalsToolProperties

description: Standard properties

bAllowSharpVertices

description: Assign separate normals at 'sharp' vertices, for example, at the tip of a cone

bInvertNormals

description: Invert (flip) all mesh normals and associated triangle orientations

bToolHasSelection

description: The following are not user visible

meta

description: Recompute all mesh normals

NormalCalculationMethod

type: ENormalCalculat...

description: Choose the method for computing vertex normals

SharpEdgeAngleThreshold

type: float

description: Threshold on angle of change in face normals across an edge, above which we create a sharp edge if bSplitNormals is true

SplitNormalMethod

type: ESplitNormalMet...

description: Control whether and how the topology of the normals is recomputed, e.g. to create sharp edges where face normals change by a large amount or where face group IDs change.


description:
Test if target can begin click-drag interaction at this point
hit information at this point

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) CanBeginClickDragSequence ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


code: virtual void ApplyAction ( [EEditPivotToolActions](API\Plugins\MeshModelingToolsExp\EEditPivotToolActions) ActionType )


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: Notify Target that input position has changed

code: virtual void OnClickDrag ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DragPos )


description: Notify Target that click press ocurred

code: virtual void OnClickPress ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


description: Notify Target that click release occurred

code: virtual void OnClickRelease ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ReleasePos )


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Notify Target that click-drag sequence has been explicitly terminated (eg by escape key)

code: virtual void OnTerminateDragSequence()


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


description: Override this function to register the set of Actions this Tool supports, usingFInteractiveToolActionSet::RegisterAction. Note that for the actions to be triggered, you will also need to add corresponding registration per tool  see Engine\Plugins\Editor\ModelingToolsEditorMode\Source\ModelingToolsEditorMode\Public\ModelingToolsActions.h for examples

code: virtual void RegisterActions ( [FInteractiveToolActionSet](API\Runtime\InteractiveToolsFramework\FInteractiveToolActionSet) & ActionSet )


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

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: virtual void RequestAction ( [EEditPivotToolActions](API\Plugins\MeshModelingToolsExp\EEditPivotToolActions) ActionType )


code: void ResetActiveGizmos()


code: void SetActiveGizmos_Single ( bool bLocalRotations )


code: virtual void SetPivotToBoxPoint ( [EEditPivotToolActions](API\Plugins\MeshModelingToolsExp\EEditPivotToolActions) ActionPoint )


code: virtual void SetPivotToWorldOrigin()


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


code: void UpdateAssets ( const [UE::Geometry::FFrame3d](API\Runtime\GeometryCore\FFrame3d_1) & NewPivotWorldFrame )


code: void UpdateSetPivotModes ( bool bEnableSetPivot )


className: UEditPivotTool

ActiveGizmos

type: TArray<FEditPi...

DragAlignmentMechanic

type: TObjectPtr<UDr...

MapToFirstOccurrences

type: TArray< int >

PendingAction

type: EEditPivotToolA...

StartDragTransform

type: FTransform


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=BoxPositions, Meta=(DisplayPriority=4)) void Back()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=BoxPositions, Meta=(DisplayPriority=2)) void Bottom()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=BoxPositions, Meta=(DisplayPriority=1)) void Center()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=BoxPositions, Meta=(DisplayPriority=4)) void Front()


code: void Initialize ( [UEditPivotTool](API\Plugins\MeshModelingToolsExp\UEditPivotTool) * ParentToolIn )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=BoxPositions, Meta=(DisplayPriority=3)) void Left()


code: void PostAction ( [EEditPivotToolActions](API\Plugins\MeshModelingToolsExp\EEditPivotToolActions) Action )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=BoxPositions, Meta=(DisplayPriority=3)) void Right()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=BoxPositions, Meta=(DisplayPriority=2)) void Top()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=BoxPositions, Meta=(DisplayPriority=5)) void WorldOrigin()


className: UEditPivotToolActionPropertySet

bUseWorldBox

type: bool

description: Use the World-Space Bounding Box of the target object, instead of the Object-space Bounding Box

ParentTool

type: TWeakObjectPtr<...


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [UMultiSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\UMultiSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UEditPivotToolBuilder


className: UEditPivotToolProperties

description: Standard properties of the Edit Pivot operation

bApplyToAllLODs

description: If checked, the baked transform will be applied to all available LODs.

bEnableSnapDragging

description: When enabled, click-drag to reposition the Pivot

RotationMode

type: EEditPivotSnapD...

description: When Snap-Dragging, align source and target normals


description: IClickDragBehaviorTargetAPI.

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) CanBeginClickDragSequence ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


code: void ComputeUpdate_Gizmo()


className: FEditIsland

description: Data for current drag

code: struct FEditIsland

InitialPositions

type: TArray< FVector...

Triangles

type: TArray< int32 >


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: virtual bool HasAccept() const


description: UMeshSurfacePointToolAPI.

code: virtual bool HitTest ( const FRay & Ray, [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit )


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

code: virtual void OnBeginDrag ( const FRay & Ray )


description: Realtime visualization

code: void OnDynamicMeshComponentChanged()


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

code: virtual void OnEndDrag ( const FRay & Ray )


description: Terminate active hover sequence

code: virtual void OnEndHover()


code: void OnGizmoTransformBegin ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * TransformProxy )


code: void OnGizmoTransformEnd ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * TransformProxy )


code: void OnGizmoTransformUpdate ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * TransformProxy, FTransform Transform )


code: void OnMaterialSettingsChanged()


code: void OnSelectionModifiedEvent()


code: virtual void OnTick ( float DeltaTime )


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

code: virtual void OnUpdateDrag ( const FRay & Ray )


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


code: void PrecomputeTopology()


code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: virtual void RegisterActions ( [FInteractiveToolActionSet](API\Runtime\InteractiveToolsFramework\FInteractiveToolActionSet) & ActionSet )


description: Register InputBehaviors, etc

code: virtual void Setup()


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


code: void UpdateChangeFromROI ( bool bFinal )


code: void UpdateUVTransformFromSelection ( const [FGroupTopologySelection](API\Plugins\DynamicMesh\FGroupTopologySelection) & Selection )


code: UEditUVIslandsTool()


className: UEditUVIslandsTool

ActiveIslands

type: TArray<FEditIs...

ActiveVertexChange

type: FMeshVertexChan...

bInDrag

description: True for the duration of UI click+drag.

CameraState

type: FViewCameraStat...

CheckerMaterial

type: TObjectPtr<UMa...

DynamicMeshComponent

type: TObjectPtr<UDy...

MaterialSettings

type: TObjectPtr<UEx...

MeshSpatial

type: FDynamicMeshAAB...

OnDynamicMeshComponentChangedHandle

type: FDelegateHandle

PreviewMeshActor

type: TObjectPtr<AIn...

Topology

type: FUVGroupTopolog...

TransformGizmo

type: TObjectPtr<UCo...

TransformProxy

type: TObjectPtr<UTr...

UVTranslateScale

type: double

WorldTransform

description: Camera state at last render


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a single mesh source can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


code: virtual [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: Recenter the gizmo around the target position (without changing work plane), if it is "too far" (> 10 meters + max bounds dim) from that position currently.

code: void RecenterGizmoIfFar ( FVector CenterPosition, double BoundsMaxDim, double TooFarDistance )


className: UEditUVIslandsToolBuilder

description: ToolBuilder


className: UFixedPlaneBrushProperties

bPropertySetEnabled

type: bool

bShowGizmo

description: Toggle whether Work Plane Positioning Gizmo is visible

Position

type: FVector

Rotation

type: FQuat


className: UGroupPaintBrushFilterProperties

AngleThreshold

type: float

description: The Region affected by the current operation will be bounded by edge angles larger than this threshold

bNormalSeams

description: The Region affected by the current operation will be bounded by Hard Normal edges/seams

bOnlyEraseCurrent

description: When enabled, only the current group configured in the Paint brush is erased

bOnlySetUngrouped

description: If true, only triangles with no group assigned will be painted

bShowAllGroups

description: Display the Group ID for all visible groups in the mesh

bShowHitGroup

description: Display the Group ID of the last triangle under the cursor

bUVSeams

description: The Region affected by the current operation will be bounded by UV borders/seams

EraseGroup

description: Group to set as Erased value

HideEditConditionToggle

description: Relative size of brush

MinTriVertCount

type: int

description: Number of vertices in a triangle the Lasso must hit to be counted as "inside"

PrimaryBrushType

type: EMeshGroupPaint...

description: Primary Brush Mode

SetGroup

description: The group that will be assigned to triangles

VisibilityFilter

description: Control which triangles can be affected by the current operation based on visibility.


className: UHoleFillOperatorFactory

description: Operator factory

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UHoleFillOperatorFactory : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [UE::Geometry::IDynamicMeshOperatorFactory](API\Plugins\ModelingOperators\IDynamicMeshOperatorFactory)

FillTool

type: TObjectPtr<UHo...


code: void Initialize ( const [UHoleFillTool](API\Plugins\MeshModelingToolsExp\UHoleFillTool) & HoleFillTool )


code: void Update ( const [UHoleFillTool](API\Plugins\MeshModelingToolsExp\UHoleFillTool) & HoleFillTool, const [UE::Geometry::FHoleFillOp](API\Plugins\ModelingOperators\CleaningOps\FHoleFillOp) & HoleFillOp )


className: UHoleFillStatisticsProperties

FailedFills

type: FString


code: virtual void ApplyAction ( [EHoleFillToolActions](API\Plugins\MeshModelingToolsExp\EHoleFillToolActions) ActionType )


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


code: void ClearSelection()


className: FSelectedBoundaryLoop

code: struct FSelectedBoundaryLoop

EdgeIDs

type: TArray< int32 >


description: Populate an array of Edge Loops to be processed by an FHoleFillOp. Returns the edge loops currently selected by this tool.

code: void GetLoopsToFill ( [TArray](API\Runtime\Core\Containers\TArray)< [UE::Geometry::FEdgeLoop](API\Runtime\GeometryCore\FEdgeLoop) > & OutLoops ) const


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: Invalidate background compute result (some input changed)

code: void InvalidatePreviewResult()


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


code: void OnSelectionModified()


description: Just call the SelectionMechanism's Render function.

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


code: virtual void RequestAction ( [EHoleFillToolActions](API\Plugins\MeshModelingToolsExp\EHoleFillToolActions) Action )


description: UMeshSurfacePointTool.

code: virtual void Setup()


description: Create the Preview object.

code: void SetupPreview()


className: UHoleFillTool

description: Tool Inherit fromIClickBehaviorTargetso we can click on boundary loops.

ActiveBoundaryLoopSelection

type: TArray<FSelect...

MeshSpatial

description: Used for hit querying.

MeshUVScaleFactor

description: UV Scale factor is cached based on the bounding box of the mesh before any fills are performed.

NewTriangleIDs

type: TSet< int32 >

OriginalMesh

description: Input mesh. Ownership shared with Op.

PendingAction

type: EHoleFillToolAc...

Preview

type: TObjectPtr<UMe...

SelectionMechanic

type: TObjectPtr<UBo...

SmoothHoleFillProperties

type: TObjectPtr<USm...

UHoleFillOperatorFactory

type: friend


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayName="Clear", DisplayPriority=1)) void Clear()


code: void Initialize ( [UHoleFillTool](API\Plugins\MeshModelingToolsExp\UHoleFillTool) * ParentToolIn )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayName="Select All", DisplayPriority=1)) void SelectAll()


code: void PostAction ( [EHoleFillToolActions](API\Plugins\MeshModelingToolsExp\EHoleFillToolActions) Action )


className: UHoleFillToolActions


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a single mesh source can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [USingleSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\USingleSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UHoleFillToolBuilder

description: Tool builder


className: UHoleFillToolProperties

bQuickFillSmallHoles

description: Identify and quickly fill single-triangle holes

bRemoveIsolatedTriangles

description: Clean up triangles that have no neighbors

FillType

type: EHoleFillOpFill...


className: UImplicitOffsetProperties

description: Properties for Implicit Offsetting

bPreserveUVs

type: bool

description: If this is false, triangles will be reshaped to be more regular, which will distort UVs

Smoothness

description: How tightly we should constrain the constrained implicit offset to the explicit offset


className: UImplicitSmoothProperties

description: Properties for Implicit smoothing

bPreserveUVs

description: If this is false, the smoother will try to reshape the triangles to be more regular, which will distort UVs

description: Desired Smoothness. This is not a linear quantity, but larger numbers produce smoother results

SmoothSpeed

description: Smoothing speed

VolumeCorrection

description: Magic number that allows you to try to correct for shrinking caused by smoothing


className: UIterativeOffsetProperties

description: Properties for Iterative Offsetting

bOffsetBoundaries

description: Control whether the boundary is allowed to move

bReprojectSmooth

description: Reproject smooth vertices onto non-smoothed Offset Surface at each step (expensive but better-preserves uniform distance)

SmoothingPerStep

description: Amount of smoothing applied per Offset step

Steps

description: Number of Offsetting iterations


className: UIterativeSmoothProperties

description: Properties for Iterative Smoothing

SmoothingPerStep

description: Amount of smoothing allowed per step.

description: Number of Smoothing iterations


description: IDynamicMeshOperatorFactory API.


className: ULatticeDeformerOperatorFactory

LatticeDeformerTool

type: TObjectPtr<ULa...


code: void ApplyAction ( [ELatticeDeformerToolAction](API\Plugins\MeshModelingToolsExp\ELatticeDeformerToolAction) Action )


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


code: void ClearConstrainedPoints()


code: void ConstrainSelectedPoints()


description: Allow the Tool to do any custom screen space drawing

code: virtual void DrawHUD ( [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


description: Create and store an FFFDLattice. Pass out the lattice's positions and edges.

code: void InitializeLattice ( [TArray](API\Runtime\Core\Containers\TArray)< FVector3d > & OutLatticePoints, [TArray](API\Runtime\Core\Containers\TArray)< [UE::Geometry::FVector2i](API\Runtime\GeometryCore\FVector2i) > & OutLatticeEdges )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


code: void RebuildDeformer()


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

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: void RequestAction ( [ELatticeDeformerToolAction](API\Plugins\MeshModelingToolsExp\ELatticeDeformerToolAction) Action )


code: void ResetConstrainedPoints()


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


code: void SoftDeformLattice()


code: void UpdateMechanicColorOverrides()


className: ULatticeDeformerTool

description: Deform a mesh using a regular hexahedral lattice

ConstrainedLatticePoints

type: TMap< int32, FV...

OriginalMesh

description: Input mesh.

PendingAction

type: ELatticeDeforme...


code: virtual ~ULatticeDeformerTool()


className: ULatticeDeformerToolBuilder


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [USingleSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\USingleSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: Clear all constrained lattice points

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Deformation, Meta=(DisplayName="Clear Constraints")) void ClearConstraints()


description: Constrain selected lattice points

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Deformation, Meta=(DisplayName="Constrain")) void Constrain()


code: void Initialize ( [ULatticeDeformerTool](API\Plugins\MeshModelingToolsExp\ULatticeDeformerTool) * ParentToolIn )


code: void PostAction ( [ELatticeDeformerToolAction](API\Plugins\MeshModelingToolsExp\ELatticeDeformerToolAction) Action )


className: ULatticeDeformerToolProperties

bCanChangeResolution

description: Not user visible - used to disallow changing the lattice resolution after deformation.

bDeformNormals

description: Whether to use approximate new vertex normals using the deformer

bSetPivotMode

description: If Set Pivot Mode is active, the gizmo can be repositioned without moving the selected lattice points

bSoftDeformation

description: Whether to use soft deformation of the lattice

GizmoCoordinateSystem

type: EToolContextCoo...

description: Whether the gizmo's axes remain aligned with world axes or rotate as the gizmo is transformed

InterpolationType

type: ELatticeInterpo...

description: Whether to use linear or cubic interpolation to get new mesh vertex positions from the lattice

Padding

type: float

description: Relative distance the lattice extends from the mesh

ParentTool

type: TWeakObjectPtr<...

XAxisResolution

type: int

description: Number of lattice vertices along the X axis

YAxisResolution

description: Number of lattice vertices along the Y axis

ZAxisResolution

description: Number of lattice vertices along the Z axis


description: Selected-Attribute settings Attribute Paint Tool

BrushAction

type: EBrushActionMod...


code: void Initialize ( [UMeshAttributePaintTool](API\Plugins\MeshModelingToolsExp\UMeshAttributePaintTool) * ParentToolIn )


code: void PostAction ( [EMeshAttributePaintToolActions](API\Plugins\MeshModelingToolsExp\EMeshAttributePaintToolActions) Action )


className: UMeshAttributePaintEditActions


code: virtual void ApplyAction ( [EMeshAttributePaintToolActions](API\Plugins\MeshModelingToolsExp\EMeshAttributePaintToolActions) ActionType )


code: virtual void ApplyStamp ( const [FBrushStampData](API\Runtime\InteractiveToolsFramework\BaseTools\FBrushStampData) & Stamp )


code: virtual void ApplyStamp_FloodFill ( const [FBrushStampData](API\Runtime\InteractiveToolsFramework\BaseTools\FBrushStampData) & Stamp, [FStampActionData](API\Plugins\MeshModelingToolsExp\UMeshAttributePaintTool\FStampActionData) & ActionData )


code: virtual void ApplyStamp_Paint ( const [FBrushStampData](API\Runtime\InteractiveToolsFramework\BaseTools\FBrushStampData) & Stamp, [FStampActionData](API\Plugins\MeshModelingToolsExp\UMeshAttributePaintTool\FStampActionData) & ActionData )


code: double CalculateBrushFalloff ( double Distance )


code: void CalculateVertexROI ( const [FBrushStampData](API\Runtime\InteractiveToolsFramework\BaseTools\FBrushStampData) & Stamp, [TArray](API\Runtime\Core\Containers\TArray)< int > & VertexROI )


code: void ExternalUpdateValues ( int32 AttribIndex, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & VertexIndices, const [TArray](API\Runtime\Core\Containers\TArray)< float > & NewValues )


className: FAttributeData

code: struct FAttributeData

Attribute

type: TUniquePtr<IMe...

CurrentValues

type: TArray< float >

Name

type: FName


className: FStampActionData

code: struct FStampActionData

ROIVertices

type: TArray< int32 >


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: void InitializeAttributes()


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

code: virtual void OnEndDrag ( const FRay & Ray )


description: Subclasses can override these to customize behavior

code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


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

code: virtual void OnUpdateDrag ( const FRay & Ray )


description: Override this function to register the set of Actions this Tool supports, usingFInteractiveToolActionSet::RegisterAction. Note that for the actions to be triggered, you will also need to add corresponding registration per tool  see Engine\Plugins\Editor\ModelingToolsEditorMode\Source\ModelingToolsEditorMode\Public\ModelingToolsActions.h for examples

code: virtual void RegisterActions ( [FInteractiveToolActionSet](API\Runtime\InteractiveToolsFramework\FInteractiveToolActionSet) & ActionSet )


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


code: virtual void RequestAction ( [EMeshAttributePaintToolActions](API\Plugins\MeshModelingToolsExp\EMeshAttributePaintToolActions) ActionType )


description: UMeshSurfacePointToolimplementation.

code: virtual void OnBeginDrag ( const FRay & Ray )


code: virtual void SetColorMap ( [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FFloatAttributeColorMapper](API\Plugins\MeshModelingToolsExp\FFloatAttributeColorMapper) > ColorMap )


description: UInteractiveTool.

code: virtual void Setup()


code: virtual void SetWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


code: void StoreCurrentAttribute()


code: void UpdateSelectedAttribute ( int32 NewSelectedIndex )


code: void UpdateVisibleAttribute()


className: UMeshAttributePaintTool

description: UMeshAttributePaintToolpaints single-channel float attributes on a MeshDescription.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UMeshAttributePaintTool : public [UDynamicMeshBrushTool](API\Plugins\MeshModelingToolsExp\UDynamicMeshBrushTool)

ActiveChangeBuilder

type: TUniquePtr<TIn...

AttribProps

type: TObjectPtr<UMe...

Attributes

type: TArray<FAttrib...

ColorMapper

type: TUniquePtr<FFl...

EditedMesh

type: TUniquePtr<FMe...

LastStamp

type: FBrushStampData

PendingAction

type: EMeshAttributeP...

PreviewBrushROI

type: TArray< int >

SelectedAttributeWatcher

type: TValueWatcher< ...

TargetWorld

type: UWorld*


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a single mesh source can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UMeshAttributePaintToolBuilder

description: Tool Builder for Attribute Paint Tool

ColorMapFactory

type: TUniqueFunction...

description: Optional color map customization


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & GetAttributeNames()


description: selected attribute index, or -1 if invalid selection

code: int32 GetSelectedAttributeIndex()


description: Initialize the internal array of attribute names

code: void Initialize ( const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & AttributeNames, bool bInitialize )


className: UMeshAttributePaintToolProperties

Attribute

type: FString

Attributes

type: TArray<FString...


description:
Verify that the attribute selection is valid
true if selection is in the Attributes array

code: bool ValidateSelectedAttribute ( bool bUpdateIfInvalid )


description:
Adjacency of Per-Triangle integers are what define the triangle groups. Override this function to provide an alternate group definition.
group id integer for given TriangleID

code: virtual int GetGroupID &40; int TriangleID &41; const


code: FBasicTopology &40; const FDynamicMesh3 &42; Mesh, bool bAutoBuild &41;


className: FBasicTopology

description: A variant of group topology that considers all triangles one group, so that group edges are boundary edges in the mesh.

code: class FBasicTopology : public [UE::Geometry::FGroupTopology](API\Plugins\DynamicMesh\FGroupTopology)


code: virtual bool HasAccept() const


code: virtual bool HasCancel() const


description: Override in the child to respond to new loop selections.

code: virtual void OnSelectionChanged()


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

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


className: UMeshBoundaryToolBase

description: Base class for tools that do things with a mesh boundary. Provides ability to select mesh boundaries and some other boilerplate code. TODO: We can refactor to make the HoleFiller tool inherit from this.

MeshSpatial

description: Used for hit querying.

OriginalMesh

type: TSharedPtr< FDy...

SelectionMechanic

type: TObjectPtr<UPo...

Topology

type: TUniquePtr<FBa...


code: void ApplyVisibilityFilter ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Triangles, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & VisibleTriangles )


code: virtual void ApplyAction ( [EMeshGroupPaintToolActions](API\Plugins\MeshModelingToolsExp\EMeshGroupPaintToolActions) ActionType )


code: void ApplyVisibilityFilter ( [TSet](API\Runtime\Core\Containers\TSet)< int32 > & Triangles, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ROIBuffer, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutputBuffer )


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


code: void ClearAllFrozenGroups()


code: void ClearAllGroupsAction()


code: void ClearCurrentGroupAction()


description: Subclass can override this to change what results are written. Default is to apply a default vertex positions update to the target object.

code: virtual void CommitResult ( [UBaseDynamicMeshComponent](API\Runtime\GeometryFramework\Components\UBaseDynamicMeshComponent) * Component, bool bModifiedTopology )


description: Allow the Tool to do any custom screen space drawing

code: virtual void DrawHUD ( [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: void EmitFrozenGroupsChange ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & FromGroups, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ToGroups, const [FText](API\Runtime\Core\Internationalization\FText) & ChangeText )


description: hit triangle at ray position - subclass must implement this

code: virtual int32 FindHitSculptMeshTriangle ( const FRay3d & LocalRay )


description: hit triangle at ray position - subclass should implement this for most brushes

code: virtual int32 FindHitTargetMeshTriangle ( const FRay3d & LocalRay )


code: void FloodFillCurrentGroupAction()


code: void FreezeOtherGroups ( int32 GroupID )


code: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp) > & GetActiveBrushOp()


code: virtual [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * GetBaseMesh()


code: virtual const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * GetBaseMesh() const


code: [FColor](API\Runtime\Core\Math\FColor) GetColorForGroup ( int32 GroupID )


code: bool GetInEraseStroke()


description: UMeshSculptToolBaseAPI.


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


code: void GrowCurrentGroupAction()


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: bool HaveVisibilityFilter() const


description: We override these so we can update the separate BrushSize property added for this tool


code: bool IsInBrushSubMode() const


code: virtual void OnBeginStroke ( const FRay & WorldRay )


description: Realtime visualization

code: void OnDynamicMeshComponentChanged()


code: virtual void OnEndStroke()


code: void OnPolyLassoFinished ( const [FCameraPolyLasso](API\Plugins\ModelingComponents\Mechanics\FCameraPolyLasso) & Lasso, bool bCanceled )


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


code: void OnSelectedGroupLayerChanged()


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


code: void PrecomputeFilterData()


description: Override this function to register the set of Actions this Tool supports, usingFInteractiveToolActionSet::RegisterAction. Note that for the actions to be triggered, you will also need to add corresponding registration per tool  see Engine\Plugins\Editor\ModelingToolsEditorMode\Source\ModelingToolsEditorMode\Public\ModelingToolsActions.h for examples

code: virtual void RegisterActions ( [FInteractiveToolActionSet](API\Runtime\InteractiveToolsFramework\FInteractiveToolActionSet) & ActionSet )


description: Action support

code: virtual void RequestAction ( [EMeshGroupPaintToolActions](API\Plugins\MeshModelingToolsExp\EMeshGroupPaintToolActions) ActionType )


code: void SetTrianglesToGroupID ( const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & Triangles, int32 ToGroupID, bool bIsErase )


description: Register InputBehaviors, etc

code: virtual void Setup()


code: virtual bool ShowWorkPlane() const


code: void ShrinkCurrentGroupAction()


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


code: bool SyncMeshWithGroupBuffer ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh )


code: void ToggleFrozenGroup ( int32 GroupID )


code: void UpdateActiveGroupLayer()


code: bool UpdateBrushPosition ( const FRay & WorldRay )


code: void UpdateBrushType ( [EMeshGroupPaintBrushType](API\Plugins\MeshModelingToolsExp\EMeshGroupPaintBrushType) BrushType )


code: void UpdateROI ( const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & CurrentStamp )


code: bool UpdateStampPosition ( const FRay & WorldRay )


code: void UpdateSubToolType ( [EMeshGroupPaintInteractionType](API\Plugins\MeshModelingToolsExp\EMeshGroupPaintInteractionType) NewType )


code: void WaitForPendingUndoRedo()


className: UMeshGroupPaintTool

description: Mesh Element Paint Tool Class

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UMeshGroupPaintTool : public [UMeshSculptToolBase](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase)

AccumulatedTriangleROI

type: TSet< int32 >

ActiveGroupEditBuilder

type: TUniquePtr<FDy...

bDrawGroupsDataValid

type: bool

DynamicMeshComponent

type: TObjectPtr<UDy...

FilterProperties

type: TObjectPtr<UGr...

description: Filters on paint brush

FrozenGroups

type: TArray< int32 >

OnDynamicMeshComponentChangedHandle

type: FDelegateHandle

PendingAction

type: EMeshGroupPaint...

PolyLassoMechanic

description: Marquee Support

PreviewMeshActor

type: TObjectPtr<AIn...

description: Internals

TriangleROI

type: TSet< int >

TriNormals

type: TArray< FVector...

VisibilityFilterBuffer

type: TArray< bool >


code: void Initialize ( [UMeshGroupPaintTool](API\Plugins\MeshModelingToolsExp\UMeshGroupPaintTool) * ParentToolIn )


code: void PostAction ( [EMeshGroupPaintToolActions](API\Plugins\MeshModelingToolsExp\EMeshGroupPaintToolActions) Action )


className: UMeshGroupPaintToolActionPropertySet

ParentTool

type: TWeakObjectPtr<...


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a single mesh source can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UMeshGroupPaintToolBuilder

description: Tool Builder


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Operations, Meta=(DisplayPriority=10)) void ClearAll()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Operations, Meta=(DisplayPriority=11)) void ClearCurrent()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Operations, Meta=(DisplayPriority=12)) void FloodFillCurrent()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Freezing, Meta=(DisplayPriority=2)) void FreezeCurrent()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Operations, Meta=(DisplayPriority=20)) void GrowCurrent()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Freezing, Meta=(DisplayPriority=3)) void FreezeOthers()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Operations, Meta=(DisplayPriority=21)) void ShrinkCurrent()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Freezing, Meta=(DisplayPriority=1)) void UnfreezeAll()


className: UMeshGroupPaintToolFreezeActions


code: [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetActiveOverrideMaterial() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & GetUVChannelNamesFunc() const


description: Needs custom restore in order to call setup.

code: virtual void RestoreProperties ( [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * RestoreToTool, const [FString](API\Runtime\Core\Containers\FString) & CacheIdentifier )


code: void UpdateMaterials()


code: void UpdateUVChannels ( int32 UVChannelIndex, const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & UVChannelNames, bool bUpdateSelection )


className: UMeshInspectorMaterialProperties

description: Material settings for mesh inspector tool

ActiveCustomMaterial

type: TObjectPtr<UMa...

bFlatShading

description: Toggle flat shading on/off

bTwoSided

description: Although a two-sided transparent material causes rendering issues with overlapping faces, it is still frequently useful to see the shape when sculpting around other objects.

Color

type: FLinearColor

description: Main Color of Material

MaterialMode

type: EMeshInspectorM...

description: Material that will be used to render the mesh

meta

description: Number of checkerboard tiles within the 0 to 1 range; only available when Checkerboard is selected as material mode

Opacity

type: double

description: Opacity of transparent material

OverrideMaterial

description: Material to use instead of the original material; only available when Override is selected as material mode

UVChannelNamesList

type: TArray<FString...


className: UMeshInspectorProperties

bBoundaryEdges

description: Toggle visibility of open boundary edges

bBowtieVertices

description: Toggle visibility of bowtie vertices

bMissingUVs

description: Toggle visibility of triangles with missing UVs

bNormalSeams

description: Toggle visibility of Normal seam edges

bNormalVectors

description: Toggle visibility of normal vectors

bPolygonBorders

description: Toggle visibility of polygon borders

bTangentSeams

description: Toggle visibility of Tangent seam edges

bTangentVectors

description: Toggle visibility of tangent vectors

bUVBowties

description: Toggle visibility of UV bowtie vertices

bUVSeams

description: Toggle visibility of UV seam edges

bWireframe

description: Toggle visibility of all mesh edges

ShowIndices

type: EMeshInspectorT...

description: Draw the mesh indices of the selected type. A maximum of 500 visible indices will be rendered.

UIMin

description: Length of line segments representing normal vectors


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


code: virtual void DecreaseLineWidthAction()


description: Allow the Tool to do any custom screen space drawing

code: virtual void DrawHUD ( [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: virtual void IncreaseLineWidthAction()


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


code: void OnSelectedGroupLayerChanged()


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Override this function to register the set of Actions this Tool supports, usingFInteractiveToolActionSet::RegisterAction. Note that for the actions to be triggered, you will also need to add corresponding registration per tool  see Engine\Plugins\Editor\ModelingToolsEditorMode\Source\ModelingToolsEditorMode\Public\ModelingToolsActions.h for examples

code: virtual void RegisterActions ( [FInteractiveToolActionSet](API\Runtime\InteractiveToolsFramework\FInteractiveToolActionSet) & ActionSet )


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

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


code: void UpdateActiveGroupLayer()


code: void UpdateVisualization()


code: UMeshInspectorTool()


className: UMeshInspectorTool

description: Mesh Inspector Tool for visualizing mesh information

bDrawGroupsDataValid

type: bool

BoundaryBowties

type: TArray< int >

CameraState

type: FViewCameraStat...

DrawnLineSet

type: TObjectPtr<ULi...

LineWidthMultiplier

type: float

LocalToWorldTransform

type: FTransform

MaterialSettings

type: TObjectPtr<UMe...

PolygroupLayerProperties

type: TObjectPtr<UPo...

PreviewMesh

type: TObjectPtr<UPr...


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [USingleSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\USingleSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UMeshInspectorToolBuilder


description: Clear the active triangle selection

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=0)) void Clear()


description: Expand the selection to include all triangles with Materials matching the Materials on the currently selected triangles

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=9)) void ExpandToMaterials()


description: Grow the active selection to include any triangle connected via shared edges (ie flood-fill)

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=5)) void FloodFill()


description: Grow the active triangle selection to include any triangles touching a vertex on the selection boundary

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=3)) void Grow()


description: Invert the active triangle selection

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=2)) void Invert()


description: Select the largest connected mesh component by mesh area

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=7)) void LargestAreaPart()


description: Select the largest connected mesh component by triangle count

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=6)) void LargestTriCountPart()


description: Optimize the selection border by removing "fin" triangles and including "ear" triangles

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=8)) void OptimizeBorder()


description: Select all triangles in the mesh

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=1)) void SelectAll()


description: Shrink the active triangle selection by removing any triangles touching a vertex on the selection boundary

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=SelectionEdits, Meta=(DisplayPriority=4)) void Shrink()


className: UMeshSelectionEditActions


description: Assign a new unique Polygroup index to the selected triangles

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=MeshEdits, Meta=(DisplayName="Create Polygroup", DisplayPriority=5)) void CreatePolygroup()


description: Delete the selected triangles

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=MeshEdits, Meta=(DisplayName="Delete", DisplayPriority=1)) void Delete()


description: Disconnected the selected triangles from their neighbours, to create mesh boundaries along the selection borders

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=MeshEdits, Meta=(DisplayName="Disconnect", DisplayPriority=3)) void Disconnect()


description: Create a new Mesh Object containing the selected triangles

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=MeshEdits, Meta=(DisplayName="Duplicate", DisplayPriority=11)) void Duplicate()


description: Flip the normals of the selected triangles. This will create hard normals at selection borders.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=MeshEdits, Meta=(DisplayName="Flip Normals", DisplayPriority=4)) void FlipNormals()


description: Delete the selected triangles from the active Mesh Object and create a new Mesh Object containing those triangles

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=MeshEdits, Meta=(DisplayName="Separate", DisplayPriority=10)) void Separate()


description: Smooth the selection border

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=MeshEdits, Meta=(DisplayPriority=12)) void SmoothBorder()


className: UMeshSelectionMeshEditActions


code: virtual void AddSubclassPropertySets()


code: virtual void ApplyAction ( [EMeshSelectionToolActions](API\Plugins\MeshModelingToolsExp\EMeshSelectionToolActions) ActionType )


code: virtual void ApplyShutdownAction ( EToolShutdownType ShutdownType )


code: virtual void ApplyStamp ( const [FBrushStampData](API\Runtime\InteractiveToolsFramework\BaseTools\FBrushStampData) & Stamp )


code: void BeginChange ( bool bAdding )


code: void CacheUVIslandIDs()


code: void CalculateTriangleROI ( const [FBrushStampData](API\Runtime\InteractiveToolsFramework\BaseTools\FBrushStampData) & Stamp, [TArray](API\Runtime\Core\Containers\TArray)< int > & TriangleROI )


code: void CalculateVertexROI ( const [FBrushStampData](API\Runtime\InteractiveToolsFramework\BaseTools\FBrushStampData) & Stamp, [TArray](API\Runtime\Core\Containers\TArray)< int > & VertexROI )


description: Virtual boolCanAccept() constoverride { return Super::CanAccept() && bHaveModifiedMesh; }

code: virtual bool CanAccept() const


description: true if the implementor of this API can currently consume a Cancel action

code: virtual bool CanCurrentlyNestedCancel()


code: void ClearSelection()


code: void DeleteSelectedTriangles()


code: void DisconnectSelectedTriangles()


description:
Called by Editor levels to tell the implementor (eg Tool) to execute a nested Cancel action
true if the implementor consumed the Cancel action


code: void ExpandToConnected()


code: void FlipSelectedTriangles()


code: [FColor](API\Runtime\Core\Math\FColor) GetCurrentFaceColor ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, int TriangleID )


description: IInteractiveToolCameraFocusAPIimplementation.

code: virtual FBox GetWorldSpaceFocusBox()


code: void GrowShrinkSelection ( bool bGrow )


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


description: true if the target MeshSource is hit by the Ray

code: virtual bool HitTest ( const FRay & Ray, [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit )


code: void InvertSelection()


description: UMeshSurfacePointToolimplementation.

code: virtual void OnBeginDrag ( const FRay & Ray )


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

code: virtual void OnEndDrag ( const FRay & Ray )


code: void OnRegionHighlightUpdated()


code: void OnExternalSelectionChange()


code: void OnRegionHighlightUpdated ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Triangles )


code: void OnRegionHighlightUpdated ( const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & Triangles )


code: void OnSelectedGroupLayerChanged()


description: Subclasses can override these to customize behavior

code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


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

code: virtual void OnUpdateDrag ( const FRay & Ray )


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


code: void OptimizeSelection()


description: Override this function to register the set of Actions this Tool supports, usingFInteractiveToolActionSet::RegisterAction. Note that for the actions to be triggered, you will also need to add corresponding registration per tool  see Engine\Plugins\Editor\ModelingToolsEditorMode\Source\ModelingToolsEditorMode\Public\ModelingToolsActions.h for examples

code: virtual void RegisterActions ( [FInteractiveToolActionSet](API\Runtime\InteractiveToolsFramework\FInteractiveToolActionSet) & ActionSet )


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

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: virtual void RequestAction ( [EMeshSelectionToolActions](API\Plugins\MeshModelingToolsExp\EMeshSelectionToolActions) ActionType )


code: void SelectAllByMaterial()


code: void SelectLargestComponent ( bool bWeightByArea )


code: void SeparateSelectedTriangles ( bool bDeleteSelected )


description: Input selection support

code: virtual void SetGeometrySelection ( [UE::Geometry::FGeometrySelection](API\Plugins\DynamicMesh\Selections\FGeometrySelection) && SelectionIn )


description: UInteractiveTool.

code: virtual void Setup()


code: virtual void SetWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


code: void SmoothSelectionBoundary()


description: IInteractiveToolCancelAPI.


code: void UpdateActiveGroupLayer()


code: void UpdateFaceSelection ( const [FBrushStampData](API\Runtime\InteractiveToolsFramework\BaseTools\FBrushStampData) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int > & BrushROI )


code: void UpdateVisualization ( bool bSelectionModified )


code: UMeshSelectionTool()


className: UMeshSelectionTool

ActiveSelectionChange

type: FMeshSelectionC...

description: Selection change

bHaveModifiedMesh

description: If true, mesh has been edited

IndexBuf

description: Temp

LastStamp

type: FBrushStampData

Octree

description: Note: ideally this octree would be part of PreviewMesh!

PendingAction

type: EMeshSelectionT...

SelectedTriangles

type: TBitArray

SelectionType

type: EMeshSelectionE...

SpawnedActors

type: TArray<TObject...

TargetWorld

type: UWorld*

TemporaryBuffer

type: TArray< int32 >

TemporarySet

type: TSet< int32 >


code: void Initialize ( [UMeshSelectionTool](API\Plugins\MeshModelingToolsExp\UMeshSelectionTool) * ParentToolIn )


code: void PostAction ( [EMeshSelectionToolActions](API\Plugins\MeshModelingToolsExp\EMeshSelectionToolActions) Action )


className: UMeshSelectionToolActionPropertySet

ParentTool

type: TWeakObjectPtr<...


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: Called by BuildTool to configure the Tool with the input MeshSource based on the SceneState

code: virtual void InitializeNewTool ( [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * Tool, const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UMeshSelectionToolBuilder


className: UMeshSelectionToolProperties

AngleTolerance

description: Angle in Degrees used for Angle-based Selection Modes

bHitBackFaces

type: bool

description: Allow the brush to hit back-facing parts of the surface

bShowPoints

description: Toggle drawing of highlight points on/off

FaceColorMode

type: EMeshFacesColor...

description: Color each triangle based on the selected mesh attribute

SelectionMode

description: The Selection Mode defines the behavior of the selection brush


description: Apply clicked action.

code: void ApplyAction ( [EMeshSpaceDeformerToolAction](API\Plugins\MeshModelingToolsExp\EMeshSpaceDeformerToolAction) Action )


code: void ApplyModifierGizmoValue ( double Value )


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


description: These two functions translate to and from the modifier gizmo length to the relevant operator parameters. They should be matched to each other.

code: double GetModifierGizmoValue() const


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: void RequestAction ( [EMeshSpaceDeformerToolAction](API\Plugins\MeshModelingToolsExp\EMeshSpaceDeformerToolAction) ActionType )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


code: void SetGizmoFrameFromWorldPos ( const FVector & Position, const FVector & Normal, bool bAlignNormal )


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


code: void TransformProxyChanged ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * Proxy, FTransform Transform )


description: Sync the parameters owned by the MeshSpaceDeformerOp

code: void UpdateOpParameters ( [UE::Geometry::FMeshSpaceDeformerOp](API\Plugins\ModelingOperators\SpaceDeformerOps\FMeshSpaceDeformerOp) & MeshSpaceDeformerOp ) const


code: void UpdatePreview()


code: UMeshSpaceDeformerTool()


className: UMeshSpaceDeformerTool

description: Applies non-linear deformations to a mesh

DownIntervalSource

type: TObjectPtr<UGi...

DragAlignmentMechanic

type: TObjectPtr<UDr...

IntervalGizmo

type: TObjectPtr<UIn...

ModifierGizmoLength

type: double

description: The length of the third interval gizmo (which sets the intensity of the deformation) when the modifier is set to some reasonable maximum.

PendingAction

type: EMeshSpaceDefor...

description: Button click support.

SetPointInWorldConnector

type: TPimplPtr<FSel...

TransformGizmo

type: TObjectPtr<UCo...

TransformProxy

type: TObjectPtr<UTr...

UpIntervalSource

description: Interval Parameter sources that reflect UI settings.

USpaceDeformerOperatorFactory

type: friend

VisualizationPoints

type: TArray< FVector...

VisualizationRenderer

type: FToolDataVisual...


code: void PostAction ( [EMeshSpaceDeformerToolAction](API\Plugins\MeshModelingToolsExp\EMeshSpaceDeformerToolAction) Action )


code: void Initialize ( [UMeshSpaceDeformerTool](API\Plugins\MeshModelingToolsExp\UMeshSpaceDeformerTool) * ParentToolIn )


description: Move the gizmo to the center of the object without changing the orientation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Gizmo) void ShiftToCenter()


className: UMeshSpaceDeformerToolActionPropertySet


className: UMeshSpaceDeformerToolBuilder

description: ToolBuilder


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [USingleSelectionMeshEditingTool](API\Plugins\ModelingComponents\BaseTools\USingleSelectionMeshEditingTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UMeshSpaceDeformerToolProperties

bAlignToNormalOnCtrlClick

description: When true, Ctrl+click not only moves the gizmo to the clicked location, but also aligns the Z axis with the normal at that point.

BendDegrees

type: EditConditionHi...

bLockXAndYFlaring

description: If true, flaring is applied along the gizmo X and Y axis the same amount.

EditCondition

description: A line along the Z axis of the gizmo from lower bound to upper bound will be bent into a perfect arc of this many degrees in the direction of the Y axis without changing length.

FlareProfileType

type: EFlareProfileTy...

description: Determines the profile used as a displacement

LowerBoundsInterval

type: float

description: The lower bound to the region of space which the operation will affect.

SelectedOperationType

type: ENonlinearOpera...

UpperBoundsInterval

description: The upper bound to the region of space which the operation will affect.