Navigation
API > API/Runtime > API/Runtime/InteractiveToolsFramework
UMeshSurfacePointTool is a base Tool implementation that can be used to implement various "point on surface" interactions. The tool acts on an input IMeshDescriptionSource object, which the standard Builder can extract from the current selection (eg Editor selection).
Subclasses override the OnBeginDrag/OnUpdateDrag/OnEndDrag and OnUpdateHover functions to implement custom behavior.
| Name | UMeshSurfacePointTool |
| Type | class |
| Header File | /Engine/Source/Runtime/InteractiveToolsFramework/Public/BaseTools/MeshSurfacePointTool.h |
| Include Path | #include "BaseTools/MeshSurfacePointTool.h" |
Syntax
UCLASS (MinimalAPI)
class UMeshSurfacePointTool :
public USingleSelectionTool ,
public IClickDragBehaviorTarget ,
public IHoverBehaviorTarget
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UInteractiveTool → USingleSelectionTool → UMeshSurfacePointTool
Implements Interfaces
- IClickDragBehaviorTarget
- IModifierToggleBehaviorTarget
- IHoverBehaviorTarget
- IInputBehaviorSource
- IInteractiveToolCameraFocusAPI
Derived Classes
UMeshSurfacePointTool derived class hierarchy
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| CtrlModifier | int | BaseTools/MeshSurfacePointTool.h | |
| ShiftModifier | int | BaseTools/MeshSurfacePointTool.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool GetCtrlToggle() |
BaseTools/MeshSurfacePointTool.h | ||
virtual float GetCurrentDevicePressure() |
BaseTools/MeshSurfacePointTool.h | ||
virtual bool GetShiftToggle() |
BaseTools/MeshSurfacePointTool.h | ||
UWorld * GetTargetWorld() |
BaseTools/MeshSurfacePointTool.h | ||
virtual bool HitTest
(
const FRay& Ray, |
BaseTools/MeshSurfacePointTool.h | ||
virtual void OnBeginDrag
(
const FRay& Ray |
This function is called when the user begins a click-drag-release interaction | BaseTools/MeshSurfacePointTool.h | |
virtual void OnCancelDrag() |
This function is called when the user's drag is cancelled, for example due to the whole tool being shut down. | BaseTools/MeshSurfacePointTool.h | |
virtual void OnEndDrag
(
const FRay& Ray |
This function is called when the user releases the button driving a click-drag-release interaction | BaseTools/MeshSurfacePointTool.h | |
virtual void OnUpdateDrag
(
const FRay& Ray |
This function is called each frame that the user is in a click-drag-release interaction | BaseTools/MeshSurfacePointTool.h | |
virtual void SetCtrlToggle
(
bool bCtrlDown |
Called by registered InputBehaviors to set the state of the "ctrl" button (or device equivalent) | BaseTools/MeshSurfacePointTool.h | |
virtual void SetShiftToggle
(
bool bShiftDown |
Called by registered InputBehaviors to set the state of the "shift" button (or device equivalent) | BaseTools/MeshSurfacePointTool.h | |
virtual void SetStylusAPI
(
IToolStylusStateProviderAPI* StylusAPI |
Set current stlyus API source | BaseTools/MeshSurfacePointTool.h | |
void SetWorld
(
UWorld* World |
BaseTools/MeshSurfacePointTool.h |
Overridden from UInteractiveTool
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Setup() |
Register InputBehaviors, etc | BaseTools/MeshSurfacePointTool.h |
Overridden from IInteractiveToolCameraFocusAPI
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool GetWorldSpaceFocusPoint
(
const FRay& WorldRay, |
IInteractiveToolCameraFocusAPI implementation. | BaseTools/MeshSurfacePointTool.h |
Overridden from IClickDragBehaviorTarget
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FInputRayHit CanBeginClickDragSequence
(
const FInputDeviceRay& PressPos |
IClickDragBehaviorTarget implementation. | BaseTools/MeshSurfacePointTool.h | |
virtual void OnClickDrag
(
const FInputDeviceRay& DragPos |
Notify Target that input position has changed | BaseTools/MeshSurfacePointTool.h | |
virtual void OnClickPress
(
const FInputDeviceRay& PressPos |
Notify Target that click press ocurred | BaseTools/MeshSurfacePointTool.h | |
virtual void OnClickRelease
(
const FInputDeviceRay& ReleasePos |
Notify Target that click release occurred | BaseTools/MeshSurfacePointTool.h | |
virtual void OnTerminateDragSequence() |
Notify Target that click-drag sequence has been explicitly terminated (eg by escape key) | BaseTools/MeshSurfacePointTool.h |
Overridden from IModifierToggleBehaviorTarget
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnUpdateModifierState
(
int ModifierID, |
Notify target of current modifier state | BaseTools/MeshSurfacePointTool.h |
Overridden from IHoverBehaviorTarget
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FInputRayHit BeginHoverSequenceHitTest
(
const FInputDeviceRay& PressPos |
Do hover hit-test | BaseTools/MeshSurfacePointTool.h | |
virtual void OnBeginHover
(
const FInputDeviceRay& DevicePos |
Initialize hover sequence at given position | BaseTools/MeshSurfacePointTool.h | |
virtual void OnEndHover() |
Terminate active hover sequence | BaseTools/MeshSurfacePointTool.h | |
virtual bool OnUpdateHover
(
const FInputDeviceRay& DevicePos |
Update active hover sequence with new input position | BaseTools/MeshSurfacePointTool.h |