description:
Update render state during render traversal, determines the current render state for this element
view dependent visibility, true if this element is visible in the current view.

code: virtual bool UpdateRenderState ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI, const FVector & InLocalOrigin, [FRenderTraversalState](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase\FRenderTraversal-) & InOutRenderState )


className: UGizmoElementLineBase

description: Base class for 2d and 3d primitive objects which support line drawing, intended to be used as part of 3D Gizmos.

module: InteractiveToolsFramework

code: class UGizmoElementLineBase : public [UGizmoElementBase](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase)

bScreenSpaceLine

type: bool

description: Whether line thickness is in screen space.

HoverLineThicknessMultiplier

type: float

description: Multiplier applied to line thickness when hovering.

InteractLineThicknessMultiplier

description: Multiplier applied to line thickness when interacting.

LineRenderAttributes

type: FGizmoElementLi...

description: Line render state attributes for this element.

LineThickness

description: Line thickness when rendering lines, must be >= 0.0, value of 0.0 will render thinnest line.


code: virtual FVector GetCenter() const


code: virtual bool GetDrawLine() const


code: virtual float GetHeight() const


code: virtual bool GetDrawMesh() const


code: virtual bool GetHitLine() const


code: virtual bool GetHitMesh() const


code: virtual FVector GetSideDirection() const


code: virtual FVector GetUpDirection() const


code: virtual float GetWidth() const


code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI, const [FRenderTraversalState](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase\FRenderTraversal-) & RenderState )


code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) LineTrace ( const [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * ViewContext, const [FLineTraceTraversalState](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase\FLineTraceTraver-) & LineTraceState, const FVector & RayOrigin, const FVector & RayDirection )


description: Location of rectangle center.

code: virtual void SetCenter ( FVector InCenter )


description: Draw line.

code: virtual void SetDrawLine ( bool InDrawLine )


description: Draw mesh.

code: virtual void SetDrawMesh ( bool InDrawMesh )


description: Height.

code: virtual void SetHeight ( float InHeight )


description: Hit line.

code: virtual void SetHitLine ( bool InHitLine )


description: Hit mesh.

code: virtual void SetHitMesh ( bool InHitMesh )


description: Side direction.

code: virtual void SetSideDirection ( const FVector & InSideDirection )


description: Up direction.

code: virtual void SetUpDirection ( const FVector & InUpDirection )


description: Width.

code: virtual void SetWidth ( float InWidth )


className: UGizmoElementRectangle

description: Simple object intended to be used as part of 3D Gizmos. Draws a rectangle based on parameters.

code: class UGizmoElementRectangle : public [UGizmoElementLineBase](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementLineBase)

Center

type: FVector

description: Location of rectangle center.

Height

description: Height.

SideDirection

description: Side direction.

UpDirection

description: Up direction.

Width

description: Width.


code: virtual bool GetEndCaps() const


code: bool IsGlancingAngle ( const [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * View, const FVector & InWorldCenter, const FVector & InWorldNormal )


code: virtual int32 GetNumInnerSlices() const


description: LineTrace approximates ray-torus intersection by intersecting the ray with the plane in which the torus lies, then determining a hit point closest to the linear circle defined by torus center and torus outer radius. If the torus lies at a glancing angle, the ray-torus intersection is performed against cylinders approximating the shape of the torus.


code: virtual double GetInnerRadius() const


description: If partial, renders end caps when true.

code: virtual void SetEndCaps ( bool InEndCaps )


description: Inner circles radius.

code: virtual void SetInnerRadius ( double InInnerRadius )


description: Number of inner slices for rendering torus.

code: virtual void SetNumInnerSlices ( int32 InNumInnerSlices )


className: UGizmoElementTorus

description: Note: the LineTrace method does not perform a true ray-torus intersection! See comment above LineTrace method below for details of how this intersection is approximated.

code: class UGizmoElementTorus : public [UGizmoElementCircleBase](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementCircleBase)

bEndCaps

description: Whether to render end caps on a partial torus.

InnerRadius

type: double

description: Torus inner radius.

NumInnerSlices

description: Number of slices to render in each torus segment.


className: UGizmoFloatParameterSource

code: class UGizmoFloatParameterSource : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


description: FInputRayHitindicating whether or not the target object was hit by the device-ray at ClickPos

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) IsHit ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ClickPos ) const


description: Updates the hover state indicating whether the input device is currently hovering over the Standard gizmo. This should be be set to false once interaction with the gizmo commences.

code: virtual void UpdateHoverState ( bool bHovering )


description: Updates the interacting state indicating when interaction with the Standard gizmo is actively occurring, typically upon the input device clicking and dragging the Standard gizmo.

code: virtual void UpdateInteractingState ( bool bInteracting )


className: UGizmoLambdaHitTarget

description: UGizmoLambdaHitTargetis anIGizmoClickTargetimplementation that forwards the hit-test function to aTFunction

code: class UGizmoLambdaHitTarget : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [IGizmoClickTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoClickTarget)

IsHitFunction

type: TUniqueFunction...

description: This function is called to determine if target is hit

UpdateHoverFunction

type: TFunction< void...

description: This function is called to update hover state of the target

UpdateInteractingFunction

description: This function is called to update interacting state of the target


description: BeginUpdate is called before a standard Gizmo begins changing a parameter (via a ParameterSource)

code: virtual void BeginUpdate()


description: EndUpdate is called when a standard Gizmo is finished changing a parameter (via a ParameterSource)

code: virtual void EndUpdate()


className: UGizmoLambdaStateTarget

description: UGizmoLambdaStateTargetis an implementation ofIGizmoStateTargetthat forwards calls to its interface functions to external TFunctions

code: class UGizmoLambdaStateTarget : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget)


className: UGizmoLineHandleComponent

description: Simple Component intended to be used as part of 3D Gizmos. Draws line terminated by a short perpendicular handle line based on parameters.

code: class UGizmoLineHandleComponent : public [UGizmoBaseComponent](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoBaseComponent)


description: Notify ParameterSource that a parameter modification is about to begin

code: virtual void BeginModify()


description: Notify ParameterSource that a parameter modification is complete

code: virtual void EndModify()


description: value of parameter

code: virtual float GetParameter() const


description: Set value of parameter

code: virtual void SetParameter ( float NewValue )


className: UGizmoLocalFloatParameterSource

description: UGizmoLocalFloatParameterSourceis an implementation ofIGizmoFloatParameterSource(by way ofUGizmoBaseFloatParameterSource) which locally stores the relevant Parameter and emits update events via the OnParameterChanged delegate.

code: class UGizmoLocalFloatParameterSource : public [UGizmoBaseFloatParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoBaseFloatParameterSource)

LastChange

type: FGizmoFloatPara...


description: value of parameter

code: virtual FVector2D GetParameter() const


description: Set value of parameter

code: virtual void SetParameter ( const FVector2D & NewValue )


description: UGizmoBaseVec2ParameterSourceis an implementation ofIGizmoVec2ParameterSource(by way ofUGizmoBaseVec2ParameterSource) which locally stores the relevant Parameter and emits update events via the OnParameterChanged delegate.

code: class UGizmoLocalVec2ParameterSource : public [UGizmoBaseVec2ParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoBaseVec2ParameterSource)


className: UGizmoNilStateTarget

description: UGizmoNilStateTargetis an implementation ofIGizmoStateTargetthat does nothing

code: class UGizmoNilStateTarget : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget)


description: Create and initialize an standard instance ofUGizmoObjectModifyStateTarget

code: static [UGizmoObjectModifyStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoObjectModifyStateTarget) * Construct ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * ModifyObjectIn, const [FText](API\Runtime\Core\Internationalization\FText) & DescriptionIn, [IToolContextTransactionProvider](API\Runtime\InteractiveToolsFramework\IToolContextTransactionProvider) * TransactionManagerIn, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


className: UGizmoObjectModifyStateTarget

description: UGizmoObjectModifyStateTargetis an implementation ofIGizmoStateTargetthat opens and closes change transactions on a targetUObjectvia a GizmoManager.

code: class UGizmoObjectModifyStateTarget : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget)

ModifyObject

type: TWeakObjectPtr<...

description: The object that will be changed, ie haveModify()called on it onBeginUpdate()

TransactionDescription

type: FText

description: Localized text description of the transaction (will be visible in Editor on undo/redo)

TransactionManager

type: TScriptInterfac...

description: Pointer to the GizmoManager or ToolManager that is used to open/close the transaction


description: Create a standard instance of this ParameterSource, with the given AxisSource and TransformSource

code: static [UGizmoPlaneScaleParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoPlaneScaleParameterSource) * Construct ( [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * AxisSourceIn, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * TransformSourceIn, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


className: UGizmoPlaneScaleParameterSource

description: This ParameterSource is intended to be used to create 3D Plane Scale Gizmos.

code: class UGizmoPlaneScaleParameterSource : public [UGizmoBaseVec2ParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoBaseVec2ParameterSource)

AxisSource

description: AxisSource provides the 3D plane (origin/normal/u/v) that is used to interpret the 2D parameters

bClampToZero

description: If true, the minimal output scale will be zero.

bUseEqualScaling

description: If true, the scaling will be done an equal amount in each axis, using the minimal value

CurScaleAxisX

description: In-plane axis X for current parameter edit (only valid between BeginModify/EndModify)

CurScaleAxisY

description: In-plane axis Y for current parameter edit (only valid between BeginModify/EndModify)

CurScaleNormal

description: Plane normal for current parameter edit (only valid between BeginModify/EndModify)

CurScaleOrigin

description: Plane origin for current parameter edit (only valid between BeginModify/EndModify)

InitialTransform

type: FTransform

description: Saved copy of Initial Transform for current parameter edit (only valid between BeginModify/EndModify)

LastChange

description: Active parameter change (only valid between BeginModify/EndModify)

Parameter

description: Parameter is the two line-equation parameters that this Vec2ParameterSource provides

PositionConstraintFunction

description: Optional position constraint function.

ScaleMultiplier

description: Coordinate delta is multiplied by this amount

TransformSource

description: This TransformSource is updated by applying the constructed 3D translation


code: static [UGizmoPlaneTranslationParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoPlaneTrans-) * Construct ( [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * AxisSourceIn, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * TransformSourceIn, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


className: UGizmoPlaneTranslationParameterSource

description: This ParameterSource is intended to be used to create 3D Plane Translation Gizmos.

AxisXDeltaConstraintFunction

description: Optional axis delta constraint function.

PositionConstraintFunction

description: Optional position constraint function.


className: UGizmoRectangleComponent

description: Simple Component intended to be used as part of 3D Gizmos. Draws outline of 3D rectangle based on parameters.

code: class UGizmoRectangleComponent : public [UGizmoBaseComponent](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoBaseComponent)

bOrientYAccordingToCamera

description: When true, instead of using the provided DirectionY, the component will use a direction orthogonal to the camera direction and DirectionX.


className: UGizmoRenderMultiTarget

code: class UGizmoRenderMultiTarget : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


description: Constructs aUGizmoScaledAndUnscaledTransformSourcesby wrapping the providedIGizmoTransformSourceas its scaled transform source, and the given gizmo in aUGizmoComponentWorldTransformSourceas its unscaled transform source.

code: static [UGizmoScaledAndUnscaledTransformSources](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoScaledAndU-) * Construct ( [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * ScaledSource, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * GizmoComponentIn, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


description: Constructs aUGizmoScaledAndUnscaledTransformSourcesaround the given twoIGizmoTransformSource's.

code: static [UGizmoScaledAndUnscaledTransformSources](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoScaledAndU-) * Construct ( [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * ScaledSource, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * UnscaledSource, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


description: Gets the transform from ScaledTransformSource.

code: virtual FTransform GetTransform() const


className: UGizmoRenderTarget

code: class UGizmoRenderTarget : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


description: Calls SetTransform on ScaledTransformSource and passes the unscaled version to UnscaledTransformSource.

code: virtual void SetTransform ( const FTransform & NewTransform )


className: UGizmoScaledAndUnscaledTransformSources

description: A wrapper around twoIGizmoTransformSource's that generally forwards transforms to/from its ScaledTransformSource, but also forwards an unscaled version of the transform to UnscaledTransformSource on SetTransform calls. This handles the common case of wanting to apply the entire transform to oneIGizmoTransformSource, but only the unscaled transform to a gizmo component (since we don't want to scale the gizmo component but do want to rotate/translate it).

code: class UGizmoScaledAndUnscaledTransformSources : public [UGizmoBaseTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoBaseTransformSource)


description: Construct a default instance ofUGizmoComponentWorldTransformSourcewith the given Component

code: static [UGizmoScaledTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoScaledTransformSource) * Construct ( [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * ChildSource, [FSeparateScaleProvider](API\Runtime\InteractiveToolsFramework\BaseGizmos\FSeparateScaleProvider) ScaleProviderIn, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


description: Return the child transform with combined scale

code: FTransform GetScaledTransform() const


description: IGizmoTransformSourceimplementation, returns child transform with local sclae


description: IGizmoTransformSourceimplementation, removes scale and sends to ScaleProvider, then forwards remaining rotate+translate transform to child


className: UGizmoScaledTransformSource

description: Old description:UGizmoScaledTransformSourcewraps anotherIGizmoTransformSourceimplementation and adds a separate scaling vector to the Transform. The main use of this class is to support scaling in a 3D gizmo without actually scaling the Gizmo itself. Generally our pattern is to apply the gizmo's position/rotation transform to the target object via a TransformProxy, but that does not work with Scaling. So this class stores the scaling vector separately, provided by an external source viaFSeparateScaleProvider, and in GetTransform/SetTransform rewrites the Transform from the childIGizmoTransformSourcewith the new scale.

code: class UGizmoScaledTransformSource : public [UGizmoBaseTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoBaseTransformSource)

ChildTransformSource

description: Child transform source

ScaleProvider

type: FSeparateScaleP...

description: Provider for external scale value/storage


className: UGizmoStateTarget

code: class UGizmoStateTarget : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


description: BeginUpdate is called before a standard Gizmo begins changing a parameter (via a ParameterSource)

code: virtual void BeginUpdate()


description: Create and initialize an standard instance ofUGizmoTransformChangeStateTarget

code: static [UGizmoTransformChangeStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoTransformChangeStateTarget) * Construct ( [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * TargetComponentIn, const [FText](API\Runtime\Core\Internationalization\FText) & DescriptionIn, [IToolContextTransactionProvider](API\Runtime\InteractiveToolsFramework\IToolContextTransactionProvider) * TransactionManagerIn, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


className: UGizmoTransformChangeStateTarget

description: The DependentChangeSources and ExternalDependentChangeSources lists allow additionalFChangeobjects to be inserted into the transaction, provided byIToolCommandChangeSourceimplementations.

code: class UGizmoTransformChangeStateTarget : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget)

ChangeDescription

description: Localized text description of the transaction (will be visible in Editor on undo/redo)

DependentChangeSources

type: TArray<TUnique...

description: Dependent-change generators.

ExternalDependentChangeSources

type: TArray<IToolCo...

description: Dependent-change generators that are not owned by this class, otherwise handled identically to DependentChangeSources

FinalTransform

description: End Transform, saved onEndUpdate()

InitialTransform

description: Start Transform, saved onBeginUpdate()

TargetComponent

description: The object that will be changed, ie haveModify()called on it onBeginUpdate()

TransactionManager

description: Pointer to the GizmoManager or ToolManager that is used to open/close the transaction


description: EndUpdate is called when a standard Gizmo is finished changing a parameter (via a ParameterSource)

code: virtual void EndUpdate()


description: Construct a default instance ofUGizmoComponentWorldTransformSourcewith the given Proxy

code: static [UGizmoTransformProxyTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoTransformP-) * Construct ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * Proxy, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


className: FOnGizmoTransformSourcePivotChanged

code: typedef TMulticastDelegate_OneParam< void, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * > FOnGizmoTransformSourcePivotChanged


className: UGizmoTransformProxyTransformSource

description: UGizmoTransformProxyTransformSourceimplementsIGizmoTransformSource(viaUGizmoBaseTransformSource) based on the internal transform of aUTransformProxy.

code: class UGizmoTransformProxyTransformSource : public [UGizmoBaseTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoBaseTransformSource)

bOverrideSetPivotMode

description: If true, the underlying proxy is modified with its SetPivotMode flag temporarily set to true.

OnPivotChanged

type: FOnGizmoTransfo...

Proxy

type: TObjectPtr<UTr...


className: UGizmoTransformSource

description: UInterfaces for the various UObjects used in the Standard Gizmo Library.

code: class UGizmoTransformSource : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


description: Create a standard instance of this ParameterSource, with the given AxisSource and TransformSource

code: static [UGizmoUniformScaleParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoUniformSca-) * Construct ( [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * AxisSourceIn, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * TransformSourceIn, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


description: Notify ParameterSource that a parameter modification is complete

code: virtual void EndModify()


description: Notify ParameterSource that a parameter modification is about to begin

code: virtual void BeginModify()


description:
Optional position constraint function. Called during interaction with the new transform origin. To snap the transform to a new position, return as second value, and return true from your lambda. Note that returned snap point will be projected onto the current translation origin/axis.
true if constraint point was found and should be used, false to ignore

code: virtual FVector2D GetParameter() const


description: Set value of parameter

code: virtual void SetParameter ( const FVector2D & NewValue )


code: class UGizmoVec2ParameterSource : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


className: UGizmoUniformScaleParameterSource

description: This ParameterSource is intended to be used to create 3D Uniform Scale Gizmos.

code: class UGizmoUniformScaleParameterSource : public [UGizmoBaseVec2ParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoBaseVec2ParameterSource)

AxisSource

description: AxisSource provides the 3D plane (origin/normal/u/v) that is used to interpret the 2D parameters

CurScaleAxisX

description: In-plane axis X for current parameter edit (only valid between BeginModify/EndModify)

CurScaleAxisY

description: In-plane axis Y for current parameter edit (only valid between BeginModify/EndModify)

CurScaleNormal

description: Plane normal for current parameter edit (only valid between BeginModify/EndModify)

CurScaleOrigin

description: Plane origin for current parameter edit (only valid between BeginModify/EndModify)

InitialTransform

description: Saved copy of Initial Transform for current parameter edit (only valid between BeginModify/EndModify)

LastChange

description: Active parameter change (only valid between BeginModify/EndModify)

Parameter

description: Parameter is the two line-equation parameters that this Vec2ParameterSource provides

ScaleMultiplier

description: Coordinate delta is multiplied by this amount

TransformSource

description: This TransformSource is updated by applying the constructed 3D translation


code: const FMatrix & GetInvViewMatrix&40;&41; const


code: void ResetFromSceneView &40; const FSceneView & SceneView &41;


className: FMatrices

description: Wrapping class for the matrices so that they can be accessed in the same way that they are accessed inFSceneView.

code: class FMatrices

InvViewMatrix

type: FMatrix


code: FVector GetViewDirection() const


description: FSceneView-like functions/properties:

code: FVector GetViewRight() const


code: FVector GetViewUp() const


description: As a function just for similarity withFSceneView.

code: bool IsPerspectiveProjection() const


description: Use this to reinitialize the object each frame for the hovered viewport.

code: void ResetFromSceneView ( const [FSceneView](API\Runtime\Engine\FSceneView) & SceneView )


code: bool ScreenToPixel ( const FVector4 & ScreenPoint, FVector2D & OutPixelLocation ) const


code: FVector4 WorldToScreen ( const FVector & WorldPoint ) const


className: UGizmoViewContext

description: A context object that is meant to hold the scene information for the hovered viewport on a game thread, to be used by a gizmo later for hit testing. The organization mirrorsFSceneViewso that functions could be written in a templated way to use eitherFSceneVieworUGizmoViewContext, thoughUGizmoViewContextonly keeps the needed data.

code: class UGizmoViewContext : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

bIsPerspectiveProjection

type: bool

UnscaledViewRect

type: FIntRect

ViewMatrices

type: FMatrices


code: const FMatrix & GetViewProjectionMatrix&40;&41; const


code: const FMatrix & GetViewMatrix&40;&41; const


code: static [UGizmoWorldAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoWorldAxisSource) * Construct ( const FVector & WorldOrigin, int WorldAxisIndex, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


description: Direction Vector of axis

code: virtual FVector GetDirection() const


description: Origin Point of axis

code: virtual FVector GetOrigin() const


className: UGizmoWorldAxisSource

description: UGizmoWorldAxisSourceis anIGizmoAxisSourcethat provides one of the World axes (ie X/Y/Z axes) based on an integer AxisIndex in range [0,2]. The Orgin is internally stored as aFProperty.

code: class UGizmoWorldAxisSource : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource)

AxisIndex

type: int

description: Clamped internally to 0,1,2

Origin

type: FVector


description: a new instance of the standard axis-handle Gizmo

code: virtual [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * AddIntervalHandleGizmo ( [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * RootComponent, [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * HandleComponent, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * AxisSource, [IGizmoFloatParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoFloatParameterSource) * FloatParameterSource, float MinParameter, float MaxParameter, [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget) * StateTargetIn )


description: Notifies listeners that a sequence of edits to the gizmo is beginning/ending (at the start/end of a drag).

code: virtual void BeginEditSequence()


description: Clear the parameter sources for this gizmo

code: virtual void ClearSources()


code: virtual void EndEditSequence()


className: FOnBeginIntervalEdit

description: Called when the gizmo is notified about the start of a sequence of interval changes.

code: typedef TMulticastDelegate_OneParam< void, [UIntervalGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UIntervalGizmo) * > FOnBeginIntervalEdit


className: FOnEndIntervalEdit

description: Called when the gizmo is notified about the end of a sequence of interval changes.

code: typedef TMulticastDelegate_OneParam< void, [UIntervalGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UIntervalGizmo) * > FOnEndIntervalEdit


className: FOnIntervalChanged

description: Called when an interval is changed. The delegate gives a pointer to the gizmo, the direction of the interval in gizmo space, and the new parameter value.

code: typedef TMulticastDelegate_ThreeParams< void, [UIntervalGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UIntervalGizmo) *, const FVector &, float > FOnIntervalChanged


className: GizmoName

code: static [FString](API\Runtime\Core\Containers\FString) GizmoName = TEXT("IntervalGizmo");


description: Gets the location and orientation of the interval gizmo.

code: virtual FTransform GetGizmoTransform() const


code: virtual void SetActiveTarget ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * TransformTargetIn, [UGizmoLocalFloatParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoLocalFloatParameterSource) * UpInterval, [UGizmoLocalFloatParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoLocalFloatParameterSource) * DownInterval, [UGizmoLocalFloatParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoLocalFloatParameterSource) * ForwardInterval, [IToolContextTransactionProvider](API\Runtime\InteractiveToolsFramework\IToolContextTransactionProvider) * TransactionProvider )


description: Clear the active target object for the Gizmo

code: virtual void ClearActiveTarget()


code: virtual void SetGizmoActorBuilder ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FIntervalGizmoActorFactory](API\Runtime\InteractiveToolsFramework\BaseGizmos\FIntervalGizmoActorFactory) > Builder )


description: Called by GizmoManager to initialize the GizmoafterGizmoBuilder::BuildGizmo() has been called

code: virtual void Setup()


code: virtual void SetUpdateCoordSystemFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) *, EToolContextCoordinateSystem)> CoordSysFunction )


code: virtual void SetUpdateHoverFunction ( [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) *, bool)> HoverFunction )


code: virtual void SetWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * WorldIn )


description: Sets functions that allow the endpoints of the intervals to be snapped to world geometry when ShouldAlignDestination is true

code: virtual void SetWorldAlignmentFunctions ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool()> && ShouldAlignDestination, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool(const FRay &, FVector &)> && DestinationAlignmentRayCaster )


description: Called by GizmoManager to shut down the Gizmo

code: virtual void Shutdown()


description: Allow the Gizmo to do any necessary processing on Tick

code: virtual void Tick ( float DeltaTime )


className: UIntervalGizmo

code: class UIntervalGizmo : public [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo)

ActiveComponents

type: TArray<TObject...

description: List of current-active child components

ActiveGizmos

description: List of currently-active child gizmos

AxisYSource

type: TObjectPtr<UGi...

description: Y-axis source is shared across Gizmos, and created internally duringSetActiveTarget()

AxisZSource

description: Z-axis source is shared across Gizmos, and created internally duringSetActiveTarget()

DestinationAlignmentRayCaster

type: TUniqueFunction...

DownIntervalSource

type: UGizmoLocalFloa...

GizmoActor

type: AIntervalGizmoA...

GizmoActorBuilder

type: TSharedPtr<FIn...

OnBeginIntervalGizmoEdit

type: FOnBeginInterva...

OnEndIntervalGizmoEdit

type: FOnEndIntervalE...

OnIntervalChanged

type: FOnIntervalChan...

StateTarget

description: State target is shared across gizmos, and created internally duringSetActiveTarget()

TransformProxy

description: The gizmo tracks the location and orientation of the transform in this TransformProxy.

UpdateCoordSystemFunction

type: TFunction< void...

description: This function is called on each active GizmoActor Component to update it's coordinate system (eg world/local).

UpdateHoverFunction

description: This function is called on each active GizmoActor Component to update it's hover state.

World

type: UWorld*

description: GizmoActors will be spawned in this World


description:
Create a new instance of this builder's Gizmo
a new instance of the Gizmo, or nullptr on error/failure

code: virtual [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * BuildGizmo ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UIntervalGizmoBuilder

code: class UIntervalGizmoBuilder : public [UInteractiveGizmoBuilder](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoBuilder)

GizmoActorBuilder

description: If set, this Actor Builder will be passed toUIntervalGizmoinstances.

UpdateCoordSystemFunction

description: If set, this coord-system function will be passed toUIntervalGizmoinstances to use instead of the default UpdateCoordSystemFunction.

UpdateHoverFunction

description: If set, this hover function will be passed toUIntervalGizmoinstances to use instead of the default.


description:
Test if target can begin click-drag interaction at this point
hit information at this point

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) CanBeginClickDragSequence ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


className: FCustomDestinationParams

code: struct FCustomDestinationParams

WorldRay

type: const FRay *...

description: Right now we use the custom destination function for aligning to items in the scene, which we just need the world ray for.


description: Initialize hover sequence at given position

code: virtual void OnBeginHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


description: Notify Target that input position has changed

code: virtual void OnClickDrag ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DragPos )


description: Notify Target that click press ocurred

code: virtual void OnClickPress ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


description: Notify Target that click-drag sequence has been explicitly terminated (eg by escape key)

code: virtual void OnTerminateDragSequence()


description: IHoverBehaviorTargetimplementation.

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) BeginHoverSequenceHitTest ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


description: Terminate active hover sequence

code: virtual void OnEndHover()


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


description: Called by GizmoManager to initialize the GizmoafterGizmoBuilder::BuildGizmo() has been called

code: virtual void Setup()


className: UPlanePositionGizmo

description: Internally aUClickDragInputBehavioris used to handle mouse input, configured inSetup()

AxisSource

type: TScriptInterfac...

description: AxisSource provides the 3D plane on which the interaction happens

bEnableSignedAxis

type: bool

description: If enabled, then the sign on the parameter delta is always "increasing" when moving away from the origin point, rather than just being a projection onto the axis

bFlipX

description: If enabled, flip sign of parameter delta on X axis

bFlipY

description: If enabled, flip sign of parameter delta on Y axis

bInInteraction

description: If true, we are in an active click+drag interaction, otherwise we are not

CustomDestinationFunc

description: IfShouldUseCustomDestinationFunc()returns true, this function is used to get a destination point, and the output parameters are picked in such a way that the axis origin moves to the closest point in the plane to the destination point.

HitTarget

description: The HitTarget provides a hit-test against some 3D element (presumably a visual widget) that controls when interaction can start

InteractionOrigin

description: The values below are used in the context of a single click-drag interaction, ie if bInInteraction = true They otherwise should be considered uninitialized

LastInputRay

type: FInputDeviceRay

MouseBehavior

type: TObjectPtr<UCl...

description: The mouse click behavior of the gizmo is accessible so that it can be modified to use different mouse keys.

ParameterSource

description: The 3D plane coordinates are converted to 2D coordinates in the plane tangent space, and the change in value is sent to this ParameterSource

ShouldUseCustomDestinationFunc

description: This gets checked to see if we should use the custom ray caster to get a destination point for the gizmo, rather than grabbing the intersection with the gizmo plane.

StateTarget

description: StateTarget is notified when interaction starts and ends, so that things like undo/redo can be handled externally


className: UPlanePositionGizmoBuilder

code: class UPlanePositionGizmoBuilder : public [UInteractiveGizmoBuilder](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoBuilder)


className: URepositionableTransformGizmoBuilder


description: Modifies aUAxisPositionGizmoafter its addition via AddAxisTranslationGizmo for use in gizmo repositioning.

code: void ModifyPivotAxisGizmo ( [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * SubGizmoIn )


description: Notify Target that click release occurred

code: virtual void OnClickRelease ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ReleasePos )


description: Modifies aUAxisAngleGizmoafter its addition via AddAxisRotationGizmo for use in gizmo repositioning.

code: void ModifyPivotRotateGizmo ( [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * SubGizmoIn )


description: Modifies aUPlanePositionGizmoafter its addition via AddPlaneTranslationGizmo for use in gizmo repositioning.

code: void ModifyPivotPlaneGizmo ( [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * SubGizmoIn )


description: Set the active target object for the Gizmo

code: virtual void SetActiveTarget ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * Target, [IToolContextTransactionProvider](API\Runtime\InteractiveToolsFramework\IToolContextTransactionProvider) * TransactionProvider )


description: Allows the user to provide functions to use in aligning the gizmo during repositioning only. This is because the repositining is likely to want different raycasts that don't ignore the moved components themselves, so that the gizmo can be aligned to a target component.

code: virtual void SetPivotAlignmentFunctions ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool()> && ShouldAlignPivotIn, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool(const FRay &, FVector &)> && PivotAlignmentRayCasterIn )


description: Allows the user to provide functions to use for aligning the gizmo destination to items in the scene. Note that this affects both the movement and repositioning.

code: virtual void SetWorldAlignmentFunctions ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool()> && ShouldAlignTranslationIn, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool(const FRay &, FVector &)> && TranslationAlignmentRayCasterIn )


className: URepositionableTransformGizmo

description: A transform gizmo that also allows the user to reposition it by middle-clicking rotation/translation components.

code: class URepositionableTransformGizmo : public [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo)

PivotAlignmentGizmos

type: TArray<UIntera...

description: Subset of ActiveGizmos, for use by SetPivotAlignmentFunctions


description: Called afterWantsCapture()returns a capture request that was accepted

code: virtual [FInputCaptureUpdate](API\Runtime\InteractiveToolsFramework\FInputCaptureUpdate) BeginCapture ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState, EInputCaptureSide eSide )


description: If this is called, the Behavior has forcibly lost capture (eg due to app losing focus for example) and needs to clean up accordingly

code: virtual void ForceEndCapture ( const [FInputCaptureData](API\Runtime\InteractiveToolsFramework\FInputCaptureData) & CaptureData )


description: The priority is used to resolve situations where multiple behaviors want the same capture


code: virtual void Initialize ( [UScalableSphereGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UScalableSphereGizmo) * Gizmo )


description: Called for each new input event during a capture sequence. Return Continue to keep capturing, or End to finish capturing.

code: virtual [FInputCaptureUpdate](API\Runtime\InteractiveToolsFramework\FInputCaptureUpdate) UpdateCapture ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState, const [FInputCaptureData](API\Runtime\InteractiveToolsFramework\FInputCaptureData) & CaptureData )


description: Given the input state, does this Behavior want to begin capturing some input devices?

code: virtual [FInputCaptureRequest](API\Runtime\InteractiveToolsFramework\FInputCaptureRequest) WantsCapture ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState )


