Navigation
API > API/Plugins > API/Plugins/MeshModelingTools
Mesh Vertex Sculpt Tool Class
| Name | UMeshVertexSculptTool |
| Type | class |
| Header File | /Engine/Plugins/Runtime/MeshModelingToolset/Source/MeshModelingTools/Public/MeshVertexSculptTool.h |
| Include Path | #include "MeshVertexSculptTool.h" |
Syntax
UCLASS (MinimalAPI)
class UMeshVertexSculptTool :
public UMeshSculptToolBase ,
public IInteractiveToolManageGeometrySelectionAPI ,
public IModelingToolExternalDynamicMeshUpdateAPI
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UInteractiveTool → USingleSelectionTool → UMeshSurfacePointTool → UMeshSculptToolBase → UMeshVertexSculptTool
Implements Interfaces
- IClickDragBehaviorTarget
- IModifierToggleBehaviorTarget
- IHoverBehaviorTarget
- IInputBehaviorSource
- IInteractiveToolCameraFocusAPI
- IInteractiveToolManageGeometrySelectionAPI
- IModelingToolExternalDynamicMeshUpdateAPI
Derived Classes
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| OnInteractiveToolDetailsPanelRequestRebuild | TMulticastDelegate_NoParams< void > | OnDetailsPanelRequestRebuild is broadcast by the tool when it detects it needs to have it's details panel rebuilt outside of normal rebuilding triggers, such as changing property set objects. | MeshVertexSculptTool.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AlphaProperties | TObjectPtr< UVertexBrushAlphaProperties > | MeshVertexSculptTool.h | ||
| BrushAlpha | TObjectPtr< UTexture2D > | MeshVertexSculptTool.h | ||
| OnDetailsPanelRequestRebuild | OnInteractiveToolDetailsPanelRequestRebuild | MeshVertexSculptTool.h | ||
| SculptProperties | TObjectPtr< UVertexBrushSculptProperties > | Properties that control sculpting | MeshVertexSculptTool.h | |
| SymmetryProperties | TObjectPtr< UMeshSymmetryProperties > | MeshVertexSculptTool.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| InitialBoundsMaxDim | double | MeshVertexSculptTool.h | ||
| PendingStampBrushID | int32 | MeshVertexSculptTool.h | ||
| SculptLayerProperties | TObjectPtr< UMeshSculptLayerProperties > | TODO: These sculpt layer properties should be moved off this tool, to a separate UI. | MeshVertexSculptTool.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool CanUpdateBrushType() |
MeshVertexSculptTool.h | ||
virtual TSet< UMeshSculptToolBase::FBrushTypeInfo > GetAvailableBrushTypes() |
Retrieves a set of FBrushTypeInfos representing the brushes currently available to be enabled | MeshVertexSculptTool.h | |
virtual void ProcessToolMeshes
(
TFunctionRef< void(const FDynamicMesh3&, int32 MeshIdx)> ProcessMesh |
MeshVertexSculptTool.h | ||
virtual void SetActiveBrushType
(
int32 Identifier |
MeshVertexSculptTool.h | ||
virtual void SetActiveFalloffType
(
int32 Identifier |
MeshVertexSculptTool.h | ||
void SetDefaultPrimaryBrushID
(
int32 InPrimaryBrushID |
MeshVertexSculptTool.h | ||
virtual void SetRegionFilterType
(
int32 Identifier |
MeshVertexSculptTool.h | ||
virtual void UpdateBrushAlpha
(
UTexture2D* NewAlpha |
MeshVertexSculptTool.h | ||
virtual void UpdateToolMeshes
(
TFunctionRef< TUniquePtr< FMeshRegionChangeBase >(FDynamicMesh3&, int32 MeshIdx)> UpdateMesh |
MeshVertexSculptTool.h |
Overridden from UMeshSculptToolBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void DecreaseBrushSpeedAction() |
MeshVertexSculptTool.h | ||
virtual void IncreaseBrushSpeedAction() |
Client currently needs to implement these... | MeshVertexSculptTool.h |
Overridden from UInteractiveTool
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void DrawHUD
(
FCanvas* Canvas, |
MeshVertexSculptTool.h | ||
virtual bool HasAccept() |
MeshVertexSculptTool.h | ||
virtual bool HasCancel() |
MeshVertexSculptTool.h | ||
| MeshVertexSculptTool.h | |||
virtual void OnTick
(
float DeltaTime |
MeshVertexSculptTool.h | ||
virtual void Render
(
IToolsContextRenderAPI* RenderAPI |
MeshVertexSculptTool.h | ||
virtual void Setup() |
MeshVertexSculptTool.h | ||
virtual void Shutdown
(
EToolShutdownType ShutdownType |
MeshVertexSculptTool.h |
Overridden from IHoverBehaviorTarget
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool OnUpdateHover
(
const FInputDeviceRay& DevicePos |
MeshVertexSculptTool.h |
Overridden from IInteractiveToolManageGeometrySelectionAPI
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool IsInputSelectionValidOnOutput() |
IInteractiveToolManageGeometrySelectionAPI this tool won't update external geometry selection or change selection-relevant mesh IDs. | MeshVertexSculptTool.h |
Overridden from IModelingToolExternalDynamicMeshUpdateAPI
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool AllowToolMeshUpdates() |
IInteractiveToolExternalDynamicMeshUpdateAPI methods. | MeshVertexSculptTool.h | |
virtual int32 NumToolMeshes() |
MeshVertexSculptTool.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TFuture< void > ApplyStamp() |
MeshVertexSculptTool.h | ||
void BeginChange() |
MeshVertexSculptTool.h | ||
void EndChange() |
MeshVertexSculptTool.h | ||
bool GetBaseMeshNearest
(
int32 VertexID, |
MeshVertexSculptTool.h | ||
virtual FString GetPropertyCacheIdentifier() |
Should be overriden by subclasses so that settings are not shared across this tool and subclasses. | MeshVertexSculptTool.h | |
bool IsHitTriangleBackFacing
(
int32 TriangleID, |
MeshVertexSculptTool.h | ||
void OnDynamicMeshComponentChanged
(
UDynamicMeshComponent* Component, |
Realtime visualization | MeshVertexSculptTool.h | |
virtual void RegisterBrushes() |
Overriden by subclasses to choose the brushes they use. | MeshVertexSculptTool.h | |
virtual bool RequireConnectivityToHitPointInStamp() |
MeshVertexSculptTool.h | ||
double SampleBrushAlpha
(
const FSculptBrushStamp& Stamp, |
MeshVertexSculptTool.h | ||
void TryToInitializeSymmetry() |
MeshVertexSculptTool.h | ||
virtual void UndoRedo_RestoreSymmetryPossibleState
(
bool bSetToValue |
MeshVertexSculptTool.h | ||
void UpdateBaseMesh
(
const TSet< int32 >* TriangleROI |
MeshVertexSculptTool.h | ||
bool UpdateBrushPosition
(
const FRay& WorldRay |
MeshVertexSculptTool.h | ||
void UpdateBrushType
(
EMeshVertexSculptBrushType BrushType |
MeshVertexSculptTool.h | ||
void UpdateROI
(
const FFrame3d& LocalFrame |
MeshVertexSculptTool.h | ||
void UpdateROI
(
const FVector3d& BrushPos |
MeshVertexSculptTool.h | ||
bool UpdateStampPosition
(
const FRay& WorldRay |
MeshVertexSculptTool.h | ||
void WaitForPendingStampUpdate() |
MeshVertexSculptTool.h | ||
void WaitForPendingUndoRedo() |
MeshVertexSculptTool.h |
Overridden from UMeshSculptToolBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual int32 FindHitSculptMeshTriangle
(
const FRay3d& LocalRay |
MeshVertexSculptTool.h | ||
virtual int32 FindHitTargetMeshTriangle
(
const FRay3d& LocalRay |
MeshVertexSculptTool.h | ||
virtual const FDynamicMesh3 * GetBaseMesh () |
MeshVertexSculptTool.h | ||
virtual FDynamicMesh3 * GetBaseMesh () |
MeshVertexSculptTool.h | ||
virtual UBaseDynamicMeshComponent * GetSculptMeshComponent() |
Subclass must implement this and return relevant rendering component | MeshVertexSculptTool.h | |
virtual void InitializeIndicator() |
UMeshSculptToolBase API. | MeshVertexSculptTool.h | |
virtual UPreviewMesh * MakeBrushIndicatorMesh
(
UObject* Parent, |
Called by InitializeIndicator to create a mesh for the brush ROI indicator. Default is sphere. | MeshVertexSculptTool.h | |
virtual void OnBeginStroke
(
const FRay& WorldRay |
MeshVertexSculptTool.h | ||
virtual void OnCancelStroke() |
MeshVertexSculptTool.h | ||
virtual void OnEndStroke() |
MeshVertexSculptTool.h | ||
virtual bool ShowWorkPlane() |
MeshVertexSculptTool.h | ||
virtual void UpdateHoverStamp
(
const FFrame3d& StampFrameWorld |
MeshVertexSculptTool.h |