className: UMeshSymmetryProperties

bEnableSymmetry

type: bool

description: Enable/Disable symmetric sculpting.

bSymmetryCanBeEnabled

description: This flag is set/updated by the Tool to enable/disable the bEnableSymmetry toggle


module: MeshModelingToolsExp

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


code: void ApplyChannelFilter ( const FVector4f & CurColor, FVector4f & NewColor )


code: void ApplyCurrentUtilityAction()


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


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 )


code: void BlendAllSeams()


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


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 )


code: void CopyToOtherLODs()


code: void CopyChannelToChannel()


code: void CopyToSpecificLOD()


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 ExternalUpdateValues ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ElementIDs, const [TArray](API\Runtime\Core\Containers\TArray)< FVector4f > & NewValues )


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 FloodFillColorAction ( [FLinearColor](API\Runtime\Core\Math\FLinearColor) Color )


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


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


code: bool GetInEraseStroke()


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


description: UMeshSculptToolBaseAPI.


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


description: Currently using flow rate as 'brush strength', so disable temporal stamp spacing.

code: virtual float GetStampTemporalFlowRate() const


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

code: virtual bool HasCancel() const


code: bool HaveVisibilityFilter() const


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

code: virtual bool HasAccept() const


code: void InitializeElementROIFromTriangleROI ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & TriangleROI, bool bInitializeFlatBuffers )


code: void InvertChannels()


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


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 ( [EMeshVertexPaintToolActions](API\Plugins\MeshModelingToolsExp\EMeshVertexPaintToolActions) ActionType )


code: void SetTrianglesToVertexColor ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Triangles, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & ToColor )


code: void SetTrianglesToVertexColor ( const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & Triangles, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & ToColor )


description: Register InputBehaviors, etc

code: virtual void Setup()


code: virtual bool ShowWorkPlane() const


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


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


code: void UpdateActiveGroupLayer()


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


code: bool UpdateBrushPosition ( const FRay & WorldRay )


code: void UpdateSecondaryBrushType ( [EMeshVertexPaintSecondaryActionType](API\Plugins\MeshModelingToolsExp\EMeshVertexPaintSecondaryActionT-) NewType )


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


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


code: bool UpdateStampPosition ( const FRay & WorldRay )


code: void UpdateVertexPaintMaterialMode()


code: void WaitForPendingUndoRedo()


className: UMeshVertexPaintTool

description: Mesh Vertex Color Painting TOol

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

AccumulatedTriangleROI

type: TSet< int32 >

ActiveChangeBuilder

type: TUniquePtr<TIn...

AvailableLODs

type: TArray< EMeshLO...

BasicProperties

type: TObjectPtr<UVe...

DynamicMeshComponent

type: TObjectPtr<UDy...

FilterProperties

description: Filters on paint brush

MeshElementsDisplay

type: TObjectPtr<UMe...

NormalsBuffer

type: TArray< int >

NormalSeamEdges

type: TArray< int32 >

Octree

description: Initial code here was ported from MeshVertexSculptTool, which requires an Octree.

OnDynamicMeshComponentChangedHandle

type: FDelegateHandle

PendingAction

type: EMeshVertexPain...

PolygroupLayerProperties

type: TObjectPtr<UPo...

PolyLassoMechanic

description: Marquee Support

PreviewMeshActor

type: TObjectPtr<AIn...

description: Internals

ROIColorBuffer

type: TArray< FVector...

SourceLOD

type: EMeshLODIdentif...

StrokeInitialColorBuffer

description: In Mix blending mode we need to accumulate each stroke in a fully separate buffer and blend it with the background colors.

TempVertexSet

type: TSet< int >

VisibilityFilterBuffer

type: TArray< bool >


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


className: UMeshVertexPaintToolActionPropertySet

ParentTool

type: TWeakObjectPtr<...


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


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: UMeshVertexPaintToolBuilder

description: Tool Builder


description: Fill all Vertex Colors with the current Erase color. Current Channel Filter still applies.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=QuickActions, Meta=(DisplayPriority=13)) void EraseAll()


description: Fill all Vertex Colors with the Color (1,1,1,1). Current Channel Filter still applies.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=QuickActions, Meta=(DisplayPriority=14)) void FillWhite()


description: Fill all Vertex Colors with the Color (0,0,0,1). Current Channel Filter still applies.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=QuickActions, Meta=(DisplayPriority=14)) void FillBlack()


description: Fill all Vertex Colors with the current Paint color. Current Channel Filter still applies.

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


className: UMeshVertexPaintToolQuickActions


description: Apply the Operation currently selected below


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


className: UMeshVertexPaintToolUtilityActions

bCopyToHiRes

type: bool

description: Copy colors to HiRes Source Mesh, if it exists

CopyToLODName

type: FString

description: Target LOD to copy Colors to

LODNamesList

type: TArray<FString...

Operation

description: Operation to apply to current Vertex Colors

SourceValue

type: float

TargetChannels

type: FModelingToolsC...

WeightMap

type: FName

description: Target Vertex Weight Map

WeightMapsList

description: Internal list used to implement above


description: This function is called provide set of available weight maps


code: [TFuture](API\Runtime\Core\Async\TFuture)< void > ApplyStamp()


code: virtual void DecreaseBrushSpeedAction()


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

code: virtual int32 FindHitSculptMeshTriangle ( const FRay3d & LocalRay )


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


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

code: virtual int32 FindHitTargetMeshTriangle ( const FRay3d & LocalRay )


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


description: Subclass must implement this and return relevant rendering component


code: bool GetBaseMeshNearest ( int32 VertexID, const FVector3d & Position, double SearchRadius, FVector3d & TargetPosOut, FVector3d & TargetNormalOut )


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: Client currently needs to implement these...

code: virtual void IncreaseBrushSpeedAction()


description: UMeshSculptToolBaseAPI.

code: virtual void InitializeIndicator()


code: bool IsHitTriangleBackFacing ( int32 TriangleID, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * QueryMesh )


code: virtual void OnBeginStroke ( const FRay & WorldRay )


description: Realtime visualization

code: void OnDynamicMeshComponentChanged ( [UDynamicMeshComponent](API\Runtime\GeometryFramework\Components\UDynamicMeshComponent) * Component, const [FMeshVertexChange](API\Runtime\GeometryFramework\Changes\FMeshVertexChange) * Change, bool bRevert )


description: Called by InitializeIndicator to create a mesh for the brush ROI indicator. Default is sphere.

code: virtual [UPreviewMesh](API\Plugins\ModelingComponents\UPreviewMesh) * MakeBrushIndicatorMesh ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Parent, [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


code: virtual void OnEndStroke()


description: OnDetailsPanelRequestRebuild is broadcast by the tool when it detects it needs to have it's details panel rebuilt outside of normal rebuilding triggers, such as changing property set objects. This is useful in rare circumstances, such as when the tool is using detail customizations and tool properties are changed outside of user interactions, such as via tool preset loading. In these cases, the detail customization widgets might not be updated properly without rebuilding the details panel completely.

code: typedef TMulticastDelegate_NoParams< void > OnInteractiveToolDetailsPanelRequestRebuild


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: Update active hover sequence with new input position

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


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

code: virtual void OnTick ( float DeltaTime )


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

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


code: double SampleBrushAlpha ( const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const FVector3d & Position ) const


code: virtual void SetActiveBrushType ( int32 Identifier )


code: virtual void SetActiveFalloffType ( int32 Identifier )


code: virtual void SetRegionFilterType ( int32 Identifier )


description: Register InputBehaviors, etc

code: virtual void Setup()


code: virtual bool ShowWorkPlane() const


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


code: void TryToInitializeSymmetry()


code: virtual void UndoRedo_RestoreSymmetryPossibleState ( bool bSetToValue )


code: void UpdateBaseMesh ( const [TSet](API\Runtime\Core\Containers\TSet)< int32 > * TriangleROI )


code: virtual void UpdateBrushAlpha ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * NewAlpha )


code: bool UpdateBrushPosition ( const FRay & WorldRay )


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


code: virtual void UpdateHoverStamp ( const [FFrame3d](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FFrame3d) & StampFrameWorld )