className: UScalableSphereGizmoInputBehavior

description: A behavior that forwards clicking and dragging to the gizmo.

code: class UScalableSphereGizmoInputBehavior : public [UAnyButtonInputBehavior](API\Runtime\InteractiveToolsFramework\BaseBehaviors\UAnyButtonInputBehavior)

Gizmo

type: UScalableSphere...

LastWorldRay

type: FRay


description: Do hover hit-test

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) BeginHoverSequenceHitTest ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


description: Check if the input Ray hit any of the components of the internal actor

code: bool HitTest ( const FRay & Ray, [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit, FVector & OutAxis, FTransform & OutTransform )


code: virtual void OnBeginDrag ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & Ray )


description: Initialize hover sequence at given position

code: virtual void OnBeginHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


code: virtual void OnEndDrag ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & Ray )


code: virtual void OnUpdateDrag ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & Ray )


description: Terminate active hover sequence

code: virtual void OnEndHover()


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


description: Allow the Gizmo to do any custom drawing (ie via PDI/RHI)

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Set the Radius of the Sphere

code: void SetRadius ( float InRadius )


description: Set the Target to which the gizmo will be attached

code: virtual void SetTarget ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * InTarget )


description: Called by GizmoManager to initialize the GizmoafterGizmoBuilder::BuildGizmo() has been called

