Navigation
API > API/Plugins > API/Plugins/DataflowEditor > API/Plugins/DataflowEditor/DataflowEditorTools
Inheritance Hierarchy
- UObject
- IInputBehaviorSource
- UInteractiveTool
- USingleSelectionTool
- UMeshSurfacePointTool
- UMeshSculptToolBase
- UDataflowEditorWeightMapPaintTool
References
| Module | DataflowEditor |
| Header | /Engine/Plugins/Experimental/Dataflow/Source/DataflowEditor/Public/DataflowEditorTools/DataflowEditorWeightMapPaintTool.h |
| Include | #include "DataflowEditorTools/DataflowEditorWeightMapPaintTool.h" |
Syntax
UCLASS ()
class UDataflowEditorWeightMapPaintTool : public UMeshSculptToolBase
Remarks
Mesh Element Paint Tool Class
Variables
| Type | Name | Description | |
|---|---|---|---|
| TSet< int32 > | AccumulatedTriangleROI | ||
| TObjectPtr< UDataflowEditorMeshWeightMapPaintToolActions > | ActionsProps | ||
| TUniquePtr< UE::Geometry::FDynamicMeshChangeTracker > | ActiveWeightEditChangeTracker | ||
| UE::Geometry::FDynamicMeshWeightAttribute * | ActiveWeightMap | ||
| bool | bAnyChangeMade | ||
| bool | bHaveDynamicMeshToWeightConversion | DynamicMesh might be unwelded mesh, but weights are on the welded mesh. | |
| bool | bHavePendingAction | ||
| bool | bPendingPickWeight | ||
| bool | bUndoUpdatePending | ||
| FVector3d | CurrentBaryCentricCoords | ||
| TObjectPtr< UDataflowContextObject > | DataflowEditorContextObject | ||
| TObjectPtr< UDynamicMeshComponent > | DynamicMeshComponent | ||
| TArray< int32 > | DynamicMeshToWeight | ||
| TObjectPtr< UDataflowEditorWeightMapPaintBrushFilterProperties > | FilterProperties | Filters on paint brush | |
| FToolDataVisualizer | GradientSelectionRenderer | ||
| TUniquePtr< UE::Geometry::FTriangleGroupTopology > | GradientSelectionTopology | ||
| UE::Geometry::FGroupTopologySelection | HighValueGradientVertexSelection | ||
| UE::Geometry::FGroupTopologySelection | LowValueGradientVertexSelection | ||
| TObjectPtr< UMeshElementsVisualizer > | MeshElementsDisplay | ||
| TUniquePtr< UE::Geometry::FDynamicMeshAABBTree3 > | MeshSpatial | ||
| UDataflowEditorMode * | Mode | ||
| TArray< int > | NormalsBuffer | ||
| TArray< int32 > | NormalSeamEdges | ||
| UE::Geometry::FDynamicMeshOctree3 | Octree | ||
| FDelegateHandle | OnDynamicMeshComponentChangedHandle | ||
| EDataflowEditorWeightMapPaintToolActions | PendingAction | ||
| EDataflowEditorWeightMapPaintBrushType | PendingStampType | ||
| TObjectPtr< UPolygonSelectionMechanic > | PolygonSelectionMechanic | Gradient Support | |
| TObjectPtr< UPolyLassoMarqueeMechanic > | PolyLassoMechanic | Marquee Support | |
| TObjectPtr< AInternalToolFrameworkActor > | PreviewMeshActor | Internals | |
| TArray< int32 > | ROITriangleBuffer | ||
| TArray< double > | ROIWeightValueBuffer | ||
| TArray< int > | TempROIBuffer | ||
| TSet< int > | TriangleROI | ||
| TArray< FVector3d > | TriNormals | ||
| TObjectPtr< UDataflowEditorUpdateWeightMapProperties > | UpdateWeightMapProperties | ||
| TArray< int32 > | UVSeamEdges | ||
| TArray< int > | VertexROI | ||
| TSet< int > | VertexSetBuffer | ||
| TArray< bool > | VisibilityFilterBuffer | ||
| FDataflowCollectionAddScalarVertexPropertyNode * | WeightMapNodeToUpdate | ||
| TArray< TArray< int32 > > | WeightToDynamicMesh |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddReferencedObjects
(
UObject* InThis, |
||
| void | ApplyAction
(
EDataflowEditorWeightMapPaintToolActions ActionType |
||
| bool | ApplyStamp () |
||
| void | ApplyVisibilityFilter
(
const TArray< int32 >& Vertices, |
||
| void | |||
| void | BeginChange () |
||
| void | |||
| void | |||
| void | EndChange () |
||
| void | |||
| int32 | |||
| FColor | GetColorForWeightValue
(
double WeightValue |
||
| void | GetCurrentWeightMap
(
TArray< float >& OutWeights |
||
| double | GetCurrentWeightValue
(
int32 VertexId |
||
| double | |||
| bool | |||
| bool | |||
| void | InvertCurrentWeightAction
(
bool bInvertSurfaceOnly |
||
| bool | |||
| void | OnDynamicMeshComponentChanged
(
UDynamicMeshComponent* Component, |
Realtime visualization | |
| void | OnPolyLassoFinished
(
const FCameraPolyLasso& Lasso, |
||
| void | |||
| void | |||
| void | RequestAction
(
EDataflowEditorWeightMapPaintToolActions ActionType |
Action support | |
| void | SetDataflowEditorContextObject
(
TObjectPtr< UDataflowContextObject > InDataflowEditorContextObject |
||
| void | SetEditorMode
(
UDataflowEditorMode* InMode |
||
| void | SetVerticesToWeightMap
(
const TSet< int32 >& Vertices, |
||
| bool | SyncMeshWithWeightBuffer
(
FDynamicMesh3* Mesh |
||
| bool | SyncWeightBufferWithMesh
(
const FDynamicMesh3* Mesh |
||
| bool | UpdateBrushPosition
(
const FRay& WorldRay |
||
| void | UpdateBrushType
(
EDataflowEditorWeightMapPaintBrushType BrushType |
||
| void | UpdateROI
(
const FSculptBrushStamp& CurrentStamp |
||
| void | |||
| bool | UpdateStampPosition
(
const FRay& WorldRay |
||
| void | |||
| void | UpdateVertexColorOverlay
(
const TSet< int >* TrianglesToUpdate |
||
| void |
Overridden from UMeshSculptToolBase
| Type | Name | Description | |
|---|---|---|---|
| void | CommitResult
(
UBaseDynamicMeshComponent* Component, |
Subclass can override this to change what results are written. | |
| void | |||
| void | |||
| int32 | FindHitSculptMeshTriangle
(
const FRay3d& LocalRay |
||
| int32 | FindHitTargetMeshTriangle
(
const FRay3d& LocalRay |
||
| TUniquePtr< FMeshSculptBrushOp > & | |||
| FDynamicMesh3 * | GetBaseMesh () |
||
| const FDynamicMesh3 * | GetBaseMesh () |
||
| UBaseDynamicMeshComponent * | UMeshSculptToolBase API. | ||
| void | We override these so we can update the separate BrushSize property added for this tool | ||
| void | |||
| void | OnBeginStroke
(
const FRay& WorldRay |
||
| void | OnEndStroke () |
||
| bool | For any subclass where this returns false, BrushProperties will not be automatically saved/restored, so the class won't use BrushProperties changes made in other tools. | ||
| bool | |||
| void | UpdateMaterialMode
(
EMeshEditingMaterialModes MaterialMode |
||
| void | When in a stroke, this function determines when a new stamp should be emitted, based on spacing and flow rate settings |
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 | Render
(
IToolsContextRenderAPI* RenderAPI |
Allow the Tool to do any custom drawing (ie via PDI/RHI) | |
| 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 |