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


description: Sets materials and registers property watchers to set bVisualizationDirty to true when any property changes

module: MeshModelingToolsExp

code: void Initialize ( [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * Tool )


bEnableShowCollision

type: bool

bRandomColors

description: Render each collision geometry with a randomly-chosen color

bShowHidden

description: Show occluded parts of the collision geometry, rendered with dashed lines

LineMaterial

type: TObjectPtr<UMa...

LineThickness

type: float

description: Thickness of lines used to visualize collision shapes

meta

description: Show/hide collision geometry


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


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


code: void RecalculateMesh_Simple()


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

code: virtual void OnTick ( float DeltaTime )


code: void RecalculateMesh_Complex()


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

code: virtual void Setup()


className: UExtractCollisionGeometryTool

description: Mesh Inspector Tool for visualizing mesh information

CurrentMeshParts

type: TArray<TShared...

ObjectProps

type: TObjectPtr<UPh...

OutputTypeProperties

type: TObjectPtr<UCr...

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

PhysicsInfo

type: TSharedPtr<FPh...

description: These areTSharedPtrbecauseTPimplPtrcannot currently be added to aTArray?

PreviewElements

type: TObjectPtr<UPr...

Settings

type: TObjectPtr<UEx...

VizSettings

type: TObjectPtr<UCo...


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

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


description: 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: UExtractCollisionGeometryToolBuilder


className: UExtractCollisionToolProperties

bOutputSeparateMeshes

description: Whether or not to generate a seperate Mesh Object for each Simple Collision Shape

bShowInputMesh

description: Show/Hide input mesh

bShowPreview

description: Show/Hide a preview of the generated mesh (overlaps source mesh)

bWeldEdges

description: Whether or not to weld coincident border edges of the Complex Collision Mesh (if possible)

CollisionType

type: EExtractCollisi...

description: Type of collision geometry to convert to Mesh


description: Create line sets in aUPreviewGeometryfor all the elements in a Physics Data Collection. Spheres and Capsules are drawn as 3-axis wireframes. Convexes are added as wireframes.

code: namespace UE { namespace PhysicsTools { void UE::PhysicsTools::InitializeCollisionGeometryVisualization ( [UPreviewGeometry](API\Plugins\ModelingComponents\Drawing\UPreviewGeometry) * PreviewGeom, [UCollisionGeometryVisualizationProperties](API\Plugins\MeshModelingToolsExp\Physics\UCollisionGeomet-) * Settings, const [FPhysicsDataCollection](API\Plugins\ModelingComponents\Physics\FPhysicsDataCollection) & PhysicsData, float DepthBias, int32 CircleStepResolution ) } }


description: Update line sets in aUPreviewGeometry.

code: namespace UE { namespace PhysicsTools { void UE::PhysicsTools::UpdateCollisionGeometryVisualization ( [UPreviewGeometry](API\Plugins\ModelingComponents\Drawing\UPreviewGeometry) * PreviewGeom, [UCollisionGeometryVisualizationProperties](API\Plugins\MeshModelingToolsExp\Physics\UCollisionGeomet-) * Settings ) } }


description: The FirstLineSetIndex parameter is used implement Settings->bRandomColors since random colors are determined using unique integers for each line set, which may be stored in separateUPreviewGeometryobjects. Since the update is partial this function doesn't check or set Settings->bVisualizationDirty, the caller should do that.

code: namespace UE { namespace PhysicsTools { void UE::PhysicsTools::PartiallyUpdateCollisionGeometryVisualization ( [UPreviewGeometry](API\Plugins\ModelingComponents\Drawing\UPreviewGeometry) * PartialPreviewGeom, [UCollisionGeometryVisualizationProperties](API\Plugins\MeshModelingToolsExp\Physics\UCollisionGeomet-) * Settings, int32 FirstLineSetIndex ) } }


code: namespace UE { namespace PhysicsTools { void UE::PhysicsTools::InitializePhysicsToolObjectPropertySet ( const [FPhysicsDataCollection](API\Plugins\ModelingComponents\Physics\FPhysicsDataCollection) * PhysicsData, [UPhysicsObjectToolPropertySet](API\Plugins\MeshModelingToolsExp\Physics\UPhysicsObjectToolPropertySet) * PropSet ) } }


description: The FirstLineSetIndex parameter is used implement Settings->bRandomColors since random colors are determined using unique integers for each line set, which may be stored in separateUPreviewGeometryobjects. Since the initialization is partial this function doesn't set Settings->bVisualizationDirty, the caller should do that.

code: namespace UE { namespace PhysicsTools { void UE::PhysicsTools::PartiallyInitializeCollisionGeometryVisualization ( [UPreviewGeometry](API\Plugins\ModelingComponents\Drawing\UPreviewGeometry) * PartialPreviewGeom, [UCollisionGeometryVisualizationProperties](API\Plugins\MeshModelingToolsExp\Physics\UCollisionGeomet-) * Settings, const [FPhysicsDataCollection](API\Plugins\ModelingComponents\Physics\FPhysicsDataCollection) & PhysicsData, int32 FirstLineSetIndex, float DepthBias, int32 CircleStepResolution ) } }


className: UPhysicsInspectorTool

ObjectData

type: TArray<TObject...


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


className: UPhysicsInspectorToolBuilder


className: UPhysicsObjectToolPropertySet

Boxes

type: TArray<FPhysic...

CollisionType

type: ECollisionGeome...

description: Collision Flags controlling how simple and complex collision shapes are used

ObjectName

type: FString

description: Source Object Name


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.


className: EDetectedCollisionGeometry

code: enum EDetectedCollisionGeometry { None, Sphere = 2, Box = 4, Capsule = 8, Convex = 16, }


className: FSourceMesh

code: struct FSourceMesh

DetectedType

type: EDetectedCollis...


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

code: virtual bool HasAccept() const


code: void InitializeDerivedMeshSet ( const [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3), ESPMode::ThreadSafe >> & FromInputMeshes, [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3), ESPMode::ThreadSafe >> & ToMeshes, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) *, int32, int32)> TrisConnectedPredicate )


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

code: virtual bool HasCancel() const


description: Invalidates the background compute operator.

code: void InvalidateCompute()


code: void OnInputModeChanged()


code: void OnSelectedGroupLayerChanged()


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


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

code: virtual void OnTick ( float DeltaTime )


code: void PrecomputeInputMeshes()


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

code: virtual void Setup()


code: void UpdateActiveGroupLayer()


className: USetCollisionGeometryTool

description: Mesh Inspector Tool for visualizing mesh information

Compute

type: TUniquePtr<TGe...

description: Background compute

InitialSourceMeshes

type: TArray<FDynami...

OrigTargetTransform

type: FTransform

OtherInputsCollision

type: TSharedPtr<TAr...

PolygroupLayerProperties

type: TObjectPtr<UPo...

Settings

type: TObjectPtr<USe...

SourceObjectIndices

type: TArray< int32 >

type: FVector


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


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


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


className: USetCollisionGeometryToolProperties

bAppendToExisting

type: bool

bUsingMultipleInputs

description: Set by the tool to tell the settings object whether the tool is using multiple inputs.

EditConditionHides

description: How many convex hulls can be used to approximate each mesh

MinThickness

type: float


description: Add a new simple box collision shape

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category="Add Shapes", Meta=(DisplayName="Add Box")) void AddBox()


description: Add a new simple capsule collision shape

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category="Add Shapes", Meta=(DisplayName="Add Capsule")) void AddCapsule()


description: Add a new simple sphere collision shape

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category="Add Shapes", Meta=(DisplayName="Add Sphere")) void AddSphere()


description: Remove currently selected simple collision shapes from the mesh

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


description: Remove all current simple collision shapes from the mesh

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


description: Duplicate all selected simple collision shapes

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


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


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


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


code: virtual bool CanAccept() const


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: virtual bool HasAccept() const


code: virtual bool HasCancel() const


code: void InitializeObjectProperties ( const [FPhysicsDataCollection](API\Plugins\ModelingComponents\Physics\FPhysicsDataCollection) & PhysicsData, [UPhysicsObjectToolPropertySet](API\Plugins\MeshModelingToolsExp\Physics\UPhysicsObjectToolPropertySet) * PropSet )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


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: void RequestAction ( [ESimpleCollisionEditorToolAction](API\Plugins\MeshModelingToolsExp\Physics\ESimpleCollisionEditorToolAction) Action )