code: virtual void Setup()


className: UScalableSphereGizmo

description: UScalableSphereGizmoprovides a sphere that can be scaled in all directions by dragging anywhere on the three axial circles that represent it

code: class UScalableSphereGizmo : public [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo), public [IHoverBehaviorTarget](API\Runtime\InteractiveToolsFramework\BaseBehaviors\IHoverBehaviorTarget)

HitErrorThreshold

type: float

description: The error threshold for hit detection with the sphere.

TransactionDescription

type: FText

description: The text that will be used as the transaction description for undo/redo.

UpdateRadiusFunc

description: Called when the radius is chaged (by dragging or setting). Sends new radius as parameter.


description:
Create a new instance of this builder's Gizmo
a new instance of the Gizmo, or nullptr on error/failure

code: virtual [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * BuildGizmo ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UScalableSphereGizmoBuilder

code: class UScalableSphereGizmoBuilder : public [UInteractiveGizmoBuilder](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoBuilder)


description: FTransformProxyChangeSourcewill call these functions on Begin/End


description: Clients should call this before a sequence of SetTransform calls that have bSetPivotMode as true (see comment in BeginTransformEditSequence).

code: virtual void BeginPivotEditSequence()


description: The internal shared transform is regenerated each time a component is added

code: virtual void AddComponent ( [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * Component, bool bModifyComponentOnTransform )


code: virtual void AddComponentCustom ( [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * Component, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< FTransform(void)> GetTransformFunc, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void(const FTransform &)> SetTransformFunc, int64 UserDefinedIndex, bool bModifyComponentOnTransform )


description: Clients should call this when done with a sequence of SetTransform that have bSetPivotMode as true (see comment in BeginTransformEditSequence).

code: virtual void EndPivotEditSequence()


className: FOnBeginPivotEdit

description: This delegate is fired whenBeginTransformEditSequence()is called to indicate that a sequence of pivot updates has started

code: typedef TMulticastDelegate_OneParam< void, [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * > FOnBeginPivotEdit


description: External clients should call this when done a sequence of SetTransform calls (see BeginTransformEditSequence)

code: virtual void EndTransformEditSequence()


className: FOnBeginTransformEdit

description: This delegate is fired whenBeginTransformEditSequence()is called to indicate that a sequence of transform updates has started

code: typedef TMulticastDelegate_OneParam< void, [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * > FOnBeginTransformEdit


className: FOnEndPivotEdit

description: This delegate is fired whenEndTransformEditSequence()is called to indicate that a sequence of pivot updates has ended

code: typedef TMulticastDelegate_OneParam< void, [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * > FOnEndPivotEdit


className: FOnEndTransformEdit

description: This delegate is fired whenEndTransformEditSequence()is called to indicate that a sequence of transform updates has ended

code: typedef TMulticastDelegate_OneParam< void, [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * > FOnEndTransformEdit


className: FOnPivotChanged

description: This delegate is fired whenever the internal transform changes due to a pivot reposition, ie on AddComponent and when SetTransform is called with bSetPivotMode being true.

code: typedef TMulticastDelegate_TwoParams< void, [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) *, FTransform > FOnPivotChanged


className: FOnTransformChanged

description: This delegate is fired whenever the transform changes in a way that updates the contained components. I.e., SetTransform is called with bSetPivotMode being false.

code: typedef TMulticastDelegate_TwoParams< void, [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) *, FTransform > FOnTransformChanged


className: FRelativeObject

code: struct FRelativeObject

Component

type: TWeakObjectPtr<...

GetTransformFunc

type: TUniqueFunction...

RelativeTransform

type: FTransform

description: The transform of the object relative to

StartTransform

description: The initial transform of the object, set duringUpdateSharedTransform()


description: the shared transform for all the sub-objects

code: virtual FTransform GetTransform() const


description: Update the main transform and then update the sub-objects based on their relative transformations

code: virtual void SetTransform ( const FTransform & Transform )


description: Propagate a transform update to the sub-objects

code: virtual void UpdateObjects()


description: Recalculate main SharedTransform when object set changes

code: virtual void UpdateSharedTransform()


description: Recalculate per-object relative transforms

code: virtual void UpdateObjectTransforms()


className: UTransformProxy

description: If only one sub-object is set, the main transform is the sub-object transform. Otherwise the main transform is centered at the average origin and has no rotation.

code: class UTransformProxy : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

bRotatePerObject

description: If true, relative rotation of shared transform is applied to objects before relative translation (ie they rotate in place)

bSetPivotMode

description: If true, then onSetTransform()the components are not moved, and their local transforms are recalculated

InitialSharedTransform

description: The main transform

Objects

type: TArray<FRelati...

description: List of sub-objects

OnBeginPivotEdit

type: FOnBeginPivotEd...

OnBeginTransformEdit

type: FOnBeginTransfo...

OnEndPivotEdit

type: FOnEndPivotEdit

OnEndTransformEdit

type: FOnEndTransform...

OnPivotChanged

type: FOnPivotChanged

OnTransformChanged

type: FOnTransformCha...

OnTransformChangedUndoRedo

description: This delegate is fired whenever the transform is changed by aFTransformProxyChange, ie on undo/redo.

SharedTransform

description: The main transform


className: FBrushStampData

description: Generic Brush Stamp data

code: struct FBrushStampData

Falloff

description: Falloff of brush stamp

HitResult

type: FHitResult

description: Hit Result provided by implementations - may not be fully populated

Radius

description: Radius of brush stamp

WorldNormal

type: FVector

description: World Normal of brush stamp

WorldPosition

description: World Position of brush stamp


code: float GetCurrentPressure() const


className: IToolStylusStateProviderAPI

description: This is a temporary interface to provide stylus pressure, currently necessary due to limitations in the stylus plugin architecture. Should be removed once InputState/InputBehavior can support stylus events

code: class IToolStylusStateProviderAPI


description: IClickDragBehaviorTargetimplementation.

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) CanBeginClickDragSequence ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


code: virtual void DecreaseBrushSizeAction()


description: Allow the Tool to do any custom screen space drawing

code: virtual void DrawHUD ( [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Subclasses should implement this to give an estimate of target dimension for brush size scaling


code: virtual double GetCurrentBrushRadius() const


code: virtual double GetCurrentBrushRadiusLocal() const


code: virtual void IncreaseBrushSizeAction()


code: virtual bool IsInBrushStroke() const


description: UMeshSurfacePointToolimplementation.

code: virtual void OnBeginDrag ( const FRay & Ray )


description: Notify Target that input position has changed

code: virtual void OnClickDrag ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DragPos )


description: Notify Target that click press ocurred

code: virtual void OnClickPress ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


description: This function is called when the user releases the button driving a click-drag-release interaction

code: virtual void OnEndDrag ( const FRay & Ray )


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: This function is called each frame that the user is in a click-drag-release interaction

code: virtual void OnUpdateDrag ( const FRay & Ray )


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


code: void RecalculateBrushRadius()


description: Override this function to register the set of Actions this Tool supports, usingFInteractiveToolActionSet::RegisterAction. Note that for the actions to be triggered, you will also need to add corresponding registration per tool  see Engine\Plugins\Editor\ModelingToolsEditorMode\Source\ModelingToolsEditorMode\Public\ModelingToolsActions.h for examples

code: virtual void RegisterActions ( [FInteractiveToolActionSet](API\Runtime\InteractiveToolsFramework\FInteractiveToolActionSet) & ActionSet )


description: Allow the Tool to do any custom drawing (ie via PDI/RHI)

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: void SetBrushEnabled ( bool bIsEnabled )


description: UInteractiveTool.

code: virtual void Setup()


code: virtual void SetupBrushStampIndicator()


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


description: Return false to disable the hotkey for adjusting the brush radius and strength in the viewport


code: UBaseBrushTool()


className: UBaseBrushTool

description: UBaseBrushToolimplements 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 .LastBrushStampFProperty4) status of brush stroke via .bInBrushStrokeFProperty5) "B" hotkey to adjust brush radius / strength by click-dragging in the viewport

code: class UBaseBrushTool : public [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool)

bInBrushStroke

type: bool

description: Set to true by Tool if user is currently in an active brush stroke

BrushAdjusterBehavior

description: Adjusts size and strength properties while holding hotkey during click/drag

BrushProperties

type: TObjectPtr<UBr...

description: Properties that control brush size/etc

BrushRelativeSizeRange

type: TInterval< floa...

BrushStampIndicator

description: Brush Indicator support

CurrentBrushRadius

type: double

LastBrushStamp

type: FBrushStampData

description: Position of brush at last update (both during stroke and during Hover)

PropertyClass

type: TSoftClassPtr< ...

WorldToLocalScale

description: Uniform scale factor that scales from world space (where brush usually exists) to local space


description: Called afterWantsCapture()returns a capture request that was accepted

code: virtual [FInputCaptureUpdate](API\Runtime\InteractiveToolsFramework\FInputCaptureUpdate) BeginCapture ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState, EInputCaptureSide eSide )


code: void DrawHUD ( [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: If this is called, the Behavior has forcibly lost capture (eg due to app losing focus for example) and needs to clean up accordingly

code: virtual void ForceEndCapture ( const [FInputCaptureData](API\Runtime\InteractiveToolsFramework\FInputCaptureData) & CaptureData )


description: UAnyButtonInputBehavior.


code: void Initialize ( [UBaseBrushTool](API\Runtime\InteractiveToolsFramework\BaseTools\UBaseBrushTool) * InBrushTool )


code: bool IsBrushBeingAdjusted() const


description: true if Target Button has been pressed this frame

code: virtual bool IsPressed ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & input )


description: true if Target Button was released this frame

code: virtual bool IsReleased ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & input )


code: void OnDragStart ( FVector2D InScreenPosition )


code: void OnDragUpdate ( FVector2D InScreenPosition )


code: void SetSizeAdjustSpeed ( float InSizeSpeed )


code: void SetStrengthAdjustSpeed ( float InStrengthSpeed )


description: Called for each new input event during a capture sequence. Return Continue to keep capturing, or End to finish capturing.

code: virtual [FInputCaptureUpdate](API\Runtime\InteractiveToolsFramework\FInputCaptureUpdate) UpdateCapture ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState, const [FInputCaptureData](API\Runtime\InteractiveToolsFramework\FInputCaptureData) & CaptureData )


description: Given the input state, does this Behavior want to begin capturing some input devices?

code: virtual [FInputCaptureRequest](API\Runtime\InteractiveToolsFramework\FInputCaptureRequest) WantsCapture ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState )


className: UBrushAdjusterInputBehavior

description: OnDragStart()defines the starting location of an adjustmentOnDragUpdate()adjusts the brush strength and radius based on the magnitude of the screen coordinate delta in the vertical and horizontal directions respectively.

code: class UBrushAdjusterInputBehavior : public [UAnyButtonInputBehavior](API\Runtime\InteractiveToolsFramework\BaseBehaviors\UAnyButtonInputBehavior)


code: UBrushBaseProperties()


className: UBrushBaseProperties

description: Standard properties for a Brush-type Tool

code: class UBrushBaseProperties : public [UInteractiveToolPropertySet](API\Runtime\InteractiveToolsFramework\UInteractiveToolPropertySet)

BrushFalloffAmount

type: float

description: Amount of falloff to apply (0.0 - 1.0)

BrushSize

description: Relative size of brush

BrushStrength

description: Strength of the brush (0.0 - 1.0)

bShowFalloff

description: If false, then BrushFalloffAmount will not be shown in DetailsView panels (otherwise no effect)

bShowStrength

description: If false, then BrushStrength will not be shown in DetailsView panels (otherwise no effect)

bSpecifyRadius

description: If true, ignore relative Brush Size and use explicit world Radius

DisplayName

description: Radius of brush


description:
IClickBehaviorTargetimplementation Test if target can begin click-drag interaction at this point
true if target wants to begin sequence

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) CanBeginClickDragSequence ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


description: Notify Target that click press ocurred

code: virtual void OnClickPress ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


description: Notify Target that click release occurred

code: virtual void OnClickRelease ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ReleasePos )