code: void UpdateROI ( const FVector3d & BrushPos )


code: bool UpdateStampPosition ( const FRay & WorldRay )


code: void WaitForPendingStampUpdate()


code: void WaitForPendingUndoRedo()


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: UMeshVertexSculptTool

description: Mesh Vertex Sculpt Tool Class

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

AccumulatedTriangleROI

type: TSet< int32 >

ActiveVertexChange

type: FMeshVertexChan...

AlphaProperties

type: TObjectPtr<UVe...

BaseMeshQueryFunc

type: TFunction< bool...

BrushAlpha

type: TObjectPtr<UTe...

bTargetDirty

description: Whether normal needs recompute.

DynamicMeshComponent

type: TObjectPtr<UDy...

NormalsBuffer

type: TArray< int >

NormalsFlags

type: TArray< std::at...

OctreeUpdateTempBuffer

type: TArray< uint32 ...

OnDetailsPanelRequestRebuild

type: OnInteractiveTo...

PendingStampType

type: EMeshVertexScul...

SculptMaxFixedHeight

type: double

SculptProperties

description: Properties that control sculpting

StampRandomStream

type: FRandomStream

StampUpdateOctreeFuture

type: TFuture< void >

SymmetryProperties

type: TObjectPtr<UMe...

UndoNormalsFuture

type: TFuture< bool >


className: UMeshVertexSculptToolBuilder

description: Tool Builder


description: IDynamicMeshOperatorFactory API.


className: UMirrorOperatorFactory

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

ComponentIndex

type: int

description: Indexof the component within MirrorTool->ComponentTargets that this factory creates an operator for.

MirrorTool

type: TObjectPtr<UMi...


code: void ApplyAction ( [EMirrorToolAction](API\Plugins\MeshModelingToolsExp\EMirrorToolAction) 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 GenerateAsset ( const [TArray](API\Runtime\Core\Containers\TArray)< [FDynamicMeshOpResult](API\Plugins\ModelingComponents\FDynamicMeshOpResult) > & Results )


code: virtual bool HasAccept() const


code: virtual void OnTick ( float DeltaTime )


code: virtual bool HasCancel() const


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: IClickSequenceBehaviorTargetimplementation.

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


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


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


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

code: virtual void Setup()


code: void SetupPreviews()


className: UMirrorTool

description: Tool for mirroring one or more meshes across a plane.

CombinedBounds

type: FBox

HandleSourcesProperties

type: TObjectPtr<UOn...

MeshesToMirror

type: TArray<TObject...

OutputTypeProperties

type: TObjectPtr<UCr...

PendingAction

type: EMirrorToolActi...

PlaneMechanic

type: TObjectPtr<UCo...

UMirrorOperatorFactory

type: friend


description: Move the mirror plane and adjust its normal to mirror entire selection backward.

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


description: Move the mirror plane and adjust its normal to mirror entire selection downward.

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


description: Move the mirror plane and adjust its normal to mirror entire selection forward.

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


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


description: Move the mirror plane and adjust its normal to mirror entire selection leftward.

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


description: Move the mirror plane and adjust its normal to mirror entire selection rightward.

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


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


description: Move the mirror plane to center of bounding box without changing its normal.


description: Move the mirror plane and adjust its normal to mirror entire selection upward.

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


className: UMirrorToolActionPropertySet

bButtonsOnlyChangeOrientation

type: bool

description: If true the "Preset Mirror Directions" buttons only change the plane orientation, not location.

ParentTool

type: TWeakObjectPtr<...


className: UMirrorToolProperties

bAllowBowtieVertexCreation

type: EditConditionHi...

bCropAlongMirrorPlaneFirst

description: Cut off everything on the back side of the mirror plane before mirroring.

bShowPreview

description: Whether to show the preview.

bSimplifyAlongCrop

description: Whether to locally simplify new edges created when cropping along the mirror plane.

EditCondition

description: Weld vertices that lie on the mirror plane.

OperationMode

type: EMirrorOperatio...

description: Mode of operation.

WriteTo

type: EMirrorSaveMode

description: How to save the result.


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


description: text string shown to user for Accept Transaction that updates input mesh. Subclass should override.

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetAcceptTransactionName() const


description:
UBaseMeshProcessingToolOPTIONAL API - subclasses may implement these functions
text string shown to user for Accept Transaction that updates input mesh. Subclass should override.

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetToolMessageString() const


description: Called when Tool is Accepted to determine whether it is safe to only update vertex positions, or if entire target mesh must be replaced.

code: virtual bool HasMeshTopologyChanged() const


description: This function is called duringSetup()to allow subclass to register property sets, before kicking off initial computation

code: virtual void InitializeProperties()


description: UBaseMeshProcessingToolREQUIRED API - subclasses must implement these functions IDynamicMeshOperatorFactory implementation that subclass must override and implement


description: This function is called during Shutdown so that subclass may perform final processing and save property sets

code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Optional base mesh boundary loops. Default enabled. These are computed at Tool startup if required, and then not modified, so can be passed to multithreaded operators/etc If this function returns true, InitialBoundaryLoops will be initialized in ToolSetup(). This has some cost and should be disabled if not necessary.

code: virtual bool RequiresInitialBoundaryLoops() const


description: Optional base mesh per-vertex normals. Default enabled. These are computed at Tool startup if required, and then not modified, so can be passed to multithreaded operators/etc If this function returns true, BaseNormals will be initialized in ToolSetup(). This has some cost and should be disabled if not necessary.

code: virtual bool RequiresInitialVtxNormals() const


className: UOffsetMeshTool

description: Mesh Offsetting Tool

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UOffsetMeshTool : public [UBaseMeshProcessingTool](API\Plugins\ModelingComponents\BaseTools\UBaseMeshProcessingTool)

ImplicitProperties

type: TObjectPtr<UIm...

IterativeProperties

type: TObjectPtr<UIt...

OffsetProperties

type: TObjectPtr<UOf...


className: UOffsetMeshToolBuilder


description: Subclass must override!

code: virtual [UBaseMeshProcessingTool](API\Plugins\ModelingComponents\BaseTools\UBaseMeshProcessingTool) * MakeNewToolInstance ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer ) const


className: UOffsetMeshToolProperties

description: Base properties of Offset

bCreateShell

description: If true, create a thickened shell, instead of only moving the input vertices

Distance

type: float

description: Offset Distance in World Units

OffsetType

type: EOffsetMeshTool...

description: Type of Offsetting to apply


className: UOffsetWeightMapSetProperties

MinDistance

description: Minimum Offset Distance in World Units, for Weight Map values of zero (clamped to Distance)


className: UOutputPolygroupLayerProperties

EditCondition

description: Name of the new Group Layer

GroupLayer

type: FName

description: Select PolyGroup layer to use.

NewLayerName

type: NoResetToDefaul...

OptionsList

type: TArray<FString...

description: Internal list used to implement above


description: Provides set of available group layers.


code: virtual CanAccept() const


code: ComputePatternBounds()


code: ComputeCombinedPatternBounds()


code: ComputeWorldTransform() const


description: Given an Element index and an FTransformSRT3d, determine the bounding box that contains the transformed underlying mesh BoundingBox is made empty before growing to contain the transformed mesh.

code: ComputeBoundingBoxWithTransform()


code: GetPreviewDynamicMesh()


code: GetPreviewStaticMesh()


code: virtual HasAccept() const


code: virtual HasCancel() const


code: HideReturnedPreviewMeshes()


code: InitializeElements()


code: OnMainFrameUpdated()


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

code: virtual OnPropertyModified()


code: OnParametersUpdated()


code: OnSingleAxisUpdated()


code: OnSinglePlaneUpdated()


code: virtual OnShutdown()


code: OnSourceVisibilityToggled()


code: OnSpacingModeUpdated()


code: OnTransformGizmoUpdated()


code: ReconstructTransformGizmos()


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

code: virtual Render()


code: RenderBoundingBoxes()


code: ResetTransformGizmoPosition()


code: ReturnDynamicMeshes()


code: ReturnStaticMeshes()


code: virtual SetEnableCreateISMCs()


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