code: virtual void Setup()


className: USimpleCollisionEditorTool

description: Simple Collision Editing tool for updating the simple collision geometry on meshes

ActionProperties

type: TObjectPtr<USi...

CollisionPrimitivesMechanic

type: TObjectPtr<UCo...

PendingAction

type: ESimpleCollisio...

PhysicsInfos

type: TSharedPtr<FPh...

type: friend


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


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


className: USimpleCollisionEditorToolBuilder


className: EOffsetMeshSelectionDirectionMode

code: enum EOffsetMeshSelectionDirectionMode { VertexNormals = 0, FaceNormals = 1, ConstantWidth = 2, }


className: EExtrudeMeshSelectionInteractionMode

code: enum EExtrudeMeshSelectionInteractionMode { Interactive = 0, Fixed = 1, }


className: EExtrudeMeshSelectionRegionModifierMode

code: enum EExtrudeMeshSelectionRegionModifierMode { OriginalShape = 0, FlattenToPlane = 1, RaycastToPlane = 2, }


className: EOffsetMeshSelectionInteractionMode

code: enum EOffsetMeshSelectionInteractionMode { Fixed = 0, }


description: IInteractiveToolCameraFocusAPIimplementation.

code: virtual GetWorldSpaceFocusBox()


code: GizmoTransformChanged()


code: virtual HasAccept() const


code: virtual HasCancel() const


code: virtual OnShutdown()


code: virtual OnTick()


code: virtual Render()


code: virtual Setup()


code: UpdateInteractionMode()


code: UpdateVisualizationSettings()


code: UExtrudeMeshSelectionTool()


className: UExtrudeMeshSelectionTool


code: virtual CreateNewTool() const


code: virtual RequiresInputSelection() const


className: UExtrudeMeshSelectionToolBuilder

description: ToolBuilder


className: UExtrudeMeshSelectionToolProperties


code: UOffsetMeshSelectionTool()


className: UOffsetMeshSelectionTool


className: UOffsetMeshSelectionToolBuilder

description: ToolBuilder


className: UOffsetMeshSelectionToolProperties


className: EGroupBoundaryConstraint

description: Group Boundary Constraint Types

code: enum EGroupBoundaryConstraint { Fixed = (uint8)EEdgeRefineFlags::FullyConstrained, Refine = (uint8)EEdgeRefineFlags::SplitsOnly, Free = (uint8)EEdgeRefineFlags::NoFlip, Ignore = (uint8)EEdgeRefineFlags::NoConstraint, }


className: EMaterialBoundaryConstraint

description: Material Boundary Constraint Types

code: enum EMaterialBoundaryConstraint { Fixed = (uint8)EEdgeRefineFlags::FullyConstrained, Refine = (uint8)EEdgeRefineFlags::SplitsOnly, Free = (uint8)EEdgeRefineFlags::NoFlip, Ignore = (uint8)EEdgeRefineFlags::NoConstraint, }


className: EMeshBoundaryConstraint

description: Mesh Boundary Constraint Types

code: enum EMeshBoundaryConstraint { Fixed = (uint8)EEdgeRefineFlags::FullyConstrained, Refine = (uint8)EEdgeRefineFlags::SplitsOnly, Free = (uint8)EEdgeRefineFlags::NoFlip, }


code: void Update ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, const FTransform & Transform )


className: UMeshAnalysisProperties

SurfaceArea

type: FString

description: In meters squared

Volume

description: In cubic meters


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() virtual bool IsPreventNormalFlipsEnabled() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() virtual bool IsPreventTinyTrianglesEnabled() const


className: UMeshConstraintProperties

bPreserveSharpEdges

description: If true, sharp edges are preserved

bPreventNormalFlips

description: Prevent normal flips

bPreventTinyTriangles

description: Prevent introduction of tiny triangles or slivers

GroupBoundaryConstraint

type: EGroupBoundaryC...

description: Group Boundary Constraint Type

MaterialBoundaryConstraint

type: EMaterialBounda...

description: Material Boundary Constraint Type

MeshBoundaryConstraint

type: EMeshBoundaryCo...

description: Mesh Boundary Constraint Type


code: void Update ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh )


className: UMeshStatisticsProperties


className: EBrushToolSizeType

description: Type of Brush Size currently active inFBrushToolRadius

code: enum EBrushToolSizeType { Adaptive = 0, World = 1, }


className: EMeshSculptFalloffType

description: Mesh Sculpting Brush Types

code: enum EMeshSculptFalloffType { Smooth = 0, Linear = 1, Inverse = 2, Round = 3, BoxSmooth = 4, BoxLinear = 5, BoxInverse = 6, BoxRound = 7, LastValue, }


className: EPlaneBrushSideMode

code: enum EPlaneBrushSideMode { BothSides = 0, PushDown = 1, PullTowards = 2, }


className: ESculptBrushOpTargetType

code: enum ESculptBrushOpTargetType { SculptMesh, TargetMesh, ActivePlane, }


className: EVertexColorPaintBrushOpBlendMode

code: enum EVertexColorPaintBrushOpBlendMode { Lerp = 0, Mix = 1, Multiply = 2, }


description: Decrease the current radius dimension by a fixed step (or a smaller fixed step)

code: void DecreaseRadius ( bool bSmallStep )


description: Return the set/calculated world-space radius for the current settings

code: float GetWorldRadius() const


className: URemeshProperties

bCollapses

description: Enable edge collapses in Remeshing

bFlips

description: Enable edge flips in Remeshing (tends to lose edges/detail)

bSplits

description: Enable edge splits in Remeshing

SmoothingStrength

description: Amount of Vertex Smoothing applied within Remeshing


description: Increase the current radius dimension by a fixed step (or a smaller fixed step)

code: void IncreaseRadius ( bool bSmallStep )


description: Util functionsSet the WorldSizeRange value and optionally clamp the WorldRadius based on this new range

code: void InitializeWorldSizeRange ( [TInterval](API\Runtime\Core\Math\TInterval)< float > Range, bool bValidateWorldRadius )


className: FBrushToolRadius

description: FBrushToolRadiusis used to define the size of 3D "brushes" used in (eg) sculpting tools. The brush size can be defined in various ways.

DisplayName

description: Adaptive brush size is used to interpolate between an object-specific minimum and maximum brush size

SizeType

type: EBrushToolSizeT...

description: Specify the type of brush size currently in use

WorldSizeRange

type: TInterval< floa...

description: WorldSizeRange defines the min/max dimensions for Adaptive brush size


code: virtual void ApplyStamp ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Vertices, [TArray](API\Runtime\Core\Containers\TArray)< FVector3d > & NewPositionsOut )


description: Overrideable Brush Op configuration things


className: NearestQueryFuncType

code: typedef [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool(int32, const FVector3d &, double, FVector3d &, FVector3d &)> NearestQueryFuncType


className: FEraseToBaseMeshBrushOp

code: class FEraseToBaseMeshBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)

BaseMeshNearestQueryFunc

type: NearestQueryFun...

BrushSpeedTuning

type: double


code: FEraseToBaseMeshBrushOp ( [NearestQueryFuncType](API\Plugins\MeshModelingToolsExp\Sculpting\FEraseToBaseMeshBrushOp\NearestQueryFunc-) QueryFunc )


code: virtual bool WantsStampRegionPlane() const


className: FFlattenBrushOp

code: class FFlattenBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


code: virtual void ApplyStampByTriangles ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Triangles, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & NewGroupsOut )


className: FGroupEraseBrushOp

code: class FGroupEraseBrushOp : public [FMeshTriangleGroupEditBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshTriangleGroupEditBrushOp)


className: FGroupPaintBrushOp

code: class FGroupPaintBrushOp : public [FMeshTriangleGroupEditBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshTriangleGroupEditBrushOp)


className: FInflateBrushOp

code: class FInflateBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


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


code: FLambdaMeshSculptBrushOpFactory()


className: FLambdaMeshSculptBrushOpFactory

code: class FLambdaMeshSculptBrushOpFactory : public [FMeshSculptBrushOpFactory](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOpFactory)

BuildFunc

type: TUniqueFunction...


code: virtual void BeginStroke ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InitialVertices )


code: void ApplyStamp ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Vertices, [TArray](API\Runtime\Core\Containers\TArray)< FVector3d > & NewValuesOut )


code: virtual void ConfigureOptions ( const [FSculptBrushOptions](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushOptions) & Options )