description: Notify Target that click-drag sequence has been explicitly terminated (eg by escape key)

code: virtual void OnTerminateDragSequence()


description: Register default primary-button-click InputBehaviors

code: virtual void Setup()


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a new Tool instance can be created

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UClickDragTool

description: UClickDragToolis a base tool that basically just implementsIClickDragBehaviorTarget, and on setup registers aUClickDragInputBehavior. You can subclass this Tool to implement basic click-drag type Tools. If you want to do more advanced things, like handle modifier buttons/keys, you will need to implementIClickDragBehaviorTargetyourself

code: class UClickDragTool : public [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool), public [IClickDragBehaviorTarget](API\Runtime\InteractiveToolsFramework\BaseBehaviors\IClickDragBehaviorTarget)


description:
Create a new instance of this builder's Tool
a new instance of the Tool, or nullptr on error/failure

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: Notify Target that input position has changed

code: virtual void OnClickDrag ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DragPos )


className: UClickDragToolBuilder

description: Builder forUClickDragTool

code: class UClickDragToolBuilder : public [UInteractiveToolBuilder](API\Runtime\InteractiveToolsFramework\UInteractiveToolBuilder)


description: Do hover hit-test

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) BeginHoverSequenceHitTest ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


description: IClickDragBehaviorTargetimplementation.