code: virtual Setup()


className: UPatternTool

description: UPatternTooltakes input meshes and generates 3D Patterns of those meshes, by placing repeated copies along geometric paths like lines, grids, circles, etc. The output can be a single Actor per pattern Element, or combined into single Actors in various ways depending on the input mesh type.


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


code: virtual CreateNewTool() const


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

code: virtual InitializeNewTool() const


className: UPatternToolSettings

description: Settings for the Pattern Tool


description: Settings for Bounding Box adjustments in the Pattern Tool


description: Settings for Grid Patterns in the Pattern Tool TODO: maybe we can just re-useUPatternTool_LinearSettingsfor this??


description: Output Settings for the Pattern Tool


description: Settings for Linear Patterns in the Pattern Tool


description: Settings for Radial Patterns in the Pattern Tool


description: Settings for Per Element Rotation in the Pattern Tool


className: MinScale

description: Initial value for Jitter and referenced in FPatternGenerator when applying scale jitter. Can't be used for ClampMin.

code: static constexpr double MinScale = 0.001;


description: Settings for Per Element Scale in the Pattern Tool


description: Settings for Per Element Translation in the Pattern Tool


description: IDynamicMeshOperatorFactory API.


className: UPlaneCutOperatorFactory

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

ComponentIndex

type: int

CutTool

type: TObjectPtr<UPl...


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: Action buttons. Note these set a flag to call the action later (in OnTick) Otherwise, the actions in undo history will end up being generically named by an outer UI handler transaction Cut with the current plane without exiting the tool (Hotkey: T)

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


description: Flip the cutting plane (Hotkey: R)

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Actions, Meta=(DisplayName="Flip Plane")) void FlipPlane()


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


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

code: virtual bool HasCancel() const


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

code: virtual bool HasAccept() const


code: void InvalidatePreviews()


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: Allow the Tool to do any necessary processing on Tick

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 )


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


className: UPlaneCutTool

description: Simple Mesh Plane Cutting Tool

CameraState

type: FViewCameraStat...

CutPlaneWorld

description: Cutting plane.

MeshesToCut

type: TArray<TObject...

MeshUVScaleFactor

type: TArray< float >

description: UV Scale factor is cached based on the bounding box of the mesh before any cuts are performed, so you don't get inconsistent UVs if you multi-cut the object to smaller sizes.

PendingAction

type: EPlaneCutToolAc...

PlaneMechanic

type: TObjectPtr<UCo...


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: UPlaneCutToolBuilder


code: UPlaneCutToolProperties()


className: UPlaneCutToolProperties

description: Standard properties of the plane cut operation

bExportSeparatedPiecesAsNewMeshAssets

type: bool

description: If true, meshes cut into multiple pieces will be saved as separate assets on 'accept'.

bFillCutHole

description: If true, the cut surface is filled with simple planar hole fill surface(s)

bFillSpans

description: If true, will attempt to fill cut holes even if they're ill-formed (e.g. because they connect to pre-existing holes in the geometry)

bKeepBothHalves

description: If true, both halves of the cut are computed

bSimplifyAlongCut

description: If true, will simplify triangulation along plane cut when doing so will not affect the shape, UVs or PolyGroups

SpacingBetweenHalves

description: If keeping both halves, separate the two pieces by this amount


description: IDynamicMeshOperatorFactory API.


code: UProjectToTargetTool ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UProjectToTargetTool

description: Project one mesh surface onto another, while undergoing remeshing. Subclass ofURemeshMeshToolto avoid duplication.

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


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


className: UProjectToTargetToolBuilder

description: Determine if/how we can buildUProjectToTargetTool. It requires two selected mesh components.


code: UProjectToTargetToolProperties()


className: UProjectToTargetToolProperties

description: SubclassURemeshMeshToolPropertiesjust so we can set default values for some properties. Setting these values in the Setup function ofUProjectToTargetToolturns out to be tricky to achieve with the property cache.


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


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


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


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


code: void UpdateVisualization()


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: URemeshMeshTool ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & )


className: URemeshMeshTool

description: Note this is a subclass ofUMultiSelectionTool, however we currently only ever apply it to one mesh at a time. The functionURemeshMeshToolBuilder::CanBuildToolwill return true only when a single mesh is selected, and the tool will only be applied to the first mesh in the selection list. The reason we inherit fromUMultiSelectionToolis so that subclasses of this class can work with multiple meshes (see, for example,UProjectToTargetTool.)

BasicProperties

type: TObjectPtr<URe...

InitialMeshArea

type: double

MeshElementsDisplay

type: TObjectPtr<UMe...


description: Return true if we have one object selected.URemeshMeshToolis aUMultiSelectionTool, however we currently only ever apply it to a single mesh. (See comment atURemeshMeshTooldefinition below.)


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


className: URemeshMeshToolBuilder


code: URemeshMeshToolProperties()


className: URemeshMeshToolProperties

description: Standard properties of the Remesh operation

bDiscardAttributes

description: Discard UVs and existing normals, allowing the remesher to ignore any UV and normal seams.

BoundaryCornerAngleThreshold

description: Angle threshold in degrees for classifying a boundary vertex as a corner.

bReproject

description: Enable projection back to input mesh

bReprojectConstraints

description: Project constrained vertices back to original constraint curves

bShowGroupColors

description: Display colors corresponding to the mesh's polygon groups

bUseTargetEdgeLength

description: If true, the target count is ignored and the target edge length is used directly

ExtraProjectionIterations

description: For NormalFlowRemesher: extra iterations of normal flow with no remeshing

MaxRemeshIterations

description: Maximum number of Remeshing passes, for Remeshers that have convergence criteria

RemeshIterations

description: Number of Remeshing passes

RemeshType

type: ERemeshType

description: Remeshing type

SmoothingType

type: ERemeshSmoothin...

description: Smoothing type

TargetEdgeLength

description: Remesh to have edges approximately this length.

TargetTriangleCount

description: Target triangle count


description: Advanced properties

NormalOffset

description: Probably not actually a good idea to expose this to the user


description: IDynamicMeshOperatorFactory API.


className: URemoveOccludedTrianglesOperatorFactory

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


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


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: void MakePolygroupLayerProperties()


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: Allow the Tool to do any necessary processing on Tick

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 )


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

code: virtual void Setup()


code: URemoveOccludedTrianglesTool()


code: void SetupPreviews()


className: URemoveOccludedTrianglesTool

description: Simple Mesh Normal Updating Tool

OccludedGroupIDs

type: TArray< int32 >

description: Group IDs for occluded triangles, per mesh in the Previews array, if OccludedAction is SetNewGroup.

OccludedGroupLayers

description: Selected layer indices for Group IDs, per mesh in the Previews array.

OccluderTrees

type: TArray<TShared...

description: AABB trees and winding trees for every mesh target, with repeated instances as pointers to the same data.

PolygroupLayersProperties

type: TObjectPtr<UPo...

PreviewCopies

description: When multiple meshes in the selection correspond to the same asset, only one needs a PreviewWithBackgroundCompute all others just get a plain PreviewMesh copy that is updated via OnMeshUpdated broadcast from the source Preview

PreviewToCopyIdx

type: TArray<TArray<...

URemoveOccludedTrianglesOperatorFactory

type: friend


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: URemoveOccludedTrianglesToolBuilder


className: URemoveOccludedTrianglesToolProperties

description: Standard properties

Action

type: EOccludedAction

description: What action to perform on occluded triangles

AddRandomRays

type: int

description: For raycast-based occlusion tests, optionally add random ray direction to increase the accuracy of the visibility sampling

AddTriangleSamples

description: Optionally add random samples to each triangle (in addition to those from TriangleSampling) to increase the accuracy of the visibility sampling

bOnlySelfOcclude

description: If false, when multiple meshes are selected the meshes can occlude each other.

OcclusionTestMethod

type: EOcclusionCalcu...

description: The method for deciding whether a triangle is occluded

ShrinkRemoval

description: Shrink (erode) the boundary of the set of triangles to remove.

TriangleSampling

type: EOcclusionTrian...

description: Where to sample triangles to test occlusion

WindingIsoValue