code: virtual void EndStroke ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & FinalVertices )


code: virtual bool GetAlignStampToView() const


code: const [FMeshSculptFallofFunc](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptFallofFunc) & GetFalloff() const


code: FLambdaMeshSculptBrushOpFactory ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp) >(void)> BuildFuncIn )


code: template<typename PropType> PropType * GetPropertySetAs()


code: virtual bool IgnoreZeroMovements() const


code: virtual bool SupportsVariableSpacing() const


code: virtual bool WantsStampRegionPlane() const


code: virtual ~FMeshSculptBrushOp()


className: FMeshSculptBrushOp

code: class FMeshSculptBrushOp

CurrentOptions

type: FSculptBrushOpt...

Falloff

type: TSharedPtr<FMe...

PropertySet

type: TWeakObjectPtr<...


className: FMeshSculptBrushOpFactory

code: class FMeshSculptBrushOpFactory


code: virtual ~FMeshSculptBrushOpFactory()


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


className: FMeshSculptFallofFunc

code: class FMeshSculptFallofFunc


description: Not supported for this kind of brush op

code: virtual void ApplyStamp ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Vertices, [TArray](API\Runtime\Core\Containers\TArray)< FVector3d > & NewColorsOut )


code: void ApplyStampByTriangles ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Triangles, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & NewGroupsOut )


className: FMeshTriangleGroupEditBrushOp

code: class FMeshTriangleGroupEditBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


code: void ApplyStampToVertexColors ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [FDynamicMeshColorOverlay](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshColorOverlay) * VertexColors, [TArray](API\Runtime\Core\Containers\TArray)< FVector4f > & InitialVertexColorBuffer, [TArray](API\Runtime\Core\Containers\TArray)< FVector4f > & StrokeVertexColorBuffer, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ElementIDs, [TArray](API\Runtime\Core\Containers\TArray)< FVector4f > & NewColorsOut )


description: Not supported for this kind of brush op

code: virtual void ApplyStamp ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Vertices, [TArray](API\Runtime\Core\Containers\TArray)< FVector3d > & NewColorsOut )


className: FMeshVertexColorBrushOp

code: class FMeshVertexColorBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


code: virtual void ApplyStamp ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Vertices, [TArray](API\Runtime\Core\Containers\TArray)< FVector3d > & NewPositionsOut )


className: FMoveBrushOp

code: class FMoveBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


code: virtual void BeginStroke ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InitialVertices )


className: FPinchBrushOp

code: class FPinchBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


className: FPlaneBrushOp

code: class FPlaneBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


className: FSculptBrushOptions

code: struct FSculptBrushOptions


code: bool HasAlpha() const


className: FSmoothBrushOp

code: class FSmoothBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


className: FSmoothFillBrushOp

code: class FSmoothFillBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


className: FSculptBrushStamp

code: struct FSculptBrushStamp

RegionPlane

description: Only initialized if current op requires it

StampAlphaFunc

type: TFunction< doub...

description: Stamp alpha

TimeStamp

type: FDateTime


className: NearestQueryFuncType

code: typedef [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool(int32, const FVector3d &, double, FVector3d &, FVector3d &)> NearestQueryFuncType


code: virtual bool SupportsVariableSpacing() const


code: FSurfaceMaxSculptBrushOp ( [NearestQueryFuncType](API\Plugins\MeshModelingToolsExp\Sculpting\FSurfaceMaxSculptBrushOp\NearestQueryFunc-) QueryFunc )


className: FSurfaceMaxSculptBrushOp

code: class FSurfaceMaxSculptBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


code: FSurfaceSculptBrushOp ( [NearestQueryFuncType](API\Plugins\MeshModelingToolsExp\Sculpting\FSurfaceSculptBrushOp\NearestQueryFunc-) QueryFunc )


className: FSurfaceSculptBrushOp

code: class FSurfaceSculptBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


code: virtual void ApplyStampToVertexColors ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [FDynamicMeshColorOverlay](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshColorOverlay) * VertexColors, [TArray](API\Runtime\Core\Containers\TArray)< FVector4f > & InitialVertexColorBuffer, [TArray](API\Runtime\Core\Containers\TArray)< FVector4f > & StrokeVertexColorBuffer, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ElementIDs, [TArray](API\Runtime\Core\Containers\TArray)< FVector4f > & NewColorsOut )


className: FVertexColorSmoothBrushOp

code: class FVertexColorSmoothBrushOp : public [UE::Geometry::FMeshVertexColorBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshVertexColorBrushOp)

ElementIDVertexIndices

type: TArray< int32 >

SmoothedVertexColors

type: TArray< FVector...


className: FVertexColorSoftenBrushOp

description: Soften brush averages colors at any vertices that have split elements, effectively un-splitting them Currently this averaging is done in a single step, ie falloff/etc is ignored, but it could be done more gradually...

code: class FVertexColorSoftenBrushOp : public [UE::Geometry::FMeshVertexColorBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshVertexColorBrushOp)


className: FVertexPaintBrushOp

code: class FVertexPaintBrushOp : public [UE::Geometry::FMeshVertexColorBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshVertexColorBrushOp)


code: virtual void ApplyStamp ( const FDynamicMesh3 * Mesh, const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) & Stamp, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Vertices, [TArray](API\Runtime\Core\Containers\TArray)< FVector3d > & NewPositionsOut )


code: virtual bool GetAlignStampToView() const


code: FViewAlignedSculptBrushOp ( [NearestQueryFuncType](API\Plugins\MeshModelingToolsExp\Sculpting\FViewAlignedSculptBrushOp\NearestQueryFunc-) QueryFunc )


className: FViewAlignedSculptBrushOp

code: class FViewAlignedSculptBrushOp : public [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp)


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


className: TBasicMeshSculptBrushOpFactory

code: template<typename OpType> class TBasicMeshSculptBrushOpFactory : public [FMeshSculptBrushOpFactory](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOpFactory)


className: UBasePlaneBrushOpProps


code: virtual bool GetPreserveUVFlow()


className: UBaseSmoothBrushOpProps


code: namespace UELocal { template<typename RealType> [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > UELocal::BlendColors ( const [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > & Background, const [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > & Foreground, RealType Alpha, [EVertexColorPaintBrushOpBlendMode](API\Plugins\MeshModelingToolsExp\Sculpting\EVertexColorPaintBrushOpBlendMod-) BlendMode ) }


code: namespace UELocal { template<typename RealType> [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > UELocal::BlendColors_Lerp ( const [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > & A, const [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > & B, RealType Alpha ) }


code: namespace UELocal { template<typename RealType> [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > UELocal::BlendColors_Mix ( const [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > & BackColor, const [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > & ForeColor, RealType Alpha ) }


code: namespace UELocal { template<typename RealType> [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > UELocal::BlendColors_Multiply ( const [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > & A, const [UE::Math::TVector4](API\Runtime\Core\Math\TVector4)< RealType > & B, RealType Alpha ) }


code: virtual float GetFalloff()


code: virtual float GetStrength()


description: Support for this is optional, used by UI level to edit brush props via hotkeys/etc

code: virtual void SetStrength ( float NewStrength )


className: UEraseBrushOpProps

Falloff

type: float

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

Strength

description: Strength of the Brush


code: namespace UE { namespace SculptFalloffs { static [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< double(const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) &, const FVector3d &)> UE::SculptFalloffs::MakeStandardSmoothFalloff() } }


code: namespace UE { namespace SculptFalloffs { static [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< double(const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) &, const FVector3d &)> UE::SculptFalloffs::MakeSmoothBoxFalloff() } }


code: namespace UE { namespace SculptFalloffs { static [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< double(const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) &, const FVector3d &)> UE::SculptFalloffs::MakeLinearBoxFalloff() } }


code: namespace UE { namespace SculptFalloffs { static [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< double(const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) &, const FVector3d &)> UE::SculptFalloffs::MakeRoundBoxFalloff() } }


code: namespace UE { namespace SculptFalloffs { static [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< double(const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) &, const FVector3d &)> UE::SculptFalloffs::MakeInverseBoxFalloff() } }


code: namespace UE { namespace SculptFalloffs { static [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< double(const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) &, const FVector3d &)> UE::SculptFalloffs::MakeInverseFalloff() } }


code: namespace UE { namespace SculptFalloffs { static [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< double(const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) &, const FVector3d &)> UE::SculptFalloffs::MakeLinearFalloff() } }


code: namespace UE { namespace SculptFalloffs { static [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< double(const [FSculptBrushStamp](API\Plugins\MeshModelingToolsExp\Sculpting\FSculptBrushStamp) &, const FVector3d &)> UE::SculptFalloffs::MakeRoundFalloff() } }


description: Recompute overlay normals for the overlay elements belonging to all the ModifiedTris. ElementSetTemp will be populated with all the normal overlay element IDs (you provide to allow for re-use of allocated memory)

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::RecalculateNormals_Overlay ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & ModifiedTris, [FUniqueIndexSet](API\Runtime\GeometryCore\Util\FUniqueIndexSet) & ElementSetTemp ) } }


description: Recompute overlay normals for the overlay elements belonging to all the ModifiedTris. ElementSetBuffer and NormalsBuffer will be populated with all the normal overlay element IDs (you provide to allow for re-use of allocated memory)

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::RecalculateNormals_Overlay ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & ModifiedTris, [TSet](API\Runtime\Core\Containers\TSet)< int32 > & ElementSetBuffer, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & NormalsBuffer ) } }


description: Recompute mesh vertex normals for the vertices belonging to all the ModifiedTris. VertexSetTemp will be populated with all the vertex IDs (you provide to allow for re-use of allocated memory)

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::RecalculateNormals_PerVertex ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & ModifiedTris, [FUniqueIndexSet](API\Runtime\GeometryCore\Util\FUniqueIndexSet) & VertexSetTemp ) } }


description: Recompute mesh vertex normals for the vertices belonging to all the ModifiedTris. VertexSetBuffer and NormalsBuffer will be populated with all the vertex IDs (you provide to allow for re-use of allocated memory)

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::RecalculateNormals_PerVertex ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & ModifiedTris, [TSet](API\Runtime\Core\Containers\TSet)< int32 > & VertexSetBuffer, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & NormalsBuffer ) } }