description: current state of the ctrl toggle

code: virtual bool GetCtrlToggle() const


description: current input device pressure in range 0-1

code: virtual float GetCurrentDevicePressure() const


description: current state of the shift toggle

code: virtual bool GetShiftToggle() const


description: IInteractiveToolCameraFocusAPIimplementation.

code: virtual bool GetWorldSpaceFocusPoint ( const FRay & WorldRay, FVector & PointOut )


description: true if the target MeshSource is hit by the Ray

code: virtual bool HitTest ( const FRay & Ray, [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit )


description: This function is called when the user begins a click-drag-release interaction

code: virtual void OnBeginDrag ( const FRay & Ray )


description: Initialize hover sequence at given position

code: virtual void OnBeginHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


description: Notify Target that click press ocurred

code: virtual void OnClickPress ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos )


code: virtual void OnClickRelease ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ReleasePos )


description: This function is called when the user releases the button driving a click-drag-release interaction

code: virtual void OnEndDrag ( const FRay & Ray )


description: Terminate active hover sequence

code: virtual void OnEndHover()


code: virtual void OnTerminateDragSequence()


description: This function is called each frame that the user is in a click-drag-release interaction

code: virtual void OnUpdateDrag ( const FRay & Ray )


description: Update active hover sequence with new input position

code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


description: Notify target of current modifier state

code: virtual void OnUpdateModifierState ( int ModifierID, bool bIsOn )


description: Called by registered InputBehaviors to set the state of the "ctrl" button (or device equivalent)

code: virtual void SetCtrlToggle ( bool bCtrlDown )


description: Set current stlyus API source

code: virtual void SetStylusAPI ( [IToolStylusStateProviderAPI](API\Runtime\InteractiveToolsFramework\BaseTools\IToolStylusStateProviderAPI) * StylusAPI )


description: Called by registered InputBehaviors to set the state of the "shift" button (or device equivalent)

code: virtual void SetShiftToggle ( bool bShiftDown )


description: Register InputBehaviors, etc

code: virtual void Setup()


code: void SetWorld ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


className: UMeshSurfacePointTool

description: Subclasses override the OnBeginDrag/OnUpdateDrag/OnEndDrag and OnUpdateHover functions to implement custom behavior.

bCtrlToggle

description: Current state of the ctrl modifier toggle

bShiftToggle

description: Current state of the shift modifier toggle

LastWorldRay

type: FRay

StylusAPI

type: IToolStylusStat...

TargetWorld

type: TWeakObjectPtr<...


description:
Create a new instance of this builder's Tool
new Tool instance initialized with selected mesh source

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a single mesh source can be found in the active selection

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: new Tool instance. Override this in subclasses to build a different Tool class type

code: virtual [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * CreateNewTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description: Gives the target requirements of the associated tool. Usually, it is the tool builder will use this function in CanBuildTool and BuildTool to find and create any necessary targets.

code: virtual const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & GetTargetRequirements() const


description: Called by BuildTool to configure the Tool with the input MeshSource based on the SceneState

code: virtual void InitializeNewTool ( [UMeshSurfacePointTool](API\Runtime\InteractiveToolsFramework\BaseTools\UMeshSurfacePointTool) * Tool, const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UMeshSurfacePointToolBuilder

code: class UMeshSurfacePointToolBuilder : public [UInteractiveToolWithToolTargetsBuilder](API\Runtime\InteractiveToolsFramework\UInteractiveToolWithToolTargetsB-)


description: Test if the Target is hit at this 2D position / 3D ray

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) IsHitByClick ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ClickPos )


description: Click the Target at this 2D position / 3D ray. Default behavior is to print debug string.

code: virtual void OnClicked ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ClickPos )


description:
Create a new instance of this builder's Tool
a new instance of the Tool, or nullptr on error/failure


className: USingleClickTool

description: The function ::OnClicked() implements the action that will occur when a click happens. You must override this to implement any kind of useful behavior.

code: class USingleClickTool : public [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool), public [IClickBehaviorTarget](API\Runtime\InteractiveToolsFramework\BaseBehaviors\IClickBehaviorTarget)


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a new Tool instance can be created


className: USingleClickToolBuilder

description: Builder forUSingleClickTool

code: class USingleClickToolBuilder : public [UInteractiveToolBuilder](API\Runtime\InteractiveToolsFramework\UInteractiveToolBuilder)


description: Makes the change to the object

code: virtual void Apply ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


description: Reverts change to the object

code: virtual void Revert ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


description: Describes this change (for debugging)

code: virtual [FString](API\Runtime\Core\Containers\FString) ToString() const


code: FComponentWorldTransformChange()


description: Register default primary-button-click InputBehaviors


code: FComponentWorldTransformChange ( const FTransform & From, const FTransform & To )


className: FComponentWorldTransformChange

description: FComponentWorldTransformChangerepresents an undoable change to the world transform of aUSceneComponent.

code: class FComponentWorldTransformChange : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)

FromWorldTransform

type: FTransform

OnChangeAppliedFunc

type: TFunction< void...

description: This function is called on Apply and Revert (last argument is true on Apply)


description: Apply sequence of changes in-order


description: Add a change to the sequence

code: void AppendChange ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Target, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange) > Change )


description:
Describes this change (for debugging)
string describing this change sequenece


className: FChangeElem

code: struct FChangeElem

Change

type: TUniquePtr<FTo...


code: FToolCommandChangeSequence()


description: Reverts sequence of changes in reverse-order


className: FToolCommandChangeSequence

description: if the target weakUObjectpointers become invalid, those changes are skipped. Possibly leaves things in an undefined state...

code: class FToolCommandChangeSequence : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)

Sequence

type: TArray<TShared...


description: true if this Change has Expired, ie it will no longer have any effect and could be skipped by undo/redo

code: virtual bool HasExpired ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object ) const


code: FActivateToolChange ( EToolSide SideIn, [FString](API\Runtime\Core\Containers\FString) ToolTypeIn )


code: FActivateToolChange ( EToolSide SideIn, [FString](API\Runtime\Core\Containers\FString) ToolTypeIn, EToolShutdownType ShutdownTypeIn )


className: FActivateToolChange

description: FActivateToolChangeis used byUInteractiveToolManagerto change the active tool. This Change has two modes, either activating or deactivating.

code: class FActivateToolChange : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)

ShutdownType

type: EToolShutdownTy...

Side

type: EToolSide

ToolType

type: FString


description: Makes the change to the object


description: Reverts change to the object


className: FActiveGizmo

code: struct FActiveGizmo

Gizmo

type: TObjectPtr<UIn...

Owner

type: void *


description: Describes this change (for debugging)


className: FBeginToolChange

description: FBeginToolChangeis used byUInteractiveToolManagerto back out of a Tool on Undo. No action is taken on Redo, ie we do not re-start the Tool on Redo.

code: class FBeginToolChange : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)


className: FBehaviorInfo

description: This is an internal structure used byUInputBehaviorSet.

code: struct FBehaviorInfo

Behavior

description: Reference to a Behavior

Group

description: Group identifier for this Behavior

Source

description: Source object that provided this Behavior


code: [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FPrimitiveComponentTarget](API\Runtime\InteractiveToolsFramework\FPrimitiveComponentTarget) > Build ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * PrimitiveComponent )


code: bool CanBuild ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) * Candidate )


code: virtual ~FComponentTargetFactory()


className: FComponentTargetFactory

description: Deprecated* Use tool target factories instead.

code: class FComponentTargetFactory


description: Update the states of this button

code: void SetStates ( bool bPressedIn, bool bDownIn, bool bReleasedIn )


code: FDeviceButtonState()


code: FDeviceButtonState ( const [FKey](API\Runtime\InputCore\FKey) & ButtonIn )


className: FDeviceButtonState

description: Current State of a physical device button (mouse, key, etc) at a point in time. Each "click" of a button should involve at minimum two separate state events, one where bPressed=true and one where bReleased=true. Each of these states should occur only once. In addition there may be additional frames where the button is held down and bDown=true and bPressed=false.

code: struct FDeviceButtonState

bDown

type: bool

description: Is the button currently pressed down. This should be true every frame the button is pressed.

bPressed

description: Was the button pressed down this frame. This should happen once per "click"

bReleased

description: Was the button released this frame. This should happen once per "click"

Button

type: FKey

description: Button identifier


code: FInputCaptureData()


code: static constexpr int DEFAULT_GIZMO_PRIORITY = 50;


className: FInputCaptureData

description: An active capturing behavior may need to keep track of additional data that cannot be stored within the behavior (for example if the same behavior instance is capturing for Left and Right separately). SoFInputCaptureUpdatecan optionally return this structure, and we will pass it to the next UpdateCapture() call

code: struct FInputCaptureData

CustomData

description: Pointer to data defined by the InputBehavior, which is also responsible for cleaning it up

WhichSide

type: EInputCaptureSi...

description: Which side do we want to capture on


code: static constexpr int DEFAULT_TOOL_PRIORITY = 100;


description: a priority higher than this priority