description: The winding isovalue for GeneralizedWindingNumber mode


code: virtual MakeNewOperator()


className: URevolveBoundaryOperatorFactory


code: virtual CanAccept() const


description: IClickBehaviorTargetAPI.

code: virtual IsHitByClick()


description: Notify Target that click ocurred

code: virtual OnClicked()


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

code: virtual OnPropertyModified()


code: virtual OnShutdown()


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

code: virtual OnTick()


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

code: virtual Render()


description: Notify target of current modifier state

code: virtual OnUpdateModifierState()


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

code: virtual Setup()


description: Uses the settings stored in the properties object to update the revolution axis

code: UpdateRevolutionAxis()


className: URevolveBoundaryTool

description: Tool that revolves the boundary of a mesh around an axis to create a new mesh. Mainly useful for revolving planar meshes.


code: virtual CanBuildTool() const


code: virtual CreateNewTool() const


code: virtual GetCapFillMode() const


className: URevolveBoundaryToolBuilder


className: URevolveBoundaryToolProperties


description: IInteractiveToolEditorGizmoAPI.

code: virtual GetAllowStandardEditorGizmos()


code: virtual GetTargetWorld()


code: virtual HasAccept() const


code: virtual HasCancel() const


description: IDynamicMeshOperatorFactory.

code: virtual MakeNewOperator()


code: virtual RequestAction()


description: UInteractiveTool.


description: Called by ToolManager to shut down the Tool

code: virtual Shutdown()


className: URevolveSplineTool

description: Revolves a selected spline to create a new mesh.


description: Fit the axis to the current curve(by aligning it to the startand end points)

code: ResetAxis()


className: URevolveSplineToolActionPropertySet


description: Tool builder:


code: virtual BuildTool() const


className: URevolveSplineToolBuilder


className: URevolveSplineToolProperties


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


code: void CreateSeamAlongPath()


className: EActiveCaptureState

code: enum EActiveCaptureState { NoState, DrawNewPath, }


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


description: UMeshSurfacePointToolimplementation.

code: virtual void OnBeginDrag ( const FRay & Ray )


description: Subclasses can override these to customize behavior

code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


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: 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: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: UInteractiveTool.

code: virtual void Setup()


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


code: void UpdateCurrentDrawPath()


code: void UpdatePreviewGeometry()


className: USeamSculptTool

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

CaptureState

type: EActiveCaptureS...

InputMesh

type: TSharedPtr<FDy...

PreviewGeom

type: TObjectPtr<UPr...

Settings

type: TObjectPtr<USe...

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: USeamSculptToolProperties

bHitBackFaces

type: bool


className: USeamSculptToolBuilder


className: USelectiveTessellationProperties

description: PropertySet for properties affecting the selective tessellation.

ActiveMaterial

type: FName

description: Name of the selected material.

MaterialIDList

type: TArray<FString...

SelectionType

type: EDisplaceMeshTo...

description: Optionally, restrict tessellation to a subset of the triangles.


description: UBaseCreateFromSelectedToolAPI - subclasses typically implement these functions After preview is created, this is called to convert inputs and set preview materials (grouped together because materials may come from inputs) Subclasses should always implement this.

code: virtual void ConvertInputsAndSetPreviewMaterials ( bool bSetPreviewMesh )


description: Return the name of the action to be used in the Undo stack

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetActionName() const


description: Return the name to be used for generated assets. Note: Asset name will be prefixed by source actor name if only actor was selected.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetCreatedAssetName() const


description: IDynamicMeshOperatorFactory API.


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: Overload to save any added properties in the subclasses; called on shutdown

code: virtual void SaveProperties()


description: Optional overload to set callbacks on preview, e.g. to visualize results; called after preview is created.

code: virtual void SetPreviewCallbacks()


description: Overload to initialize any added properties in subclasses; called during setup

code: virtual void SetupProperties()


code: void UpdateVisualization()


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


code: USelfUnionMeshesTool()


className: USelfUnionMeshesTool

description: Union of meshes, resolving self intersections

CreatedBoundaryEdges

type: TArray< int >

description: For visualization of any errors in the currently-previewed merge operation

DrawnLineSet

type: TObjectPtr<ULi...


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


className: USelfUnionMeshesToolBuilder


className: USelfUnionMeshesToolProperties

description: Standard properties of the self-union operation

bOnlyUseFirstMeshMaterials

description: If true, only the first mesh will keep its materials assignments; all other triangles will be assigned material 0

bShowNewBoundaryEdges

description: Show boundary edges created by the merge (often due to numerical error)

bTrimFlaps

description: If true, remove open, visible geometry

bTryCollapseEdges

description: Try to collapse extra edges created by the merge

bTryFixHoles

description: Try to fill holes created by the merge, e.g. due to numerical errors

WindingThreshold

type: float

description: Threshold to determine whether a triangle in one mesh is inside or outside of the other


description: Set default property values.

code: USmoothHoleFillProperties()


className: USmoothHoleFillProperties

description: Properties. This class reflects the parameters in FSmoothFillOptions, but is decorated to allow use in the UI system.

bConstrainToHoleInterior

description: Allow smoothing and remeshing of triangles outside of the fill region

bProjectDuringRemesh

description: Whether to project to the original mesh during post-smooth remeshing.

FillDensityScalar

type: double

description: Relative triangle density of fill region

InteriorSmoothness

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

meta

description: Number of vertex rings outside of the fill region to allow remeshing

SmoothingExteriorRegionWidth

description: Number of vertex rings outside of the fill region to perform smoothing

SmoothingInteriorRegionWidth

description: Number of vertex rings away from the fill region boundary to constrain smoothing


description: text string shown to user for Accept Transaction that updates input mesh. Subclass should override.

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetAcceptTransactionName() const


description:
UBaseMeshProcessingToolOPTIONAL API - subclasses may implement these functions
text string shown to user for Accept Transaction that updates input mesh. Subclass should override.

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetToolMessageString() const


description: This function is called duringSetup()to allow subclass to register property sets, before kicking off initial computation

code: virtual void InitializeProperties()


description: Called when Tool is Accepted to determine whether it is safe to only update vertex positions, or if entire target mesh must be replaced.

code: virtual bool HasMeshTopologyChanged() const


description: UBaseMeshProcessingToolREQUIRED API - subclasses must implement these functions IDynamicMeshOperatorFactory implementation that subclass must override and implement


description: Optional base mesh per-vertex normals. Default enabled. These are computed at Tool startup if required, and then not modified, so can be passed to multithreaded operators/etc If this function returns true, BaseNormals will be initialized in ToolSetup(). This has some cost and should be disabled if not necessary.

code: virtual bool RequiresInitialVtxNormals() const


description: This function is called during Shutdown so that subclass may perform final processing and save property sets

code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


className: USmoothMeshTool

description: Mesh Smoothing Tool

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class USmoothMeshTool : public [UBaseMeshProcessingTool](API\Plugins\ModelingComponents\BaseTools\UBaseMeshProcessingTool)

DiffusionProperties

type: TObjectPtr<UDi...

ImplicitProperties

type: TObjectPtr<UIm...

IterativeProperties

type: TObjectPtr<UIt...

SmoothProperties

type: TObjectPtr<USm...


description: Subclass must override!

code: virtual [UBaseMeshProcessingTool](API\Plugins\ModelingComponents\BaseTools\UBaseMeshProcessingTool) * MakeNewToolInstance ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer ) const


className: USmoothMeshToolBuilder


className: USmoothMeshToolProperties

description: PropertySet for properties affecting the Smoother.

SmoothingType

type: ESmoothMeshTool...

description: Type of smoothing to apply


description: IDynamicMeshOperatorFactory API.


className: USmoothWeightMapSetProperties

MinSmoothMultiplier

description: Fractional Minimum Smoothing Parameter in World Units, for Weight Map values of zero


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


className: FComponentsInfo

code: struct FComponentsInfo

Materials

type: TArray<TArray<...

Origins

type: TArray< FVector...


className: FSourceMeshInfo

code: struct FSourceMeshInfo

Materials

type: TArray<UMateri...


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: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


code: void UpdateSplitMeshes()