description: Precalculate IndexSetTemp for the modified TriangleROI, the indices will either be overlay normal element IDs, or vertex IDs

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::PrecalculateNormalsROI ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & TriangleROI, [FUniqueIndexSet](API\Runtime\GeometryCore\Util\FUniqueIndexSet) & IndexSetTemp, bool & bIsOverlayElementsOut, bool bForceVertex ) } }


description: Precalculate ROIFlags for the modified TriangleROI, the indices will either be overlay normal element IDs, or vertex IDs. ROIFlags will be resized to either the max overlay element ID, or the max vertex ID, and indices in the ROI will be set to true

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::PrecalculateNormalsROI ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & TriangleROI, [TArray](API\Runtime\Core\Containers\TArray)< std::atomic< bool >> & ROIFlags, bool & bIsOverlayElementsOut, bool bForceVertex ) } }


description: Recalculate either overlay normals or vertex normals for the given Indices

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::RecalculateROINormals ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Indices, bool bIsOverlayElements ) } }


description: Recalculate either overlay normals or vertex normals for the given indices that are true in ROIFlags

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::RecalculateROINormals ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, [TArray](API\Runtime\Core\Containers\TArray)< std::atomic< bool >> & ROIFlags, bool bIsOverlayElements ) } }


description: Recompute normals for either the normals overlay or vertex normals of the mesh that belong to all the ModifiedTris IndexSetTemp will be populated with either the recomputed overlay element IDs or vertex IDs

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::RecalculateROINormals ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & TriangleROI, [FUniqueIndexSet](API\Runtime\GeometryCore\Util\FUniqueIndexSet) & IndexSetTemp, bool bForceVertex ) } }


description: Recompute normals for either the normals overlay or vertex normals of the mesh that belong to all the ModifiedTris TempSetBuffer and NormalsBuffer will be populated with either the recomputed overlay element IDs or vertex IDs

code: namespace UE { namespace SculptUtil { void UE::SculptUtil::RecalculateROINormals ( [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * Mesh, const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & TriangleROI, [TSet](API\Runtime\Core\Containers\TSet)< int32 > & TempSetBuffer, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & NormalsBuffer, bool bForceVertex ) } }


code: virtual float GetDepth()


code: virtual float GetFalloff()


code: virtual float GetStrength()


code: virtual void SetStrength ( float NewStrength )


className: UFixedPlaneBrushOpProps

Depth

description: Depth of Brush into surface relative to plane

Falloff

description: Amount of falloff to apply

description: Strength of the Brush

WhichSide

type: EPlaneBrushSide...

description: Control whether effect of brush should be limited to one side of the Plane


className: UFlattenBrushOpProps

Depth

description: Depth of Brush into surface along surface normal

Falloff

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

Strength

description: Strength of the Brush


code: virtual int32 GetGroup()


className: UGroupPaintBrushOpProps

bOnlyPaintUngrouped

type: bool

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

Group

description: The group that will be assigned to triangles within the brush region


className: UGroupEraseBrushOpProps

bOnlyEraseCurrent

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

GetCurrentGroupLambda

description: This lambda defines the "current" group for bOnlyEraseCurrent mode

description: Group to set as Erased value


className: UInflateBrushOpProps

Falloff

description: Amount of falloff to apply

Strength

description: Strength of the Brush


className: UKelvinBrushProperties

BrushSteps

type: int

description: Integration steps

FallOffDistance

description: Brush Fall off as fraction of brush size

Incompressiblity

description: How compressible the spatial region is: 1 - 2 x Poisson ratio

Stiffness

description: How much the mesh resists shear


code: virtual void SetFalloff ( float NewFalloff )


className: UMeshSculptBrushOpProps


code: void AlignBrushToView()


code: virtual void AccumulateStrokeTime ( float DeltaTime )


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: virtual [FFrame3d](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FFrame3d) ComputeStampRegionPlane ( const [FFrame3d](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FFrame3d) & StampFrame, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & StampTriangles, bool bIgnoreDepth, bool bViewAligned, bool bInvDistFalloff )


code: virtual [FFrame3d](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FFrame3d) ComputeStampRegionPlane ( const [FFrame3d](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FFrame3d) & StampFrame, const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & StampTriangles, bool bIgnoreDepth, bool bViewAligned, bool bInvDistFalloff )


code: virtual void ConfigureIndicator ( bool bVolumetric )


code: virtual void CalculateBrushRadius()


code: virtual void DecreaseBrushSpeedAction()


className: EPendingWorkPlaneUpdate

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


className: FBrushTypeInfo

description: Brush Types

code: struct FBrushTypeInfo

Name

type: FText


className: FFalloffTypeInfo

description: Falloff types

code: struct FFalloffTypeInfo

StringIdentifier

type: FString


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: virtual [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshSculptBrushOp](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOp) > & GetActiveBrushOp()


code: virtual double GetActivePressure() const


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


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


code: bool GetBrushCanHitBackFaces() const


code: const [FFrame3d](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FFrame3d) & GetBrushFrameLocal() const


code: const [FFrame3d](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FFrame3d) & GetBrushFrameWorld() const


code: int32 GetBrushTriangleID() const


code: virtual double GetCurrentBrushDepth()


code: virtual double GetCurrentBrushFalloff() const


code: virtual double GetCurrentBrushRadius() const


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


code: virtual bool GetIndicatorVisibility() const


code: virtual bool GetInInvertStroke() const


code: virtual bool GetInSmoothingStroke() const


code: virtual bool GetIsVolumetricIndicator()


code: FRay3d GetLocalRay ( const FRay & WorldRay ) const


code: virtual const FRay & GetPendingStampRayWorld() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FBrushTypeInfo](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FBrushTypeInfo) > & GetRegisteredPrimaryBrushTypes() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FFalloffTypeInfo](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FFalloffTypeInfo) > & GetRegisteredPrimaryFalloffTypes() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FBrushTypeInfo](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FBrushTypeInfo) > & GetRegisteredSecondaryBrushTypes() const


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


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


description: Subclass must implement this and return relevant rendering component


description: Temporal Flow Rate defines the frequency of stamp placement. 1 is max rate, 0 is no stamps. Defaults to BrushProperties->FlowRate, but subclasses can re-use that setting for other things.

code: virtual float GetStampTemporalFlowRate() const


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

code: virtual FBox GetWorldSpaceFocusBox()


description: UMeshSurfacePointToolAPI.

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


description: Client currently needs to implement these...

code: virtual void IncreaseBrushSpeedAction()