code: [FInputCapturePriority](API\Runtime\InteractiveToolsFramework\FInputCapturePriority) MakeHigher ( int DeltaAmount ) const


code: FInputCapturePriority ( int priority )


description: a priority lower than this priority

code: [FInputCapturePriority](API\Runtime\InteractiveToolsFramework\FInputCapturePriority) MakeLower ( int DeltaAmount ) const


description: Create a Begin-capture request

code: static [FInputCaptureRequest](API\Runtime\InteractiveToolsFramework\FInputCaptureRequest) Begin ( [UInputBehavior](API\Runtime\InteractiveToolsFramework\UInputBehavior) * behavior, EInputCaptureSide whichSide, double hitDepth )


description: Create an ignore-capture request


code: FInputCaptureRequest ( EInputCaptureRequestType type, [UInputBehavior](API\Runtime\InteractiveToolsFramework\UInputBehavior) * behavior, EInputCaptureSide whichSide, double hitDepth )


className: FInputCaptureRequest

description: UInputBehaviorreturns anFInputCaptureRequestfrom WantsCapture() to indicate whether it wants to capture or ignore an input event

code: struct FInputCaptureRequest

HitDepth

type: double

description: Depth along hit-test ray

Owner

description: Owner of the requesting behavior. Behavior doesn't know this, so this is initialized to null

Side

description: Which side does request want to capture on

Source

type: UInputBehavior...

description: Which input behavior generated this request

Type

type: EInputCaptureRe...

description: What type of capture request is this (Begin or Ignore)


description: Create a begin-capturing instance ofFInputCaptureUpdate

code: static [FInputCaptureUpdate](API\Runtime\InteractiveToolsFramework\FInputCaptureUpdate) Begin ( [UInputBehavior](API\Runtime\InteractiveToolsFramework\UInputBehavior) * SourceBehavior, EInputCaptureSide WhichSide, void * CustomData )


description: Create a default end-capturing instance ofFInputCaptureUpdate


description: Create a default continue-capturing instance ofFInputCaptureUpdate


className: FInputCapturePriority

description: EachUInputBehaviorprovides a priority that is used to help resolve situations when multiple Behaviors want to capture based on the same input event

code: struct FInputCapturePriority

Priority

type: int

description: Constant priority value


code: FInputCaptureUpdate ( EInputCaptureState StateIn, [UInputBehavior](API\Runtime\InteractiveToolsFramework\UInputBehavior) * SourceBehaviorIn, EInputCaptureSide WhichSideIn, void * CustomData )


description: Create a default ignore-capturing instance ofFInputCaptureUpdate


description: This is required for a USTRUCT

code: FInputDeviceRay()


className: FInputCaptureUpdate

description: IInputBehavior returns anFInputCaptureUpdatefrom BeginCapture() and UpdateCapture(), which indicates to the InputRouter what the Behavior would like to have happen.

code: struct FInputCaptureUpdate

Data

type: FInputCaptureDa...

description: Custom data for the active capture that should be propagated to next UpdateCapture() call

Source

description: Which Behavior did this update come from

State

type: EInputCaptureSt...

description: Indicates what capture state the Behavior wants to transition to


code: FInputDeviceRay ( const FRay & WorldRayIn )


code: FInputDeviceRay ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & Input )


code: FInputDeviceRay ( const FRay & WorldRayIn, const FVector2D & ScreenPositionIn )


className: FInputDeviceRay

description: FInputDeviceRayrepresents a 3D ray created based on an input device. If the device is a 2D input device like a mouse, then the ray may have an associated 2D screen position.

code: struct FInputDeviceRay

description: If true, WorldRay has 2D device position coordinates

ScreenPosition

description: 2D device position coordinates associated with the ray

WorldRay

type: FRay

description: 3D ray in 3D scene, in world coordinates


description: true if alt key is down in input state

code: static bool IsAltKeyDown ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState )


description: true if Apple Command key is down in input state

code: static bool IsCmdKeyDown ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState )


description: true if ctrl key is down in input state

code: static bool IsCtrlKeyDown ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState )


description: true if this input state is for an input device that matches the query flags

code: bool IsFromDevice ( EInputDevices DeviceType ) const


description:
Utility functions to pass as lambdas
true if shift key is down in input state

code: static bool IsShiftKeyDown ( const [FInputDeviceState](API\Runtime\InteractiveToolsFramework\FInputDeviceState) & InputState )


description: Update keyboard modifier key states

code: void SetModifierKeyStates ( bool bShiftDown, bool bAltDown, bool bCtrlDown, bool bCmdDown )


className: FInputDeviceState

description: Current state of physical input devices at a point in time. Assumption is that the state refers to a single physical input device, ie InputDevice field is a single value of EInputDevices and not a combination.

code: struct FInputDeviceState

bAltKeyDown

description: Is they keyboard ALT modifier key currently pressed down

bCmdKeyDown

description: Is they keyboard CMD modifier key currently pressed down (only on Apple devices)

bCtrlKeyDown

description: Is they keyboard CTRL modifier key currently pressed down

bShiftKeyDown

description: Keyboard modifiersIs they keyboard SHIFT modifier key currently pressed down

InputDevice

type: EInputDevices

description: Which InputDevice member is valid in this state

Keyboard

type: FKeyboardInputD...

description: Current state of Keyboard device, if InputDevice == EInputDevices::Keyboard

Mouse

type: FMouseInputDevi...

description: Current state of Mouse device, if InputDevice == EInputDevices::Mouse


code: FInputRayHit ( double HitDepthIn )


code: FInputDeviceState()


code: FInputRayHit ( double HitDepthIn, const FVector & HitNormalIn )


className: FInputRayHit

description: FInputRayHitis returned by various hit-test interface functions. Generally this is intended to be returned as the result of a hit-test with aFInputDeviceRay

code: struct FInputRayHit

bHasHitNormal

description: True if HitNormal was set

bHit

description: True if ray hit something, false otherwise

HitDepth

description: Distance along ray at which intersection occurred

HitIdentifier

description: Client-defined integer identifier for hit object/element/target/etc

HitNormal

type: FVector

description: Normal at hit point, if available

HitObject

type: TWeakObjectPtr<...

description: Client-defined pointer for UObject-derived hit owners.

HitOwner

description: Client-defined pointer for hit object/element/target/etc.


code: FInteractiveToolAction ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * ClassTypeIn, int32 ActionIDIn, const [FString](API\Runtime\Core\Containers\FString) & ActionNameIn, const [FText](API\Runtime\Core\Internationalization\FText) & ShortNameIn, const [FText](API\Runtime\Core\Internationalization\FText) & DescriptionIn, [EModifierKey::Type](API\Runtime\ApplicationCore\GenericPlatform\Type) DefaultModifiersIn, const [FKey](API\Runtime\InputCore\FKey) & DefaultKeyIn )


code: FInteractiveToolAction()


description: Return the internal list of registered Actions by adding to the OutActions array

code: void CollectActions ( [TArray](API\Runtime\Core\Containers\TArray)< [FInteractiveToolAction](API\Runtime\InteractiveToolsFramework\FInteractiveToolAction) > & OutActions ) const


description: Execute the action identified by ActionID

code: void ExecuteAction ( int32 ActionID ) const


className: FInteractiveToolAction

description: FInteractiveToolActionis returned by aUInteractiveToolto represent an "Action" the Tool can execute.

code: struct FInteractiveToolAction

ActionID

description: Identifier for this Action

ActionName

type: FString

description: Internal name for this Action

ClassType

type: constUClass&#...

description: Which type ofUInteractiveToolthis Action can be applied to

DefaultKey

description: Suggested keybinding for this Action.

DefaultModifiers

description: Suggested modifier keys for this Action

Description

type: FText

description: Descriptive name for this Action

OnAction

type: TFunction< void...

description: Call this function to execute the Action

ShortName

description: Short name for this Action


description:
Find an existing Action by ID
located Action, or nullptr if not found

code: const [FInteractiveToolAction](API\Runtime\InteractiveToolsFramework\FInteractiveToolAction) * FindActionByID ( int32 ActionID ) const


description: Register an Action with the ActionSet. This function is intended to be called byUInteractiveTool::RegisterActions()implementations

code: void RegisterAction ( [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * Tool, int32 ActionID, const [FString](API\Runtime\Core\Containers\FString) & ActionName, const [FText](API\Runtime\Core\Internationalization\FText) & ShortUIName, const [FText](API\Runtime\Core\Internationalization\FText) & DescriptionText, [EModifierKey::Type](API\Runtime\ApplicationCore\GenericPlatform\Type) Modifiers, const [FKey](API\Runtime\InputCore\FKey) & ShortcutKey, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void()> ActionFunction )


description: Set hit object, will also set hit owner to the same value

code: void SetHitObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InHitObject )


className: FInteractiveToolActionSet

description: FInteractiveToolActionSetmaintains a list ofFInteractiveToolAction. EachUInteractiveToolcontains an instance of this class.

code: class FInteractiveToolActionSet

Actions

type: TArray<FIntera...


className: FInteractiveToolInfo

description: FInteractiveToolInfoprovides information about a tool (name, tooltip, etc)

code: struct FInteractiveToolInfo

ToolDisplayName

description: Name of Tool.


description: Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finishStartupModule(). This means that, as long as a module references dependent modules in it'sStartupModule(), it can safely reference those dependencies inShutdownModule()as well.