className: USplitMeshesTool

BasicProperties

type: TObjectPtr<USp...

OutputTypeProperties

type: TObjectPtr<UCr...

SourceMeshes

type: TArray<FSource...

SplitMeshes

type: TArray<FCompon...


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


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 const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & GetTargetRequirements() const


className: USpaceDeformerOperatorFactory

SpaceDeformerTool

type: TObjectPtr<UMe...


className: USplitMeshesToolBuilder


className: USplitMeshesToolProperties

bTransferMaterials

type: bool


className: UTransferMeshTool

BasicProperties

type: TObjectPtr<UTr...


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


className: UTransferMeshToolBuilder


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


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


className: UTransferMeshToolProperties

description: Standard properties of the Transfer operation

bIsStaticMeshSource

description: Non-exposed properties used to provide custom lists to SourceLOD/TargetLOD

SourceLOD

type: FString

description: Specify which LOD from the Source (First) mesh to copy from

SourceLODEnums

type: TArray< EMeshLO...

SourceLODNamesList

type: TArray<FString...

TargetLOD

description: Specify which LOD on the Target (Second) mesh to copy to


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 )


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 )


code: void OnParametersUpdated()


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: 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: void ResetActiveGizmos()


code: void SetActiveGizmos_PerObject()


code: void SetActiveGizmos_Single ( bool bLocalRotations )


code: virtual void Setup()


code: void UpdateSetPivotModes ( bool bEnableSetPivot )


code: void UpdateTransformMode ( [ETransformMeshesTransformMode](API\Plugins\MeshModelingToolsExp\ETransformMeshesTransformMode) NewMode )


code: UTransformMeshesTool()


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


className: UTransformMeshesTool

ActiveGizmos

type: TArray<FTransf...

ActiveSnapDragIndex

type: int

bCurrentlyDragging

description: Can't just use ActiveSnapDragIndex to replace this bool, because the former gets set while checking for capture.

CurTransformMode

type: ETransformMeshe...

DragAlignmentMechanic

type: TObjectPtr<UDr...

StartDragTransform

type: FTransform


code: virtual const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & GetTargetRequirements() const


className: UTransformMeshesToolProperties

description: Standard properties of the Transform Meshes operation

bApplyToInstances

description: When true, transformations are applied to the Instances of any Instanced Components (eg InstancedStaticMeshComponent) instead of to the Components

bEnableSnapDragging

description: When Snap-Dragging is enabled, you can Click-drag starting on the target objects to reposition them relative to the rest of the scene

bHaveInstances

description: Internal, used to control visibility of Instance settings

bSetPivotMode

description: When true, the Gizmo can be moved independently without affecting objects.

RotationMode

description: How the object being Snap-Dragged should be rotated relative to the Source point location and Hit Surface normal

SnapDragSource

description: Which point on the object being Snap-Dragged to use as the "Source" point

TransformMode

description: Transformation Mode controls the overall behavior of the Gizmos in the Tool


className: UTransformMeshesToolBuilder


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: true if the tool implementing this API allows the editor gizmos to be enabled while the tool is active


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

code: virtual bool HasAccept() const


code: virtual [UWorld](API\Runtime\Engine\Engine\UWorld) * GetTargetWorld()


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

code: virtual bool HasCancel() const


description: IDynamicMeshOperatorFactory API.


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: void SetSplineActors ( [TArray](API\Runtime\Core\Containers\TArray)< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) >> InSplineActors )


description: InteractiveTool API - generally does not need to be modified by subclasses


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 )


code: UTriangulateSplinesTool()


className: UTriangulateSplinesTool

description: Tool to create a mesh from a set of selected Spline Components


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

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


description:
Tool builder.
true if spline component sources can be found in the active selection

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


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

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


className: UTriangulateSplinesToolBuilder

description: Base Tool Builder for tools that operate on a selection of Spline Components


className: UTriangulateSplinesToolProperties

description: Parameters for controlling the spline triangulation

bFlipResult

description: Whether to flip the facing direction of the generated mesh.

CombineMethod

type: ECombineCurvesM...

description: Note: Combining and offsetting curves only works when curves are flattened; curves will be left separate and non-offset if FlattenMethod is DoNotFlatten.

CurveOffset

type: double

description: How much offset to apply to curves.

EndShapes

type: EOpenCurveEndSh...

description: The shape of the ends of offset curves.

ErrorTolerance

description: How far to allow the triangulation boundary can deviate from the spline curve before we add more vertices.

FlattenMethod

type: EFlattenCurveMe...

description: Whether and how to flatten the curves. If curves are flattened, they can also be offset and combined.

JoinMethod

type: EOffsetJoinMeth...

description: The shape of joins between segments of an offset curve.

MiterLimit

description: How far a miter join can extend before it is replaced by a square join.

OffsetClosedCurves

type: EOffsetClosedCu...

description: Whether and how to apply offset to closed curves.

OpenCurves

type: EOffsetOpenCurv...

description: How to handle open curves: Either offset them, or treat them as closed curves.


className: UVertexBrushAlphaProperties

description: Tool Properties for a brush alpha mask

Alpha

type: TObjectPtr<UTe...

description: Alpha mask applied to brush stamp. Red channel is used.

bRandomize

type: bool

description: If true, a random angle in +/- RandomRange is added to Rotation angle for each stamp

RandomRange

type: float

description: Bounds of random generation (positive and negative) for randomized stamps

RotationAngle

description: Alpha is rotated by this angle, inside the brush stamp frame (vertically aligned)

Tool

type: TWeakObjectPtr<...

description: Parent ref required for details customization


className: UVertexBrushSculptProperties

bFreezeTarget

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

BrushFilter

type: EMeshVertexScul...

description: Filter applied to Stamp Region Triangles, based on first Stroke Stamp

PrimaryBrushType

description: Primary Brush Mode

PrimaryFalloffType

type: EMeshSculptFall...

description: Primary Brush Falloff Type, multiplied by Alpha Mask where applicable


className: UVertexPaintBasicProperties

bHardEdges

description: Create Split Colors / Hard Color Edges at the borders of the painted area.

BlendMode

type: EMeshVertexPain...

description: Controls how painted Colors will be combined with the existing Colors

ChannelFilter

type: FModelingToolsC...

description: Controls which Color Channels will be affected by Operations. Only enabled Channels are rendered.

EraseColor

type: FLinearColor

description: Color to set when using Erase brush

PaintColor

description: The Color that will be assigned to painted triangle vertices

PrimaryBrushType

description: Primary Brush Mode

SecondaryActionType

description: The Brush Operation that will be applied when holding the Shift key when in Painting

SmoothStrength

description: Strength of Smooth Brush

SubToolType

description: Painting Operation to apply when left-clicking and dragging


className: UVertexPaintBrushFilterProperties

AngleThreshold

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

bShowHitColor

description: Display the Color under the cursor

bUVSeams

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

EditConditionHides

description: Area Mode specifies the shape of the brush and which triangles will be included relative to the cursor

MaterialMode

description: Specify which Materials should be used to render the Mesh

MinTriVertCount

type: int

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

VisibilityFilter

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


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.


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


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


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


code: void RecalculateMesh()


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 SetSelection ( [AVolume](API\Runtime\Engine\GameFramework\AVolume) * Volume )


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

code: virtual void Setup()


description: Called by ToolManager to shut down the Tool


code: void UpdateLineSet()


className: UVolumeToMeshTool

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UVolumeToMeshTool : public [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool)

OutputTypeProperties

type: TObjectPtr<UCr...

PreviewMesh

type: TObjectPtr<UPr...

Settings

type: TObjectPtr<UVo...

TargetVolume

type: TLazyObjectPtr<...

TargetWorld

type: UWorld*

VolumeEdgesSet

type: TObjectPtr<ULi...


description:
Create a new instance of this builder's Tool
a new instance of the Tool, or nullptr on error/failure


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


className: UVolumeToMeshToolBuilder


className: UVolumeToMeshToolProperties

bAutoRepair

description: If WeldEdges is enabled, attempt to fill any small holes or cracks in the resulting mesh to form a closed surface.

bOptimizeMesh