code: virtual void InitializeBrushSizeRange ( const [UE::Geometry::FAxisAlignedBox3d](API\Runtime\GeometryCore\FAxisAlignedBox3d) & TargetBounds )


description: Brush indicator

code: virtual void InitializeIndicator()


description: Subclass calls this to set up editing component

code: void InitializeSculptMeshComponent ( [UBaseDynamicMeshComponent](API\Runtime\GeometryFramework\Components\UBaseDynamicMeshComponent) * Component, [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor )


code: virtual bool InStroke() const


code: virtual bool IsStampPending() const


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


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

code: virtual void OnBeginDrag ( const FRay & Ray )


code: virtual void OnBeginStroke ( const FRay & WorldRay )


code: virtual void OnCompleteSetup()


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


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

code: virtual void OnTick ( float DeltaTime )


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

code: virtual void OnUpdateDrag ( const FRay & Ray )


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


code: virtual void PreviousBrushModeAction()


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 )


code: void RegisterBrushType ( int32 Identifier, [FText](API\Runtime\Core\Internationalization\FText) Name, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshSculptBrushOpFactory](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOpFactory) > Factory, [UMeshSculptBrushOpProps](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptBrushOpProps) * PropSet )


code: void RegisterSecondaryBrushType ( int32 Identifier, [FText](API\Runtime\Core\Internationalization\FText) Name, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FMeshSculptBrushOpFactory](API\Plugins\MeshModelingToolsExp\Sculpting\FMeshSculptBrushOpFactory) > Factory, [UMeshSculptBrushOpProps](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptBrushOpProps) * PropSet )


code: void RegisterStandardFalloffTypes()


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


