Navigation
API > API/Plugins > API/Plugins/MeshModelingToolsExp
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UInteractiveTool
- USingleSelectionTool
- UMeshSurfacePointTool
- UMeshSculptToolBase
- UMeshVertexPaintTool
References
| Module | MeshModelingToolsExp |
| Header | /Engine/Plugins/Experimental/MeshModelingToolsetExp/Source/MeshModelingToolsExp/Public/MeshVertexPaintTool.h |
| Include | #include "MeshVertexPaintTool.h" |
Syntax
UCLASS&40;&41;
class UMeshVertexPaintTool : public UMeshSculptToolBase
Remarks
Mesh Vertex Color Painting TOol
Variables
| Type | Name | Description | |
|---|---|---|---|
| UE::Geometry::FDynamicMeshAABBTree3 | AABBTree | ||
| TSet< int32 > | AccumulatedTriangleROI | ||
| TUniquePtr< TIndexedValuesChangeBuilder< FVector4f, FMeshVertexColorPaintChange > > | ActiveChangeBuilder | ||
| UE::Geometry::FDynamicMeshColorOverlay * | ActiveColorOverlay | ||
| TUniquePtr< UE::Geometry::FPolygroupSet > | ActiveGroupSet | ||
| TArray< EMeshLODIdentifier > | AvailableLODs | ||
| TObjectPtr< UVertexPaintBasicProperties > | BasicProperties | ||
| bool | bHavePendingAction | ||
| bool | bPendingPickColor | ||
| bool | bPendingPickEraseColor | ||
| bool | bTargetSupportsLODs | ||
| bool | bUndoUpdatePending | ||
| TObjectPtr< UDynamicMeshComponent > | DynamicMeshComponent | ||
| TObjectPtr< UVertexPaintBrushFilterProperties > | FilterProperties | Filters on paint brush | |
| TObjectPtr< UMeshElementsVisualizer > | MeshElementsDisplay | ||
| TArray< int > | NormalsBuffer | ||
| TArray< int32 > | NormalSeamEdges | ||
| UE::Geometry::FDynamicMeshOctree3 | Octree | Initial code here was ported from MeshVertexSculptTool, which requires an Octree. | |
| FDelegateHandle | OnDynamicMeshComponentChangedHandle | ||
| EMeshVertexPaintToolActions | PendingAction | ||
| EMeshVertexPaintBrushType | PendingStampType | ||
| TObjectPtr< UPolygroupLayersProperties > | PolygroupLayerProperties | ||
| TObjectPtr< UPolyLassoMarqueeMechanic > | PolyLassoMechanic | Marquee Support | |
| TObjectPtr< AInternalToolFrameworkActor > | PreviewMeshActor | Internals | |
| TObjectPtr< UMeshVertexPaintToolQuickActions > | QuickActions | ||
| TArray< FVector4f > | ROIColorBuffer | ||
| TArray< int32 > | ROIElementBuffer | ||
| TSet< int32 > | ROIElementSet | ||
| TArray< int32 > | ROITriangleBuffer | ||
| EMeshLODIdentifier | SourceLOD | ||
| TArray< FVector4f > | StrokeAccumColorBuffer | ||
| TArray< FVector4f > | StrokeInitialColorBuffer | In Mix blending mode we need to accumulate each stroke in a fully separate buffer and blend it with the background colors. | |
| TArray< int > | TempROIBuffer | ||
| TSet< int > | TempVertexSet | ||
| TSet< int > | TriangleROI | ||
| TArray< FVector3d > | TriNormals | ||
| TObjectPtr< UMeshVertexPaintToolUtilityActions > | UtilityActions | ||
| TArray< int32 > | UVSeamEdges | ||
| TArray< int > | VertexROI | ||
| TArray< bool > | VisibilityFilterBuffer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | ApplyAction
(
EMeshVertexPaintToolActions ActionType |
||
| void | ApplyChannelFilter
(
const FVector4f& CurColor, |
||
| void | |||
| bool | ApplyStamp () |
||
| void | ApplyVisibilityFilter
(
TSet< int32 >& Triangles, |
||
| void | ApplyVisibilityFilter
(
const TArray< int32 >& Triangles, |
||
| void | BeginChange () |
||
| void | |||
| void | |||
| void | |||
| void | |||
| void | |||
| void | EndChange () |
||
| void | ExternalUpdateValues
(
const TArray< int32 >& ElementIDs, |
||
| void | FillChannels () |
||
| void | FloodFillColorAction
(
FLinearColor Color |
||
| UE::Geometry::FDynamicMeshColorOverlay * | |||
| FColor | GetColorForGroup
(
int32 GroupID |
||
| bool | |||
| bool | |||
| void | InitializeElementROIFromTriangleROI
(
const TArray< int32 >& TriangleROI, |
||
| void | |||
| bool | |||
| void | |||
| void | Realtime visualization | ||
| void | OnPolyLassoFinished
(
const FCameraPolyLasso& Lasso, |
||
| void | |||
| void | |||
| void | RequestAction
(
EMeshVertexPaintToolActions ActionType |
Action support | |
| void | SetTrianglesToVertexColor
(
const TArray< int32 >& Triangles, |
||
| void | SetTrianglesToVertexColor
(
const TSet< int32 >& Triangles, |
||
| void | SwapChannels () |
||
| bool | SyncMeshWithColorBuffer
(
FDynamicMesh3* Mesh |
||
| void | |||
| bool | UpdateBrushPosition
(
const FRay& WorldRay |
||
| void | UpdateBrushType
(
EMeshVertexPaintBrushType BrushType |
||
| void | UpdateROI
(
const FSculptBrushStamp& CurrentStamp |
||
| void | |||
| bool | UpdateStampPosition
(
const FRay& WorldRay |
||
| void | UpdateSubToolType
(
EMeshVertexPaintInteractionType NewType |
||
| void | |||
| void |
Overridden from UMeshSculptToolBase
| Type | Name | Description | |
|---|---|---|---|
| void | CommitResult
(
UBaseDynamicMeshComponent* Component, |
Subclass can override this to change what results are written. | |
| int32 | FindHitSculptMeshTriangle
(
const FRay3d& LocalRay |
||
| int32 | FindHitTargetMeshTriangle
(
const FRay3d& LocalRay |
||
| TUniquePtr< FMeshSculptBrushOp > & | |||
| const FDynamicMesh3 * | GetBaseMesh () |
||
| FDynamicMesh3 * | GetBaseMesh () |
||
| UBaseDynamicMeshComponent * | UMeshSculptToolBase API. | ||
| float | Currently using flow rate as 'brush strength', so disable temporal stamp spacing. | ||
| void | OnBeginStroke
(
const FRay& WorldRay |
||
| void | OnEndStroke () |
||
| bool |
Overridden from UInteractiveTool
| Type | Name | Description | |
|---|---|---|---|
| bool | CanAccept () |
||
| void | DrawHUD
(
FCanvas* Canvas, |
Allow the Tool to do any custom screen space drawing | |
| bool | HasAccept () |
||
| bool | HasCancel () |
||
| void | OnPropertyModified
(
UObject* PropertySet, |
Automatically called by UInteractiveToolPropertySet.OnModified delegate to notify Tool of child property set changes | |
| void | OnTick
(
float DeltaTime |
Allow the Tool to do any necessary processing on Tick | |
| void | RegisterActions
(
FInteractiveToolActionSet& ActionSet |
Override this function to register the set of Actions this Tool supports, using FInteractiveToolActionSet::RegisterAction. | |
| void | Setup () |
Register InputBehaviors, etc | |
| void | Shutdown
(
EToolShutdownType ShutdownType |
Called by ToolManager to shut down the Tool |
Overridden from IHoverBehaviorTarget
| Type | Name | Description | |
|---|---|---|---|
| bool | OnUpdateHover
(
const FInputDeviceRay& DevicePos |
Update active hover sequence with new input position |