description: If WeldEdges is enabled, and after mesh generation is complete, flip edges in planar regions to improve triangle quality.

bShowWireframe

description: Show the wireframe of the resulting converted mesh geometry.

bWeldEdges

description: Weld coincident vertices and edges together in the resulting mesh to form a closed mesh surface.


description: Sets up the default preview and converted inputs for voxel tools; Typically do not need to overload

code: virtual void ConvertInputsAndSetPreviewMaterials ( bool bSetPreviewMesh )


description: Return the name of the action to be used in the Undo stack

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetActionName() const


description: Return the name to be used for generated assets. Note: Asset name will be prefixed by source actor name if only actor was selected.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetCreatedAssetName() const


description: IDynamicMeshOperatorFactory API.


description: Saves VoxProperties; typically need to overload and call "Super::SaveProperties();"

code: virtual void SaveProperties()


description: Sets up VoxProperties; typically need to overload and call "Super::SetupProperties();"

code: virtual void SetupProperties()


code: UVoxelBlendMeshesTool()


className: UVoxelBlendMeshesTool

description: Tool to smoothly blend meshes together

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UVoxelBlendMeshesTool : public [UBaseVoxelTool](API\Plugins\ModelingComponents\BaseTools\UBaseVoxelTool)


code: virtual int32 MinComponentsSupported() const


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: UVoxelBlendMeshesToolBuilder


className: UVoxelBlendMeshesToolProperties

description: Properties of the blend operation

BlendFalloff

type: double

description: Blend falloff controls the size of the blend region

BlendPower

description: Blend power controls the shape of the blend between shapes

bRemoveInternalsAfterVoxWrap

description: Remove internal surfaces from the VoxWrap output, before computing the blend.

bVoxWrap

description: Apply a "VoxWrap" operation to input mesh(es) before computing the blend.

Operation

type: EVoxelBlendOper...

description: How to combine the shapes

ThickenShells

description: Thicken open-boundary surfaces (extrude them inwards) before VoxWrapping them.


code: UVoxelMorphologyMeshesTool()


className: UVoxelMorphologyMeshesTool

description: Morphology tool  dilate, contract, close, open operations on the input shape

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UVoxelMorphologyMeshesTool : public [UBaseVoxelTool](API\Plugins\ModelingComponents\BaseTools\UBaseVoxelTool)


className: UVoxelMorphologyMeshesToolBuilder


className: UVoxelMorphologyMeshesToolProperties

description: Properties of the morphology tool

bRemoveInternalsAfterVoxWrap

type: bool

description: Remove internal surfaces from the VoxWrap output, before computing the morphology.

bVoxWrap

description: Apply a "VoxWrap" operation to input mesh(es) before computing the morphology.

Operation

type: EMorphologyOper...


code: UVoxelSolidifyMeshesTool()


className: UVoxelSolidifyMeshesTool

description: Tool to take one or more meshes, possibly intersecting and possibly with holes, and create a single solid mesh with consistent inside/outside

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UVoxelSolidifyMeshesTool : public [UBaseVoxelTool](API\Plugins\ModelingComponents\BaseTools\UBaseVoxelTool)


className: UVoxelSolidifyMeshesToolProperties

description: Properties of the solidify operation

bApplyThickenShells

description: If true, uses the ThickenShells setting

bSolidAtBoundaries

description: Whether to fill at the border of the bounding box, if the surface extends beyond the voxel boundaries

ExtendBounds

description: How far we allow bounds of solid surface to go beyond the bounds of the original input surface before clamping / cutting the surface off

SurfaceSearchSteps

description: How many binary search steps to take when placing vertices on the surface

ThickenShells

description: Thicken open-boundary surfaces (extrude them inwards) to ensure they are captured in the VoxWrap output.

WindingThreshold

description: Winding number threshold to determine what is consider inside the mesh


className: UVoxelSolidifyMeshesToolBuilder


description: IDynamicMeshOperatorFactory API.


className: UWeldMeshEdgesOperatorFactory

WeldMeshEdgesTool

type: TObjectPtr<UWe...


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: 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: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


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

code: virtual void Setup()


description: Update parameters in FWeldMeshEdgesOp based on current Settings

code: void UpdateOpParameters ( FWeldMeshEdgesOp & Op ) const


code: UWeldMeshEdgesTool()


className: UWeldMeshEdgesTool

description: Mesh Weld Edges Tool

MeshElementsDisplay

type: TObjectPtr<UMe...


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: UWeldMeshEdgesToolBuilder


className: UWeldMeshEdgesToolProperties

AttrWeldingMode

type: EWeldMeshEdgesA...

description: Controls split-attribute welding performed after the Mesh weld.

bOnlyUnique

description: Only merge unambiguous pairs that have unique duplicate-edge matches

bResolveTJunctions

description: If enabled, after an initial attempt at Welding, attempt to resolve remaining open edges in T-junction configurations via edge splits, and then retry Weld

InitialEdges

description: Initial number of open boundary edges

RemainingEdges

description: Number of remaining open boundary edges

SplitColorThreshold

type: float

description: Threshold color-distance used to determine if split colors should be merged

SplitNormalThreshold

description: Threshold on the angle between normals used to determine if split normals should be merged

SplitTangentsThreshold

description: Threshold on the angle between tangent used to determine if split tangents should be merged

SplitUVThreshold

description: Threshold uv-distance used to determine if split UVs should be merged

Tolerance

description: Edges are considered matching if both pairs of endpoint vertices are closer than this distance


className: EMeshPaintActiveMode

module: MeshPaintEditorMode

code: enum EMeshPaintActiveMode { Color, Weights, Texture, }


code: static [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUICommandInfo](API\Runtime\Slate\Framework\Commands\FUICommandInfo) > > > GetCommands()


description: Initialize commands

code: virtual void RegisterCommands()


code: FMeshPaintEditorModeCommands()


className: FMeshPaintEditorModeCommands

code: class FMeshPaintEditorModeCommands : public [TCommands< FMeshPaintEditorModeCommands >](API\Runtime\Slate\Framework\Commands\TCommands)

ColorPaint

type: TSharedPtr<FUI...

Commands

type: TMap<FName,TA...


description: Interface that subclasses need to implementRegisterCommands()needs actualUInteractiveToolinstances for all the Tools that want to provide Actions which will be connected to hotkeys. We can do this based on the CDO's for each tool, returned by GetMutableDefault(). The Tool CDOs are not owned by a ToolManager and we will only call .GetActionSet() on them.