code: virtual void RestoreAllBrushTypeProperties ( [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * RestoreToTool )


code: virtual void SaveAllBrushTypeProperties ( [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * SaveFromTool )


code: void SetActivePrimaryBrushType ( int32 Identifier )


code: void SetActiveSecondaryBrushType ( int32 Identifier )


code: void SetBrushOpPropsVisibility ( bool bVisible )


code: virtual void SetFixedSculptPlaneFromWorldPos ( const FVector & Position, const FVector & Normal, [EPendingWorkPlaneUpdate](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\EPendingWorkPlan-) UpdateType )


code: virtual void SetIndicatorVisibility ( bool bVisible )


description: Set the active falloff type for the primary brush

code: virtual void SetPrimaryFalloffType ( [EMeshSculptFalloffType](API\Plugins\MeshModelingToolsExp\Sculpting\EMeshSculptFalloffType) Falloff )


description: Register InputBehaviors, etc

code: virtual void Setup()


code: virtual void SetViewPropertiesEnabled ( bool bNewValue )


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


code: virtual bool ShowWorkPlane() const


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


code: void UpdateBrushFrameWorld ( const FVector3d & NewPosition, const FVector3d & NewNormal )


code: virtual bool UpdateBrushPositionOnActivePlane ( const FRay & WorldRay )


code: virtual bool UpdateBrushPositionOnTargetMesh ( const FRay & WorldRay, bool bFallbackToViewPlane )


code: virtual bool UpdateBrushPositionOnSculptMesh ( const FRay & WorldRay, bool bFallbackToViewPlane )


code: virtual void UpdateBrushTargetPlaneFromHit ( const FRay & WorldRay, const [FHitResult](API\Runtime\Engine\Engine\FHitResult) & Hit )


code: virtual void UpdateColorSetting ( [FLinearColor](API\Runtime\Core\Math\FLinearColor) NewColor )


code: virtual void UpdateCustomMaterial ( [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) > NewMaterial )


code: virtual void UpdateFixedPlaneGizmoVisibility ( bool bVisible )


code: virtual void UpdateFixedSculptPlanePosition ( const FVector & Position )


code: virtual void UpdateFlatShadingSetting ( bool bNewValue )


code: virtual void UpdateFixedSculptPlaneRotation ( const FQuat & Rotation )


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


code: virtual void UpdateImageSetting ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * NewImage )


code: virtual void UpdateMaterialMode ( [EMeshEditingMaterialModes](API\Plugins\MeshModelingTools\Properties\EMeshEditingMaterialModes) NewMode )


code: virtual void UpdateOpacitySetting ( double Opacity )


description: When in a stroke, this function determines when a new stamp should be emitted, based on spacing and flow rate settings

code: virtual void UpdateStampPendingState()


code: virtual void UpdateStrokeReferencePlaneForROI ( const [FFrame3d](API\Plugins\MeshModelingToolsExp\Sculpting\UMeshSculptToolBase\FFrame3d) & StampFrame, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & TriangleROI, bool bViewAligned )


code: virtual void UpdateTransparentColorSetting ( [FLinearColor](API\Runtime\Core\Math\FLinearColor) NewColor )


code: virtual void UpdateWireframeVisibility ( bool bNewValue )


code: virtual void UpdateWorkPlane()


className: UMeshSculptToolBase

description: Base Tool for mesh sculpting tools, provides some shared functionality

ActiveBrushTargetPlaneWorld

description: Brush Target Plane is plane that some brushes move on

ActiveOverrideMaterial

type: TObjectPtr<UMa...

ActiveStrokeTime

description: For tracking stroke time and length, to apply spacing and flow rate settings

bInStroke

description: Stroke Modifiers

bIsStampPending

description: Stamps

BrushIndicator

type: TObjectPtr<UBr...

BrushIndicatorMesh

type: TObjectPtr<UPr...

BrushOpFactories

type: TMap< int32,TU...

BrushOpPropSets

type: TMap< int32,TO...

BrushProperties

type: TObjectPtr<USc...

description: Properties that control brush size/etc

BrushRelativeSizeRange

description: Brush Size

CameraState

type: FViewCameraStat...

CurrentStamp

type: FSculptBrushSta...

CurTargetTransform

description: Active transformation on target mesh, includes baked scale

GizmoPositionWatcher

type: TValueWatcher< ...

GizmoProperties

type: TObjectPtr<UWo...

description: Properties for 3D workplane / gizmo

InitialTargetTransform

description: Initial transformation on target mesh

LastBrushFrameWorld

description: Brush/Stroke stuff

PendingStampRay

type: FRay

PendingWorkPlaneUpdate

type: EPendingWorkPla...

PlaneTransformGizmo

type: TObjectPtr<UCo...

description: Plane gizmo

PlaneTransformProxy

type: TObjectPtr<UTr...

PrimaryBrushOp

type: TUniquePtr<FMe...

PrimaryVisiblePropSet

type: UMeshSculptBrus...

RegisteredPrimaryBrushTypes

type: TArray<FBrushT...

RegisteredPrimaryFalloffTypes

type: TArray<FFallof...

StampRegionPlane

description: Stamp ROI Plane is a plane used by some brush ops

StrokePlane

description: Stroke plane is a plane used by some brush ops

TargetWorld

type: UWorld*

ViewProperties

type: TObjectPtr<UMe...

description: Display / Material


code: virtual float GetDepth()


code: virtual float GetFalloff()


code: virtual void UpdateTwoSidedSetting ( bool bOn )


code: virtual float GetStrength()


description: Support for this is optional, used by UI level to edit brush props via hotkeys/etc

code: virtual void SetStrength ( float NewStrength )


className: UMoveBrushOpProps

AxisFilters

type: FModelingToolsA...

description: Axis filters restrict mesh movement to World X/Y/Z axes

Depth

type: float

description: Depth of Brush into surface along view ray

Falloff

description: Amount of falloff to apply

Strength

description: Strength of the Brush


className: UPinchBrushOpProps

bPerpDamping

type: bool

description: When enabled, brush will damp motion of vertices that would move perpendicular to brush stroke direction

Depth

description: Depth of Brush into surface along surface normal

Falloff

description: Amount of falloff to apply

description: Strength of the Brush


className: UPlaneBrushOpProps

description: Amount of falloff to apply

Strength

description: Strength of the Brush

WhichSide

type: EPlaneBrushSide...

description: Control whether effect of brush should be limited to one side of the Plane


className: USculptBrushProperties

bHitBackFaces

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

BrushFalloffAmount

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

BrushSize

type: FBrushToolRadiu...

bShowFalloff

description: If false, then BrushFalloffAmount will not be shown in DetailsView panels (otherwise no effect)

Depth

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

FlowRate

description: Brush stamps are applied at this time interval.

Lazyness

description: Lazy brush smooths out the brush path by averaging the cursor positions

Spacing

description: Space out stamp centers at distances Spacing*BrushDiameter along the stroke (so Spacing of 1 means that stamps will be adjacent but non-overlapping).


className: USculptMaxBrushOpProps

bUseFixedHeight

description: If true, maximum height is defined using the FixedHeight constant instead of brush-relative size

Falloff

description: Amount of falloff to apply

FixedHeight

description: Maximum height in world-space dimension

MaxHeight

description: Maximum height as fraction of brush size

Strength

description: Strength of the Brush


className: USculptMaxBrushProperties

bFreezeCurrentHeight

description: Use maximum height from last brush stroke, regardless of brush size.

MaxHeight

description: Specify maximum displacement height (relative to brush size)


code: virtual bool GetPreserveUVFlow()


className: USecondarySmoothBrushOpProps

bPreserveUVFlow

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

Falloff

description: Amount of falloff to apply

Strength

description: Strength of the Brush


className: USmoothBrushOpProps

Falloff

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

description: Strength of the Brush


className: USmoothFillBrushOpProps

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

Strength

description: Strength of the Brush


className: UStandardSculptBrushOpProps

Falloff

description: Amount of falloff to apply

description: Strength of the Brush


code: virtual void SetFalloff ( float NewFalloff )


className: UVertexColorPaintBrushOpProps

Color

type: FLinearColor

description: The paint color


className: UVertexColorBaseBrushOpProps

bApplyFalloff

description: If bApplyFalloff is disabled, 1.0 is used as "falloff" for all vertices

BlendMode

type: EVertexColorPai...

Falloff

description: Amount of falloff to apply

Strength

description: Strength of the Brush


code: virtual [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetColor() const


className: UVertexColorSmoothBrushOpProps


className: UVertexColorSoftenBrushOpProps


description: Support for this is optional, used by UI level to edit brush props via hotkeys/etc


className: UViewAlignedPlaneBrushOpProps

Depth

description: Depth of Brush into surface along view ray

Falloff

description: Amount of falloff to apply

description: Strength of the Brush


className: UViewAlignedSculptBrushOpProps

description: Amount of falloff to apply

Strength

description: Strength of the Brush


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

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


className: UWorkPlaneProperties

bShowGizmo

description: Toggle whether Work Plane Positioning Gizmo is visible

Position

type: FVector

Rotation

type: FQuat


description: Do hover hit-test

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


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


code: void GeneratePlane ( [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * OutMesh )


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


description: Initialize hover sequence at given position

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


description: Click the Target at this 2D position / 3D ray. Default behavior is to print debug string.

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


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: Terminate active hover sequence

code: virtual void OnEndHover()


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

code: virtual void OnTick ( float DeltaTime )


description: Update active hover sequence with new input position

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


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

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


description: Register default primary-button-click InputBehaviors

code: virtual void Setup()


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


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


code: void UpdatePreviewMesh()


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


className: UAddPatchTool

MaterialProperties

type: TObjectPtr<UNe...

PreviewMesh

type: TObjectPtr<UPr...

ShapeSettings

type: TObjectPtr<UAd...

WorldBounds

type: FBox


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

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


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

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


className: UAddPatchToolBuilder


code: UAddPatchToolProperties()


className: UAddPatchToolProperties

Rotation

description: Rotation around up axis

Shift

description: Rotation around up axis

Subdivisions

type: int

description: Subdivisions

Width

description: Width of Shape


code: virtual bool CanAccept() const


className: FAlignInfo

code: struct FAlignInfo

Component

type: UPrimitiveCompo...

SavedTransform

type: FTransform

WorldBounds

type: FAxisAlignedBox...


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

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


code: virtual bool HasAccept() const


code: virtual bool HasCancel() const


description: Notify Target that input position has changed

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


description: Notify Target that click press ocurred

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


description: Notify Target that click release occurred

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


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


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


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

code: virtual void OnTerminateDragSequence()


code: virtual void OnTick ( float DeltaTime )


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

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


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


code: void UpdateAlignment_BoundingBoxes()


code: void UpdateAlignment_Pivots()


className: UAlignObjectsTool

description: UAlignObjectsTooltransforms the input Components so that they are aligned in various ways, depending on the current settings. The object positions move after every change in the parameters. Currently those changes are not transacted. On cancel the original positions are restored, and on accept the positions are updated with a transaction.

AlignProps

type: TObjectPtr<UAl...

ComponentInfo

type: TArray<FAlignI...


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


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


className: UAlignObjectsToolProperties

description: Standard properties of the Align Objects Operation

AlignTo

type: EAlignObjectsAl...

bAlignX

type: bool

BoxPosition

type: EAlignObjectsBo...


className: UBakeCurvatureMapToolProperties

Clamping

type: EBakeCurvatureC...

description: Clamping applied to curvature values before color mapping

ColorMapping

description: How to map calculated curvature values to colors

ColorRangeMultiplier

type: float

description: Multiplier for how the curvature values fill the available range in the selected Color Mapping; a larger value means that higher curvature is required to achieve the maximum color value.

CurvatureType

type: EBakeCurvatureT...

description: Type of curvature

MinRangeMultiplier

description: Minimum for the curvature values to not be clamped to zero relative to the curvature for the maximum color value; a larger value means that higher curvature is required to not be considered as no curvature.


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


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


className: UBakeInputMeshProperties

bHasSourceNormalMap

description: If true, expose the SourceNormalMap and SourceNormalMapUVLayer properties

bHasTargetUVLayer

description: If true, expose the TargetUVLayer property

bProjectionInWorldSpace

type: HideEditConditi...

EditCondition

description: Target mesh to sample to

GetOptions

description: UV channel to use for the target mesh

SourceDynamicMesh

type: EditConditionHi...

SourceUVLayerNamesList

type: TArray<FString...


Result

type: TMap<EBakeMapT...

description: Bake


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


code: void InvalidateResults()


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


code: void SetSourceObjectVisible ( bool bState )


code: void UpdateDetailMesh()


code: void UpdateOnModeChange()


description: Process dirty props and update background compute. Invoked during Render.

code: virtual void UpdateResult()


code: [EBakeOpState](API\Plugins\MeshModelingToolsExp\EBakeOpState) UpdateResult_DetailMeshTangents ( [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType) BakeType )


description: Updates the preview material on the preview mesh with the computed results. Invoked by OnMapsUpdated.

code: virtual void UpdateVisualization()


code: bool ValidDetailMeshTangents()


code: UBakeMeshAttributeMapsTool()


className: UBakeMeshAttributeMapsTool

description: Detail Map Baking Tool

CachedDetailMeshSettings

type: FDetailMeshSett...

InputMeshSettings

type: TObjectPtr<UBa...

description: Need to update bResultValid if these are modified, so we don't publicly expose them.


description: Create texture assets from our result map of Texture2D

code: void CreateTextureAssets ( const [TMap](API\Runtime\Core\Containers\TMap)< [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType), [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) >> & Textures, [UWorld](API\Runtime\Engine\Engine\UWorld) * SourceWorld, [UObject](API\Runtime\CoreUObject\UObject\UObject) * SourceAsset )


className: FMeshSettings

code: struct FMeshSettings


code: bool operator&61;&61; &40; const FBakeSettings & Other &41; const


className: FBakeAnalytics

description: Analytics

code: struct FBakeAnalytics

BakeSettings

type: FBakeSettings

CurvatureSettings

type: FCurvatureMapSe...

MeshSettings

type: FMeshSettings

OcclusionSettings

type: FOcclusionMapSe...

TotalBakeDuration

type: double


className: FBakeSettings

description: Bake parameters

code: struct FBakeSettings

BakeMapTypes

type: EBakeMapType

BitDepth

type: EBakeTextureBit...

Dimensions

type: FImageDimension...


description: Computes the NumTargetMeshTris, NumDetailMesh and NumDetailMeshTris analytics.

code: virtual void GatherAnalytics ( [FBakeAnalytics::FMeshSettings](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeMapsToolBase\FBakeAnalytics\FMeshSettings) & Data )


description: Records bake timing and settings data for analytics.

code: static void GatherAnalytics ( const [UE::Geometry::FMeshMapBaker](API\Plugins\DynamicMesh\Sampling\FMeshMapBaker) & Result, const [FBakeSettings](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeMapsToolBase\FBakeSettings) & Settings, [FBakeAnalytics](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeMapsToolBase\FBakeAnalytics) & Data )


description: the analytics event name for this tool.

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


description:
Process a bitfield into an EBakeMapType. This function may inject additional map types based on the enabled bits. For example, enabling AmbientOcclusion if BentNormal is active.
An enumerated map type from a bitfield

code: static [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType) GetMapTypes ( const int32 & MapTypes )


description: the texture name given a base name and map type

code: static void GetTextureName ( [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType) MapType, const [FString](API\Runtime\Core\Containers\FString) & BaseName, [FString](API\Runtime\Core\Containers\FString) & TexName )


code: void InitializeEmptyMaps()


description: Invalidates the background compute operator.

code: void InvalidateCompute()


description: Retrieves the result of the FMeshMapBaker and generatesUTexture2Dinto the CachedMaps. It is the responsibility of the client to ensure that CachedMaps is appropriately sized for the range of index values in MapIndex.

code: void OnMapsUpdated ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [UE::Geometry::FMeshMapBaker](API\Plugins\DynamicMesh\Sampling\FMeshMapBaker) > & NewResult )


description: To be invoked by client when bake map types change.

code: void OnMapTypesUpdated ( [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType) ResultMapTypes, [TMap](API\Runtime\Core\Containers\TMap)< [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType), [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) >> & Result, [FString](API\Runtime\Core\Containers\FString) & MapPreview, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & MapPreviewNamesList, [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FString](API\Runtime\Core\Containers\FString) > & MapPreviewNamesMap )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


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

code: virtual void OnTick ( float DeltaTime )


description: Post-client setup function. Should be invoked at end of clientSetup(). Initialize common base tool properties (ex. visualization properties) and analytics.

code: void PostSetup()


description: Posts an analytics event using the given analytics struct.

code: static void RecordAnalytics ( const [FBakeAnalytics](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeMapsToolBase\FBakeAnalytics) & Data, const [FString](API\Runtime\Core\Containers\FString) & EventName )


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

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


description:
Utilities
the Texture2D type for a given map type

code: static [UE::Geometry::FTexture2DBuilder::ETextureType](API\Plugins\ModelingComponents\AssetUtils\FTexture2DBuilder\ETextureType) GetTextureType ( [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType) MapType, [EBakeTextureBitDepth](API\Plugins\ModelingComponents\Baking\EBakeTextureBitDepth) MapFormat )


description: Resets the preview material parameters to their default state.

code: void ResetPreview()


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

code: virtual void Setup()


description: Update the preview material parameters for a given a Bake type.

code: void UpdatePreview ( [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType) PreviewMapType )


description: Update the preview material parameters for a given Bake type display name.

code: void UpdatePreview ( const [FString](API\Runtime\Core\Containers\FString) & PreviewDisplayName, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FString](API\Runtime\Core\Containers\FString) > & MapPreviewNamesMap )


description: Process dirty props and update background compute. Invoked during Render.

code: virtual void UpdateResult()


description: Updates a tool property set's MapPreviewNamesList from the list of active map types. Also updates the MapPreview property if the current preview option is no longer available.

code: void UpdatePreviewNames ( const [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType) MapTypes, [FString](API\Runtime\Core\Containers\FString) & MapPreview, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & MapPreviewNamesList, [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString), [FString](API\Runtime\Core\Containers\FString) > & MapPreviewNamesMap )


code: [EBakeOpState](API\Plugins\MeshModelingToolsExp\EBakeOpState) UpdateResult_SampleFilterMask ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * SampleFilterMask )