code: virtual void ShutdownModule()


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: FKeyboardInputDeviceState

description: Current state of active keyboard key at a point in time

code: struct FKeyboardInputDeviceState

ActiveKey

type: FDeviceButtonSt...

description: State of active key that was modified (ie press or release)


className: FInteractiveToolsFrameworkModule

code: class FInteractiveToolsFrameworkModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


code: FMouseInputDeviceState()


className: FMouseInputDeviceState

description: Current State of a physical Mouse device at a point in time.

code: struct FMouseInputDeviceState

description: Change in 2D mouse position from last state event

Left

description: State of the left mouse button

Middle

description: State of the middle mouse button

description: Current 2D position of the mouse, in application-defined coordinate system

Right

description: State of the right mouse button

WheelDelta

type: float

description: Change in 'ticks' of the mouse wheel since last state event

WorldRay

description: Ray into current 3D scene at current 2D mouse position


description: Commit an update to the material set. This may generate a transaction.

code: virtual void CommitMaterialSetUpdate ( const [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSet, bool bApplyToAsset )


code: void CommitMesh ( const [FCommitter](API\Runtime\InteractiveToolsFramework\FPrimitiveComponentTarget\FCommitter) & )


className: FCommitParams

code: struct FCommitParams

MeshDescription

type: FMeshDescriptio...


className: FCommitter

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(const [FCommitParams](API\Runtime\InteractiveToolsFramework\FPrimitiveComponentTarget\FCommitParams) &) > FCommitter


description:
Get pointer to a Material provided by this Source
MaterialInterface pointer, or null if MaterialIndex is invalid

code: [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetMaterial ( int32 MaterialIndex ) const


description: Get material set provided by this source

code: virtual void GetMaterialSet ( [FComponentMaterialSet](API\Runtime\InteractiveToolsFramework\TargetInterfaces\FComponentMaterialSet) & MaterialSetOut, bool bAssetMaterials ) const


description: the Actor that owns this Component

code: [AActor](API\Runtime\Engine\GameFramework\AActor) * GetOwnerActor() const


description: number of material indices in use by this Component

code: int32 GetNumMaterials() const


description: the Component this is a Source for

code: [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * GetOwnerComponent() const


description: the transform on this component

code: FTransform GetWorldTransform() const


description:
Checks if the underlying asset that would be edited byCommitMesh()is the same for two ComponentTargets
true if both component targets are known to share the same source asset

code: bool HasSameSourceData ( const [FPrimitiveComponentTarget](API\Runtime\InteractiveToolsFramework\FPrimitiveComponentTarget) & OtherTarget ) const


description:
Compute ray intersection with the MeshDescription this Source is providing
true if ray intersected Component

code: bool HitTest ( const FRay & WorldRay, [FHitResult](API\Runtime\Engine\Engine\FHitResult) & OutHit ) const


description: true if component target is still valid. May become invalid for various reasons (eg Component was deleted out from under us)

code: virtual bool IsValid() const


description: Set the visibility of the Component associated with this Source (ie to hide during Tool usage)

code: void SetOwnerVisibility ( bool bVisible ) const


description: Constructor UPrimitivecomponent*

code: FPrimitiveComponentTarget ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Component )


code: virtual ~FPrimitiveComponentTarget()


className: FPrimitiveComponentTarget

description: (Conceivably this doesn't have to be backed by a Component, but most usage will assume there is an Actor)

code: class FPrimitiveComponentTarget

Component

type: UPrimitiveCompo...


className: FSelectedOjectsChangeList

description: Represents a change to a set of selected Actors and Components

code: struct FSelectedOjectsChangeList

Actors

type: TArray<AActor...

description: List of Actors

Components

type: TArray<UActorC...

description: List of Componets

ModificationType

type: ESelectedObject...

description: How should this list be interpreted in the context of a larger selection set


code: [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & operator= ( [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) && )


code: [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & operator= ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & )


code: FToolBuilderState ( [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) && )


code: FToolBuilderState ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & )


className: FToolBuilderState

description: FToolBuilderStateis a bucket of state information that a ToolBuilder might need to construct a Tool. This information comes from a level above the Tools framework, and depends on the context we are in (Editor vs Runtime, for example).

code: struct FToolBuilderState

GizmoManager

type: UInteractiveGiz...

description: The current GizmoManager

SelectedActors

description: Current selected Actors. May be empty or nullptr.

SelectedComponents

description: Current selected Components. May be empty or nullptr.

TargetManager

type: UToolTargetMana...

description: The current TargetManager

ToolManager

type: UInteractiveToo...

description: The current ToolManager

World

type: UWorld*

description: The currentUWorld


description: Makes the change to the object

code: virtual void Apply ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


description: true if this Change has Expired, ie it will no longer have any effect and could be skipped by undo/redo

code: virtual bool HasExpired ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object ) const


description: Reverts change to the object

code: virtual void Revert ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


className: FToolChangeWrapperChange

description: FToolChangeWrapperChangewraps anFChangeemitted by an InteractiveTool, allowing us to Expire the change without eachFChangeimplementation needing to handle this explicitly.

code: class FToolChangeWrapperChange : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)

ActiveTool

type: TWeakObjectPtr<...

ToolChange

type: TUniquePtr<FTo...


description: Describes this change (for debugging)

code: virtual [FString](API\Runtime\Core\Containers\FString) ToString() const


className: FToolCommandChange

description: FToolCommandChangeis a base class for command changes used by the Tools Framework.

code: class FToolCommandChange : public [FCommandChange](API\Runtime\Core\Misc\FCommandChange)


className: FToolContextSnappingConfiguration

description: Snapping configuration settings/state

bEnableAbsoluteWorldSnapping

type: bool

description: Specify whether Position snapping in World Coordinate System should be Absolute or Relative

bEnablePositionGridSnapping

description: Specify whether position snapping should be applied

bEnableRotationGridSnapping

description: Specify whether rotation snapping should be applied

PositionGridDimensions

type: FVector

description: Specify position grid spacing or cell dimensions

RotationGridAngles

type: FRotator

description: Specify rotation snapping step size


description: This must be called every frame to allow Visualizer to extract necessary rendering data/objects

code: void BeginFrame ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Frame initialization/cleanupThis must be called every frame to allow Visualizer to extract necessary rendering data/objects

code: void BeginFrame ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI, const [FViewCameraState](API\Runtime\InteractiveToolsFramework\FViewCameraState) & CameraState )


description: Drawing functionsDraw a line with default parameters

code: template<typename PointType> void DrawLine ( const PointType & A, const PointType & B )


description: Draw a 3D circle at given position/normal with the given parameters. Tangent axes are defined internally

code: template<typename PointType> void DrawCircle ( const PointType & Position, const PointType & Normal, float Radius, int Steps, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float LineThicknessIn, bool bDepthTestedIn )


description: Draw a line with the given Color, otherwise use default parameters

code: template<typename PointType> void DrawLine ( const PointType & A, const PointType & B, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color )


description: Draw a line with the given Color and Thickness, otherwise use default parameters

code: template<typename PointType> void DrawLine ( const PointType & A, const PointType & B, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float LineThicknessIn )


description: Draw a line with the given parameters

code: template<typename PointType> void DrawLine ( const PointType & A, const PointType & B, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float LineThicknessIn, bool bDepthTestedIn )


description: Draw a point with default parameters

code: template<typename PointType> void DrawPoint ( const PointType & Position )


description: Draw a point with the given Color, otherwise use default parameters

code: template<typename PointType> void DrawPoint ( const PointType & Position, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color )


code: template<typename PointType> void DrawSquare ( const PointType & Center, const PointType & SideA, const PointType & SideB, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float LineThicknessIn, bool bDepthTestedIn )


description: Draw a point with the given parameters

code: template<typename PointType> void DrawPoint ( const PointType & Position, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float PointSizeIn, bool bDepthTestedIn )


code: template<typename PointType> void DrawSquare ( const PointType & Center, const PointType & SideA, const PointType & SideB )


code: template<typename PointType> void DrawViewFacingCircle ( const PointType & Position, float Radius, int Steps, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float LineThicknessIn, bool bDepthTestedIn )


description: Draw a world-space X facing the viewer at the given position.

code: template<typename PointType> void DrawViewFacingX ( const PointType & Position, float Width, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float LineThicknessIn, bool bDepthTestedIn )


description: Draw a 3D box, parameterized the same as the 3D circle but extruded by Height

code: void DrawWireBox ( const FBox & Box )


code: void DrawWireBox ( const FBox & Box, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float LineThicknessIn, bool bDepthTestedIn )


description: Draw a 3D cylinder, parameterized the same as the 3D circle but extruded by Height

code: template<typename PointType> void DrawWireCylinder ( const PointType & Position, const PointType & Normal, float Radius, float Height, int Steps )


code: template<typename PointType> void DrawViewFacingX ( const PointType & Position, float Width )


code: template<typename PointType> void DrawWireCylinder ( const PointType & Position, const PointType & Normal, float Radius, float Height, int Steps, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float LineThicknessIn, bool bDepthTestedIn )


description: This should be called at the end of every frame to allow for necessary cleanup

code: void EndFrame()


description: Actually does the circle drawing

code: virtual void InternalDrawCircle ( const FVector & Position, const FVector & Normal, float Radius, int Steps, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float LineThickness, bool bDepthTested )