code: virtual void GetToolDefaultObjectList ( [TArray](API\Runtime\Core\Containers\TArray)< [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * > & ToolCDOs )


description: Interface that hides various per-tool action sets Register all Tool command sets. Call this in module startup

code: static void RegisterAllToolActions()


description: Unregister all Tool command sets. Call this from module shutdown.

code: static void UnregisterAllToolActions()


description: Add or remove commands relevant to Tool to the given UICommandList. Call this when the active tool changes (eg on ToolManager.OnToolStarted / OnToolEnded)

code: static void UpdateToolCommandBinding ( [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * Tool, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUICommandList](API\Runtime\Slate\Framework\Commands\FUICommandList) > UICommandList, bool bUnbind )


code: FMeshPaintingToolActionCommands()


className: FMeshPaintingToolActionCommands

code: class FMeshPaintingToolActionCommands : public [TInteractiveToolCommands< FMeshPaintingToolActionCommands >](API\Editor\UnrealEd\Tools\TInteractiveToolCommands)


code: bool CanCopyInstanceVertexColors ( const [TArray](API\Runtime\Core\Containers\TArray)< [UStaticMeshComponent](API\Runtime\Engine\Components\UStaticMeshComponent) * > & StaticMeshComponents, int32 PaintingMeshLODIndex )


code: bool CanPasteInstanceVertexColors ( const [TArray](API\Runtime\Core\Containers\TArray)< [UStaticMeshComponent](API\Runtime\Engine\Components\UStaticMeshComponent) * > & StaticMeshComponents, const [TArray](API\Runtime\Core\Containers\TArray)< [FPerComponentVertexColorData](API\Plugins\MeshPaintingToolset\FPerComponentVertexColorData) > & CopiedColorsByComponent )


code: bool CanPropagateVertexColors ( [TArray](API\Runtime\Core\Containers\TArray)< [UStaticMeshComponent](API\Runtime\Engine\Components\UStaticMeshComponent) * > & StaticMeshComponents, [TArray](API\Runtime\Core\Containers\TArray)< [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * > & StaticMeshes, int32 NumInstanceVertexColorBytes )


code: bool CanSaveModifiedTextures()


code: void CopyVertexColors ( const [TArray](API\Runtime\Core\Containers\TArray)< [UStaticMeshComponent](API\Runtime\Engine\Components\UStaticMeshComponent) * > StaticMeshComponents, [TArray](API\Runtime\Core\Containers\TArray)< [FPerComponentVertexColorData](API\Plugins\MeshPaintingToolset\FPerComponentVertexColorData) > & CopiedVertexColors )


className: FPaintRay

code: struct FPaintRay

CameraLocation

type: FVector

ViewportInteractor

type: UViewportIntera...


description: Helper function to import Vertex Colors from a Texture to the specified MeshComponent (makes use of SImportVertexColorsOptions Widget)

code: void ImportVertexColorsFromTexture ( [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent) * MeshComponent )


description: Imports vertex colors from a Texture to the specified Skeletal Mesh according to user-set options

code: void ImportVertexColorsToSkeletalMesh ( [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * SkeletalMesh, const UImportVertexColorOptions * Options, [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * Texture )


description: Imports vertex colors from a Texture to the specified Static Mesh according to user-set options

code: void ImportVertexColorsToStaticMesh ( [UStaticMesh](API\Runtime\Engine\Engine\UStaticMesh) * StaticMesh, const UImportVertexColorOptions * Options, [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * Texture )


description: Imports vertex colors from a Texture to the specified Static Mesh Component according to user-set options

code: void ImportVertexColorsToStaticMeshComponent ( [UStaticMeshComponent](API\Runtime\Engine\Components\UStaticMeshComponent) * StaticMeshComponent, const UImportVertexColorOptions * Options, [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * Texture )


code: void PasteVertexColors ( const [TArray](API\Runtime\Core\Containers\TArray)< [UStaticMeshComponent](API\Runtime\Engine\Components\UStaticMeshComponent) * > & StaticMeshComponents, [TArray](API\Runtime\Core\Containers\TArray)< [FPerComponentVertexColorData](API\Plugins\MeshPaintingToolset\FPerComponentVertexColorData) > & CopiedColorsByComponent )


code: void PropagateVertexColors ( const [TArray](API\Runtime\Core\Containers\TArray)< [UStaticMeshComponent](API\Runtime\Engine\Components\UStaticMeshComponent) * > StaticMeshComponents )


code: void RemovePerLODColors ( const [TArray](API\Runtime\Core\Containers\TArray)< [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent) * > & PaintableComponents )


code: bool RetrieveViewportPaintRays ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, [TArray](API\Runtime\Core\Containers\TArray)< [FPaintRay](API\Plugins\MeshPaintEditorMode\UMeshPaintModeSubsystem\FPaintRay) > & OutPaintRays )


code: void SaveModifiedTextures()


description: Sets whether or not the level viewport should be real time rendered move or viewport as parameter?

code: void SetRealtimeViewport ( bool bRealtime )


description: Forces the Viewport Client to render using the given Viewport Color ViewMode

code: void SetViewportColorMode ( [EMeshPaintActiveMode](API\Plugins\MeshPaintEditorMode\EMeshPaintActiveMode) ActiveMode, [EMeshPaintDataColorViewMode](API\Plugins\MeshPaintingToolset\EMeshPaintDataColorViewMode) ColorViewMode, [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient )


code: void SwapVertexColors()


className: UMeshPaintModeSubsystem

code: class UMeshPaintModeSubsystem : public [UEditorSubsystem](API\Editor\EditorSubsystem\UEditorSubsystem)


className: EMeshPaintDataColorViewMode

description: Mesh paint color view modes (somewhat maps to EVertexColorViewMode engine enum.)

module: MeshPaintingToolset

code: enum EMeshPaintDataColorViewMode { Normal, RGB, Alpha, Red, Green, Blue, }


className: EMeshPaintModeAction

description: Mesh painting action (paint, erase)

code: enum EMeshPaintModeAction { Paint, Erase, }


className: EMeshPaintTextureIndex

code: enum EMeshPaintTextureIndex { TextureOne = 0, TextureTwo, TextureThree, TextureFour, TextureFive, }


className: EMeshVertexPaintModeTarget

description: Vertex paint target

code: enum EMeshVertexPaintModeTarget { ComponentInstance, Mesh, }


className: EMeshPaintWeightTypes

code: enum EMeshPaintWeightTypes { AlphaLerp = 2, RGB = 3, ARGB = 4, OneMinusARGB = 5, }


className: FApplyVertexPaintData

code: typedef TMulticastDelegate_FourParams< void, const [FMeshPaintParameters](API\Editor\MeshPaint\FMeshPaintParameters) &, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) &, [FLinearColor](API\Runtime\Core\Math\FLinearColor) &, const float > FApplyVertexPaintData


description: Retrieves the influenced vertex indices and positions that intersect the given sphere

code: virtual void GetInfluencedVertexData ( const float ComponentSpaceSquaredBrushRadius, const FVector & ComponentSpaceBrushPosition, const FVector & ComponentSpaceCameraPosition, const bool bOnlyFrontFacing, [TArray](API\Runtime\Core\Containers\TArray)< TPair< int32, FVector >> & OutData ) const


description: Retrieves the influenced vertex indices which intersect the given sphere

code: virtual void GetInfluencedVertexIndices ( const float ComponentSpaceSquaredBrushRadius, const FVector & ComponentSpaceBrushPosition, const FVector & ComponentSpaceCameraPosition, const bool bOnlyFrontFacing, [TSet](API\Runtime\Core\Containers\TSet)< int32 > & InfluencedVertices ) const


description: Returns the indices for the current LOD index in the Mesh

code: virtual const [TArray](API\Runtime\Core\Containers\TArray)< uint32 > & GetMeshIndices() const


description: Returns the vertices for the current LOD index in the Mesh

code: virtual const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & GetMeshVertices() const


description: EndIMeshPaintGeometryAdapterOverrides

code: virtual [FString](API\Runtime\Core\Containers\FString) GetReferencerName() const


description: Returns the Vertex Position at VertexIndexfrom the Mesh

code: virtual void GetVertexPosition ( int32 VertexIndex, FVector & OutVertex ) const


description: StartIMeshPaintGeometryAdapterOverrides

code: virtual bool Initialize()


code: bool InitializeVertexData()


description: Returns the hit result which intersect with the given ray

code: virtual bool RayIntersectAdapter ( [UE::Geometry::FIndex3i](API\Runtime\GeometryCore\FIndex3i) & HitTriangle, FVector & HitPosition, const FVector Start, const FVector End ) const


description: Returns the triangle indices which intersect with the given sphere

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< uint32 > SphereIntersectTriangles ( const float ComponentSpaceSquaredBrushRadius, const FVector & ComponentSpaceBrushPosition, const FVector & ComponentSpaceCameraPosition, const bool bOnlyFrontFacing ) const


description: Returns the vertex positions which intersect the given sphere

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< FVector > SphereIntersectVertices ( const float ComponentSpaceSquaredBrushRadius, const FVector & ComponentSpaceBrushPosition, const FVector & ComponentSpaceCameraPosition, const bool bOnlyFrontFacing ) const


className: FBaseMeshPaintComponentAdapter

description: Base mesh paint geometry adapter, handles basic sphere intersection using a Octree

code: class FBaseMeshPaintComponentAdapter : public [IMeshPaintComponentAdapter](API\Plugins\MeshPaintingToolset\IMeshPaintComponentAdapter), public [FGCObject](API\Runtime\CoreUObject\UObject\FGCObject), public [TSharedFromThis< FBaseMeshPaintComponentAdapter >](API\Runtime\Core\Templates\TSharedFromThis)

Adapter

type: FIndexMeshArray...

MeshIndices

type: TArray< uint32 ...

MeshTriOctree

type: TUniquePtr< FMe...

description: Octree used for reducing the cost of sphere intersecting with triangles / vertices

MeshVertices

type: TArray< FVector...

description: Indexand Vertex data populated by derived classes in InitializeVertexData


className: FGetSelectedMeshComponents

code: typedef TBaseDelegate_NoParams< [TArray](API\Runtime\Core\Containers\TArray)< [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent) * > > FGetSelectedMeshComponents


className: FIndexMeshArrayAdapterd

code: typedef [UE::Geometry::TIndexMeshArrayAdapter](API\Runtime\GeometryCore\TIndexMeshArrayAdapter)< uint32, double > FIndexMeshArrayAdapterd


code: void operator= ( const [FInstanceTexturePaintSettings](API\Plugins\MeshPaintingToolset\FInstanceTexturePaintSettings) & SrcSettings )


code: FInstanceTexturePaintSettings()


code: FInstanceTexturePaintSettings ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * InSelectedTexture, int32 InSelectedUVSet )


className: FInstanceTexturePaintSettings

description: Struct to hold MeshPaint settings on a per mesh basis

code: struct FInstanceTexturePaintSettings


code: static void AddReferencedObjectsGlobals ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


className: FactoryList

code: static [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IMeshPaintComponentAdapterFactory](API\Plugins\MeshPaintingToolset\IMeshPaintComponentAdapterFactor-) > > FactoryList;


code: static void CleanupGlobals()


code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< class [IMeshPaintComponentAdapter](API\Plugins\MeshPaintingToolset\IMeshPaintComponentAdapter) > CreateAdapterForMesh ( [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent) * InComponent, int32 InPaintingMeshLODIndex )


code: static void InitializeAdapterGlobals()


className: FMeshPaintComponentAdapterFactory

code: class FMeshPaintComponentAdapterFactory


code: virtual void AddReferencedObjectsGlobals ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


code: virtual void CleanupGlobals()


code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IMeshPaintComponentAdapter](API\Plugins\MeshPaintingToolset\IMeshPaintComponentAdapter) > Construct ( [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent) * InComponent, int32 InMeshLODIndex ) const


code: virtual void InitializeAdapterGlobals()


description: Pure virtual that must be overloaded by the inheriting class. Use this method to serialize any UObjects contained that you wish to keep around.

code: virtual void AddReferencedObjects ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


description: Applies or removes an override texture to use while rendering the meshes materials

code: virtual void ApplyOrRemoveTextureOverride ( [UTexture](API\Runtime\Engine\Engine\UTexture) * SourceTexture, [UTexture](API\Runtime\Engine\Engine\UTexture) * OverrideTexture ) const


description: StartIMeshPaintGeometryAdapterOverrides

code: virtual bool Construct ( [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent) * InComponent, int32 InMeshLODIndex )


description: Returns the Component to World matrix from the Mesh Component

code: virtual FMatrix GetComponentToWorldMatrix() const


description: Get the underlyingUGeometryCollectionfrom the component, as a non-const object Caller must have already validated that the component weak pointer is still valid (as this is called per-vertex)


description: Returns the Texture Coordinate at VertexIndexfrom the Mesh

code: virtual void GetTextureCoordinate ( int32 VertexIndex, int32 ChannelIndex, FVector2D & OutTextureCoordinate ) const


description: Returns the Vertex Color at VertexIndexfrom the Mesh

code: virtual void GetVertexColor ( int32 VertexIndex, [FColor](API\Runtime\Core\Math\FColor) & OutColor, bool bInstance ) const


description: LikeIsValid()but does not verify that the cached data matches.

code: bool HasValidGeometryCollection() const


description: StartIMeshPaintGeometryAdapterOverrides

code: virtual bool Initialize()


description: EndIMeshPaintGeometryAdapterOverrides StartFBaseMeshPaintGeometryAdapterOverrides

code: virtual bool InitializeVertexData()


description: Returns whether or not this adapter is in a valid state

code: virtual bool IsValid() const


description: Returns the result of tracing a line on the component represented by this adapter

code: virtual bool LineTraceComponent ( struct [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit, const FVector Start, const FVector End, const struct [FCollisionQueryParams](API\Runtime\Engine\FCollisionQueryParams) & Params ) const


description: Called when this adapter is created and added to its owner (used for setting up)

code: virtual void OnAdded()


code: void OnGeometryCollectionChanged()


description: Called when this adapter is removed from its owner and deleted (used for cleaning up)

code: virtual void OnRemoved()


description: Post Edit to clear up or update necessary data

code: virtual void PostEdit()


description: Pre Edit to setup necessary data

code: virtual void PreEdit()


description: Retrieves a list of textures which are suitable for painting

code: virtual void QueryPaintableTextures ( int32 MaterialIndex, int32 & OutDefaultIndex, [TArray](API\Runtime\Core\Containers\TArray)< struct [FPaintableTexture](API\Editor\MeshPaint\FPaintableTexture) > & InOutTextureList )


description: Sets the Vertex Color at VertexIndexto Color inside of the Mesh

code: virtual void SetVertexColor ( int32 VertexIndex, [FColor](API\Runtime\Core\Math\FColor) Color, bool bInstance )


description: Whether or not this adapter supports texture painting

code: virtual bool SupportsTexturePaint() const


description: Whether or not this adapter supports vertex painting

code: virtual bool SupportsVertexPaint() const


description: FMeshPaintGeometryAdapterForSkeletalMeshes.

code: class FMeshPaintGeometryCollectionComponentAdapter : public [FBaseMeshPaintComponentAdapter](API\Plugins\MeshPaintingToolset\FBaseMeshPaintComponentAdapter)

GeometryCollectionChangedHandle

type: FDelegateHandle

description: EndFBaseMeshPaintGeometryAdapterOverrides Delegate called when geometry collection is changed on the component

GeometryCollectionComponent

type: TWeakObjectPtr<...

description: Geometry Collection component represented by this adapter


code: static void AddReferencedObjectsGlobals ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


description: Pure virtual that must be overloaded by the inheriting class. Use this method to serialize any UObjects contained that you wish to keep around.

code: virtual void AddReferencedObjects ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


description: Applies or removes an override texture to use while rendering the meshes materials

code: virtual void ApplyOrRemoveTextureOverride ( [UTexture](API\Runtime\Engine\Engine\UTexture) * SourceTexture, [UTexture](API\Runtime\Engine\Engine\UTexture) * OverrideTexture ) const


code: static void CleanupGlobals()


description: StartIMeshPaintGeometryAdapterOverrides

code: virtual bool Construct ( [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent) * InComponent, int32 InMeshLODIndex )


description: Returns the Component to World matrix from the Mesh Component

code: virtual FMatrix GetComponentToWorldMatrix() const


description: Returns the Texture Coordinate at VertexIndexfrom the Mesh

code: virtual void GetTextureCoordinate ( int32 VertexIndex, int32 ChannelIndex, FVector2D & OutTextureCoordinate ) const


description: Returns the Vertex Color at VertexIndexfrom the Mesh

code: virtual void GetVertexColor ( int32 VertexIndex, [FColor](API\Runtime\Core\Math\FColor) & OutColor, bool bInstance ) const


description: StartIMeshPaintGeometryAdapterOverrides

code: virtual bool Initialize()


code: static void InitializeAdapterGlobals()


description: EndIMeshPaintGeometryAdapterOverrides StartFBaseMeshPaintGeometryAdapterOverrides

code: virtual bool InitializeVertexData()


description: Returns whether or not this adapter is in a valid state

code: virtual bool IsValid() const


description: Called when this adapter is created and added to its owner (used for setting up)

code: virtual void OnAdded()


description: Callback for when skeletal mesh DDC data is rebuild

code: void OnPostMeshCached ( [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * SkeletalMesh )


description: Returns the result of tracing a line on the component represented by this adapter

code: virtual bool LineTraceComponent ( struct [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit, const FVector Start, const FVector End, const struct [FCollisionQueryParams](API\Runtime\Engine\FCollisionQueryParams) & Params ) const