description: Updates the preview material on the preview mesh with the computed results. Invoked by OnMapsUpdated.

code: virtual void UpdateVisualization()


code: UBakeMeshAttributeMapsToolBase()


className: UBakeMeshAttributeMapsToolBase

description: Base Bake Maps tool

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBakeMeshAttributeMapsToolBase : public [UBakeMeshAttributeTool](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeTool), public [UE::Geometry::IGenericDataOperatorFactory< UE::Geometry::FMeshMapBaker >](API\Plugins\ModelingOperators\IGenericDataOperatorFactory)

BakeAnalytics

type: FBakeAnalytics

BentNormalPreviewMaterial

type: TObjectPtr<UMa...

CachedMaps

description: Internal cache of bake texture results.

Compute

type: TUniquePtr<TGe...

description: Background compute

EmptyColorMapBlack

type: TObjectPtr<UTe...

EmptyNormalMap

description: Empty maps are shown when nothing is computed

PreviewMesh

type: TObjectPtr<UPr...

description: Preview mesh and materials

TargetMeshUVCharts

type: TSharedPtr<TAr...

VisualizationProps

description: Tool property sets


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


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

description: Tool Builder


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


className: UBakeMeshAttributeMapsToolProperties

BitDepth

description: The bit depth for each channel of the generated textures

EditCondition

description: The baked output type used for preview in the viewport

MapPreviewNamesList

type: TArray<FString...

MapPreviewNamesMap

type: TMap<FString, ...

Resolution

type: EBakeTextureRes...

description: The pixel resolution of the generated textures

SampleFilterMask

description: Mask texture for filtering out samples/pixels from the output texture

SamplesPerPixel

type: EBakeTextureSam...

description: Number of samples per pixel

ValidEnumValues

description: The bake output types to generate


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: Iterate through a primitive component's textures by material ID.

code: template<typename ProcessFn> static void ProcessComponentTextures ( const [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Component, ProcessFn && ProcessFunc )


description:
Utilities Given an array of textures associated with a material, use heuristics to identify the color/albedo texture.
integer index into the Textures array representing the color/albedo texture

code: static int SelectColorTextureToBake ( const [TArray](API\Runtime\Core\Containers\TArray)< [UTexture](API\Runtime\Engine\Engine\UTexture) * > & Textures )


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

code: virtual void Setup()


description: Find all source textures and material IDs for a given target.

code: static void UpdateMultiTextureMaterialIDs ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) >> & AllSourceTextures, [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) >> & MaterialIDTextures )


code: [EBakeOpState](API\Plugins\MeshModelingToolsExp\EBakeOpState) UpdateResult_Curvature ( const [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) & Dimensions )


code: [EBakeOpState](API\Plugins\MeshModelingToolsExp\EBakeOpState) UpdateResult_MeshProperty ( const [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) & Dimensions )


code: [EBakeOpState](API\Plugins\MeshModelingToolsExp\EBakeOpState) UpdateResult_MultiTexture ( const [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) & Dimensions, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * DetailMesh )


code: [EBakeOpState](API\Plugins\MeshModelingToolsExp\EBakeOpState) UpdateResult_Normal ( const [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) & Dimensions )


description: Update the OpState based on the validity of the target mesh tangents

code: [EBakeOpState](API\Plugins\MeshModelingToolsExp\EBakeOpState) UpdateResult_TargetMeshTangents ( [EBakeMapType](API\Plugins\MeshModelingToolsExp\EBakeMapType) BakeType )


code: [EBakeOpState](API\Plugins\MeshModelingToolsExp\EBakeOpState) UpdateResult_Occlusion ( const [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) & Dimensions )


code: [EBakeOpState](API\Plugins\MeshModelingToolsExp\EBakeOpState) UpdateResult_Texture2DImage ( const [FImageDimensions](API\Runtime\GeometryCore\Image\FImageDimensions) & Dimensions, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) * DetailMesh )


description:
Compute validity of the Target Mesh tangents. Only checks validity once and then caches the result for successive calls.
true if the TargetMesh tangents are valid

code: bool ValidTargetMeshTangents()


code: UBakeMeshAttributeTool()


className: UBakeMeshAttributeTool

description: Base Mesh Bake tool

bCheckTargetMeshTangents

type: bool

bPreferPlatformData

type: const bool

description: Bake results update management

CachedCurvatureMapSettings

type: FCurvatureMapSe...

CachedMeshPropertyMapSettings

type: FMeshPropertyMa...

CachedMultiTextures

type: TArray<TShared...

CachedNormalMapSettings

type: FNormalMapSetti...

CurvatureSettings

type: TObjectPtr<UBa...

OcclusionSettings

description: Bake tool property sets

OpState

type: EBakeOpState

description: Bake parameters

SecondsBeforeWorkingMaterial

type: float

WorkingPreviewMaterial

description: Preview materials


code: struct FMeshSettings


description: Analytics

code: struct FBakeAnalytics

BakeSettings

type: FBakeSettings

MeshSettings

type: FMeshSettings

OcclusionSettings

type: FOcclusionMapSe...

