Navigation
API > API/Runtime > API/Runtime/InteractiveToolsFramework > API/Runtime/InteractiveToolsFramework/BaseTools
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UInteractiveTool
- USingleSelectionTool
- UMeshSurfacePointTool
- UBaseBrushTool
- UDynamicMeshBrushTool
- UMeshAttributePaintTool
- UMeshSelectionTool
- UEditMeshMaterialsTool
- USeamSculptTool
- UShapeSprayTool
- USkinWeightsPaintTool
- UMeshTexturePaintingTool
- UMeshVertexPaintingTool
- UMeshColorPaintingTool
- UMeshWeightPaintingTool
References
| Module | InteractiveToolsFramework |
| Header | /Engine/Source/Runtime/InteractiveToolsFramework/Public/BaseTools/BaseBrushTool.h |
| Include | #include "BaseTools/BaseBrushTool.h" |
Syntax
class UBaseBrushTool : public UMeshSurfacePointTool
Remarks
UBaseBrushTool implements standard brush-style functionality for an InteractiveTool. This includes: 1) brush radius property set with dimension-relative brush sizing and default brush radius hotkeys 2) brush indicator visualization 3) tracking of last brush stamp location via .LastBrushStamp FProperty 4) status of brush stroke via .bInBrushStroke FProperty 5) "B" hotkey to adjust brush radius / strength by click-dragging in the viewport
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bInBrushStroke | Set to true by Tool if user is currently in an active brush stroke | |
| TWeakObjectPtr< UBrushAdjusterInputBehavior > | BrushAdjusterBehavior | Adjusts size and strength properties while holding hotkey during click/drag | |
| TObjectPtr< UBrushBaseProperties > | BrushProperties | Properties that control brush size/etc | |
| TInterval< float > | BrushRelativeSizeRange | ||
| TObjectPtr< UBrushStampIndicator > | BrushStampIndicator | Brush Indicator support | |
| double | CurrentBrushRadius | ||
| FBrushStampData | LastBrushStamp | Position of brush at last update (both during stroke and during Hover) | |
| TSoftClassPtr< UBrushBaseProperties > | PropertyClass | ||
| float | WorldToLocalScale | Uniform scale factor that scales from world space (where brush usually exists) to local space |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | |||
| void | |||
| void | |||
| double | Subclasses should implement this to give an estimate of target dimension for brush size scaling | ||
| double | |||
| double | |||
| void | |||
| void | |||
| void | |||
| bool | |||
| void | |||
| void | SetBrushEnabled
(
bool bIsEnabled |
||
| void | |||
| void | |||
| bool | Return false to disable the hotkey for adjusting the brush radius and strength in the viewport | ||
| void |
Overridden from UMeshSurfacePointTool
| Type | Name | Description | |
|---|---|---|---|
| void | OnBeginDrag
(
const FRay& Ray |
UMeshSurfacePointTool implementation. | |
| void | OnEndDrag
(
const FRay& Ray |
This function is called when the user releases the button driving a click-drag-release interaction | |
| void | OnUpdateDrag
(
const FRay& Ray |
This function is called each frame that the user is in a click-drag-release interaction |
Overridden from UInteractiveTool
| Type | Name | Description | |
|---|---|---|---|
| void | DrawHUD
(
FCanvas* Canvas, |
Allow the Tool to do any custom screen space drawing | |
| void | OnPropertyModified
(
UObject* PropertySet, |
Automatically called by UInteractiveToolPropertySet.OnModified delegate to notify Tool of child property set changes | |
| 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 () |
UInteractiveTool. | |
| void | Shutdown
(
EToolShutdownType ShutdownType |
Called by ToolManager to shut down the Tool |
Overridden from IClickDragBehaviorTarget
| Type | Name | Description | |
|---|---|---|---|
| FInputRayHit | CanBeginClickDragSequence
(
const FInputDeviceRay& PressPos |
IClickDragBehaviorTarget implementation. | |
| void | OnClickDrag
(
const FInputDeviceRay& DragPos |
Notify Target that input position has changed | |
| void | OnClickPress
(
const FInputDeviceRay& PressPos |
Notify Target that click press ocurred |
Overridden from IHoverBehaviorTarget
| Type | Name | Description | |
|---|---|---|---|
| bool | OnUpdateHover
(
const FInputDeviceRay& DevicePos |
Update active hover sequence with new input position |