TotalBakeDuration

type: double


code: bool operator&61;&61; &40; const FBakeSettings & Other &41; const


code: struct FBakeSettings

OutputMode

type: EBakeVertexOutp...

OutputType

type: EBakeMapType

PreviewMode

type: EBakeVertexChan...


description: Computes the NumTargetMeshTris, NumDetailMesh and NumDetailMeshTris analytics.

code: virtual void GatherAnalytics ( [FBakeAnalytics::FMeshSettings](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeVertexTool\FBakeAnalytics\FMeshSettings) & Data )


description: Records bake timing and settings data for analytics.

code: static void GatherAnalytics ( const [UE::Geometry::FMeshVertexBaker](API\Plugins\DynamicMesh\Sampling\FMeshVertexBaker) & Result, const [FBakeSettings](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeVertexTool\FBakeSettings) & Settings, [FBakeAnalytics](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeVertexTool\FBakeAnalytics) & Data )


code: virtual bool HasAccept() const


code: virtual bool HasCancel() const


code: void OnResultUpdated ( const [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [UE::Geometry::FMeshVertexBaker](API\Plugins\DynamicMesh\Sampling\FMeshVertexBaker) > & NewResult )


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


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

code: virtual void OnTick ( float DeltaTime )


description: Outputs an analytics event using the given analytics struct.

code: static void RecordAnalytics ( const [FBakeAnalytics](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeVertexTool\FBakeAnalytics) & Data, const [FString](API\Runtime\Core\Containers\FString) & EventName )


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 SetSourceObjectVisible ( bool bState )


code: virtual void Setup()


code: void UpdateColorTopology()


code: void UpdateDetailMesh()


code: void UpdateOnModeChange()


code: void UpdateVisualization()


code: UBakeMeshAttributeVertexTool()


className: UBakeMeshAttributeVertexTool

description: Vertex Baking Tool

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBakeMeshAttributeVertexTool : public [UBakeMeshAttributeTool](API\Plugins\MeshModelingToolsExp\UBakeMeshAttributeTool), public [UE::Geometry::IGenericDataOperatorFactory< UE::Geometry::FMeshVertexBaker >](API\Plugins\ModelingOperators\IGenericDataOperatorFactory)

BakeAnalytics

type: FBakeAnalytics

Compute

type: TUniquePtr<TGe...

PreviewAlphaMaterial

type: TObjectPtr<UMa...

PreviewMesh

type: TObjectPtr<UPr...


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


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

description: Tool Builder


className: UBakeMeshAttributeVertexToolProperties

bSplitAtNormalSeams

type: bool

description: If true, compute a separate vertex color for each unique normal on a vertex

bSplitAtUVSeams

description: If true, Compute a separate vertex color for each unique UV on a vertex.

OutputMode

description: The bake output mode

OutputType

type: EditConditionHi...

PreviewMode

description: The vertex color channel to preview

ValidEnumValues

description: The bake output type to generate


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

code: typedef [TTuple](API\Runtime\Core\Misc\TTuple)< [UE::Geometry::TImageBuilder](API\Runtime\GeometryCore\Image\TImageBuilder)< FVector4f > *, int > FTextureImageData


className: FTextureImageMap

code: typedef [TMap](API\Runtime\Core\Containers\TMap)< void *, [UE::Geometry::IMeshBakerDetailSampler::FBakeDetailTexture](API\Plugins\DynamicMesh\Sampling\IMeshBakerDetailSampler\FBakeDetailTexture) > FTextureImageMap


code: virtual void GatherAnalytics ( FBakeAnalytics::FMeshSettings & Data )


description: Analytics.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetAnalyticsEventName() 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


code: void InvalidateResults()


code: virtual void Setup()


code: virtual void OnShutdown ( EToolShutdownType ShutdownType )


description: Process dirty props and update background compute. Invoked during Render.

code: virtual void UpdateResult()


description: Updates the preview material on the preview mesh with the computed results. Invoked by OnMapsUpdated.

code: virtual void UpdateVisualization()


code: UBakeMultiMeshAttributeMapsTool()


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

description: Tool Builder


className: UBakeMultiMeshAttributeMapsTool

description: N-to-1 Detail Map Baking Tool

CachedColorImages

type: TArray<TShared...

CachedColorUVLayers

type: TArray< int >

CachedDetailSettings

type: FBakeMultiMeshD...

description: Cached detail mesh data.

CachedMeshToColorImagesMap

type: FTextureImageMa...

Settings

description: Need to update bResultValid if these are modified, so we don't publicly expose them.


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


BitDepth

type: EBakeTextureBit...

description: The channel bit depth of the source data for the generated textures

EditCondition

description: The map type index to preview

MapPreviewNamesList

type: TArray<FString...

MapPreviewNamesMap

type: TMap<FString, ...

Resolution

type: EBakeTextureRes...

description: The pixel resolution of the generated map

SampleFilterMask

type: TObjectPtr<UTe...

description: Mask texture for filtering out samples/pixels from the output texture

SamplesPerPixel

type: EBakeTextureSam...

description: Number of samples per pixel

ValidEnumValues

description: The map types to generate


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


className: UBakeMultiMeshInputToolProperties

EditCondition

description: Target mesh to sample to

GetOptions

description: UV channel to use for the target mesh

ProjectionDistance

type: float

description: Maximum allowed distance for the projection from target mesh to source mesh for the sample to be considered valid.

SourceMeshes

type: TArray<FBakeMu...

description: Source meshes and textures to sample from

TargetUVLayer

type: NoResetToDefaul...


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


AllSourceTextures

type: TransientToolPr...

description: The set of all source textures from all input materials

GetOptions

description: UV channel to use for the source mesh texture

MaterialIDSourceTextures

type: EditFixedOrder ...

TransientToolProperty

description: For each material ID, the source texture that will be resampled in that material's region


className: UBakeNormalMapToolProperties


className: UBakeOcclusionMapToolProperties

BiasAngle

description: Angle in degrees from the horizon for occlusion rays for which the contribution is attenuated to reduce faceting artifacts.

MaxDistance

description: Maximum distance for occlusion rays to test for intersections; a value of 0 means infinity

OcclusionRays

description: Number of occlusion rays per sample

SpreadAngle

description: Maximum spread angle in degrees for occlusion rays; for example, 180 degrees will cover the entire hemisphere whereas 90 degrees will only cover the center of the hemisphere down to 45 degrees from the horizon.


SourceTexture

description: Source mesh texture that is to be resampled into a new texture


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


code: UBakeTransformTool()


className: UBakeTransformTool

description: Simple tool to bake scene transform on meshes into the mesh assets

BasicProperties

type: TObjectPtr<UBa...


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


code: UBakeTransformToolProperties()


className: UBakeTransformToolProperties

description: Standard properties

BakeScale

type: EBakeScaleMetho...

description: Bake scale

bAllowNoScale

type: bool

description: This variable is used to enable/disable the "DoNotBakeScale" option in the BakeScale enum It is marked as visible only so that theFBakeTransformToolDetailscan read it; it will be hidden by that DetailCustomization

bApplyToAllLODs

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

bBakeRotation

description: Bake rotation

bRecenterPivot

description: Recenter pivot after baking transform


className: UBakeVisualizationProperties

bPreviewAsMaterial

description: Preview the texture as an input to the respective material parameter (ex. Normal, Ambient Occlusion)

Brightness

description: Adjust the brightness of the preview material; does not affect results stored in textures

ClampMin

description: Ambient Occlusion multiplier in the viewport; does not affect results stored in textures


className: UBrushRemeshProperties

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

bEnableRemeshing

description: Toggle remeshing on/off

Iterations

type: int

PreserveDetail

description: Control the amount of simplification during sculpting.

TriangleSize

description: Note that if you change range here, you must also update UDynamicMeshSculptTool::ConfigureRemesher!


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

BasicProperties

type: TObjectPtr<UCo...

OutputTypeProperties

type: TObjectPtr<UCr...


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.


className: UConvertMeshesToolBuilder


className: UConvertMeshesToolProperties

description: Standard properties of the Transfer operation

bShowTransferMaterials

description: Control whether the transfer materials option is displayed


description: IDynamicMeshOperatorFactory API.


className: UConvertToPolygonsOperatorFactory


code: virtual bool HasAccept() const


code: virtual bool HasCancel() const


code: void OnSelectedFromGroupLayerChanged()


code: void OnSettingsModified()