description: true if this AxisSource has tangent vectors orthogonal to the Direction vector

code: virtual bool HasTangentVectors() const


className: IGizmoAxisSource

description: IGizmoAxisSourceis an interface which is used to get information about a 3D Axis. At minimum this includes a 3D Direction Vector and Origin Point. Optionally the implementation may provide two Tangent Vectors which are assumed to be mutually-orthogonal and perpendicular to the Axis Direction (ie that's the normal and the 3 vectors form a coordinate frame).

module: InteractiveToolsFramework

code: class IGizmoAxisSource


description: FInputRayHitindicating whether or not the target object was hit by the device-ray at ClickPos The ray hit contains client-defined ID, HitOwner and HitObject which are used to identify the hit part.

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


description: Updates the hittable state of the specified gizmo part.

code: void UpdateHittableState ( bool bHittable, uint32 InPartIdentifier )


description: Updates the hover state of the specified gizmo part, indicating whether the input device is currently hovering over the Standard gizmo.

code: void UpdateHoverState ( bool bHovering, uint32 InPartIdentifier )


className: IGizmoClickMultiTarget

description: For a gizmo with multiple parts, the part identifier establishes a correspondence between a gizmo part and the elements representing that part within the hit target. The valid part identifiers should be defined in the gizmo. Identifier 0 is reserved for the default ID which should be assigned to elements that do not correspond to any gizmo part, such as non-hittable decorative elements.

code: class IGizmoClickMultiTarget


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

code: void UpdateInteractingState ( bool bInteracting, uint32 InPartIdentifier )


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


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: 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: void UpdateInteractingState ( bool bInteracting )


className: IGizmoClickTarget

description: IGizmoClickTargetis an interface used to provide a ray-object hit test.

code: class IGizmoClickTarget


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

code: void BeginModify()


description: Notify ParameterSource that a parameter modification is complete

code: void EndModify()


description: value of parameter

code: float GetParameter() const


description: Set value of parameter

code: void SetParameter ( float NewValue )


className: IGizmoFloatParameterSource

description: IGizmoFloatParameterSourceprovides Get and Set for an arbitrary float-valued parameter.

code: class IGizmoFloatParameterSource


description: Renders the target using the current tools context.

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


description: Updates the visibility state of the specified gizmo part.

code: void UpdateVisibilityState ( bool bVisible, uint32 InPartIdentifier )


className: IGizmoRenderMultiTarget

code: class IGizmoRenderMultiTarget


className: IGizmoRenderTarget

description: UGizmoRenderTargetis an interface used to provide rendering of a target

code: class IGizmoRenderTarget


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

code: void BeginUpdate()


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

code: void EndUpdate()


className: IGizmoStateTarget

description: IGizmoStateTargetis an interface that is used to pass notifications about significant gizmo state updates

code: class IGizmoStateTarget


code: FTransform GetTransform() const


code: void SetTransform ( const FTransform & NewTransform )


className: IGizmoTransformSource

description: IGizmoTransformSourceis an interface which is used to Get/Set an FTransform.

code: class IGizmoTransformSource


description: value of parameter

code: FVector2D GetParameter() const


description: Set value of parameter

code: void SetParameter ( const FVector2D & NewValue )


description: IGizmoVec2ParameterSourceprovides Get and Set for an arbitrary 2D-vector-valued parameter.

code: class IGizmoVec2ParameterSource


description: IHoverBehaviorTargetimplementation.

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


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: Terminate active hover sequence

code: virtual void OnEndHover()


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: 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()


description: IModifierToggleBehaviorTargetimplementation (inherited viaIClickDragBehaviorTarget)

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


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: UAxisAngleGizmo

AngleSource

type: TScriptInterfac...

bInInteraction

type: bool

ClosestAxisStartAngle

type: float

description: The angle of the closest axis in the plane of the angle gizmo (will be 0, pi/2, pi, or 3pi/2).

CustomDestinationFunc

type: TUniqueFunction...

description: IfShouldUseCustomDestinationFunc()returns true, this function is used to get a destination point, and the output parameter is picked in such a way that the closest axis in the plane of the gizmo (the positive or negative x or y, if we're rotating around z, for instance) moves to the closest point in the plane to the destination point.

InteractionCurPoint

type: FVector

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.

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.


className: UAxisAngleGizmoBuilder

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


className: UAxisPositionGizmo

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

AxisSource

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

bCustomDestinationAlignsAxisOrigin

description: Only used when a custom destination is obtained from CustomDestinationFunc.

bEnableSignedAxis

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

bInInteraction

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

CustomDestinationFunc

description: IfShouldUseCustomDestinationFunc()returns true, this function gets queried to get a destination point.

GizmoViewContext

type: TObjectPtr<UGi...

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

ParameterSource

description: The 3D line-nearest-point is converted to a 1D coordinate along the line, and the change in value is sent to this ParameterSource

description: This gets checked to see if we should use the custom destination function to get a destination point for the gizmo, rather than grabbing the closest point on axis to ray.

StateTarget

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


className: UAxisPositionGizmoBuilder

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


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

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


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 )


description: Update the Radius, Transform and Falloff of the Stamp Indicator

code: virtual void Update ( float Radius, const FTransform & WorldTransform, float Falloff )


description: Update the Radius, Position, and Normal of the stamp indicator

code: virtual void Update ( float Radius, const FVector & Position, const FVector & Normal, float Falloff )


className: UBrushStampIndicator

description: UBrushStampIndicatoris a simple 3D brush indicator.

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

AttachedComponent

type: TObjectPtr<UPr...

description: Optional Component that will be transformed such that it tracks the Radius/Position/Normal

bVisible

description: Controls whether Gizmo will draw visual elements. Does not currently affect AttachedComponent.

LineColor

type: FLinearColor

SampleStepCount

type: int

ScaleInitializedComponent

type: UPrimitiveCompo...


className: UBrushStampIndicatorBuilder

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


description:
Activate a new instance of the default 3-axis transformation Gizmo. RegisterDefaultGizmos() must have been called first.
new Gizmo instance that has been created and initialized

code: virtual [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) * Create3AxisTransformGizmo ( [UInteractiveGizmoManager](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoManager) * GizmoManager, void * Owner, const [FString](API\Runtime\Core\Containers\FString) & InstanceIdentifier )


description: Variant of CreateCustomTransformGizmo that creates aURepositionableTransformGizmo, which is an extension toUCombinedTransformGizmothat supports various snapping interactions

code: virtual [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) * CreateCustomRepositionableTransformGizmo ( [UInteractiveGizmoManager](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoManager) * GizmoManager, ETransformGizmoSubElements Elements, void * Owner, const [FString](API\Runtime\Core\Containers\FString) & InstanceIdentifier )


description:
Activate a new customized instance of the default 3-axis transformation Gizmo, with only certain elements included. RegisterDefaultGizmos() must have been called first.
new Gizmo instance that has been created and initialized

code: virtual [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) * CreateCustomTransformGizmo ( [UInteractiveGizmoManager](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoManager) * GizmoManager, ETransformGizmoSubElements Elements, void * Owner, const [FString](API\Runtime\Core\Containers\FString) & InstanceIdentifier )


code: static const [FString](API\Runtime\Core\Containers\FString) CustomRepositionableThreeAxisTransformBuilderIdentifier = TEXT("Util_CustomRepositionableThreeAxisTransformBuilderIdentifier");


code: static const [FString](API\Runtime\Core\Containers\FString) CustomThreeAxisTransformBuilderIdentifier = TEXT("Util_CustomThreeAxisTransformBuilderIdentifier");


className: DefaultAxisAngleBuilderIdentifier

code: static const [FString](API\Runtime\Core\Containers\FString) DefaultAxisAngleBuilderIdentifier = TEXT("Util_StandardXFormAxisRotationGizmo");


className: DefaultAxisPositionBuilderIdentifier

description: Builder identifiers for default gizmo types. Perhaps should have an API for this...

code: static const [FString](API\Runtime\Core\Containers\FString) DefaultAxisPositionBuilderIdentifier = TEXT("Util_StandardXFormAxisTranslationGizmo");


className: DefaultPlanePositionBuilderIdentifier

code: static const [FString](API\Runtime\Core\Containers\FString) DefaultPlanePositionBuilderIdentifier = TEXT("Util_StandardXFormPlaneTranslationGizmo");


code: static const [FString](API\Runtime\Core\Containers\FString) DefaultThreeAxisTransformBuilderIdentifier = TEXT("Util_DefaultThreeAxisTransformBuilderIdentifier");


code: void DeregisterGizmosWithManager ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * ToolManager )


className: FOnGizmoCreated

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


code: void RegisterGizmosWithManager ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * ToolManager )


className: UCombinedTransformGizmoContextObject

description: UCombinedTransformGizmoContextObjectis a utility object that registers a set of Gizmo Builders forUCombinedTransformGizmoand variants. The intended usage is to callRegisterGizmosWithManager(), and then theUCombinedTransformGizmoContextObjectwill register itself as a ContextObject in the InteractiveToolsContext's ContextObjectStore. Then theCreate3AxisTransformGizmo()/etc functions will spawn different variants ofUCombinedTransformGizmo. The above UE::TransformGizmoUtil:: functions will look up theUCombinedTransformGizmoContextObjectinstance in the ContextObjectStore and then call the associated function below.

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

GizmoActorBuilder

type: TSharedPtr<FCo...

OnGizmoCreated

type: FOnGizmoCreated


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

code: virtual [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * AddAxisRotationGizmo ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * AxisComponent, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * RootComponent, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * AxisSource, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * TransformSource, [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget) * StateTarget )


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

code: virtual [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * AddAxisScaleGizmo ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * AxisComponent, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * RootComponent, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * GizmoAxisSource, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * ParameterAxisSource, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * TransformSource, [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget) * StateTarget )


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

code: virtual [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * AddAxisTranslationGizmo ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * AxisComponent, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * RootComponent, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * AxisSource, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * TransformSource, [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget) * StateTarget, int AxisIndex )


description: a new instance of the standard plane-scaling Gizmo

code: virtual [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * AddPlaneScaleGizmo ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * AxisComponent, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * RootComponent, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * GizmoAxisSource, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * ParameterAxisSource, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * TransformSource, [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget) * StateTarget )


description: a new instance of the standard plane-translation Gizmo

code: virtual [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * AddPlaneTranslationGizmo ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * AxisComponent, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * RootComponent, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * AxisSource, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * TransformSource, [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget) * StateTarget, int XAxisIndex, int YAxisIndex )


code: virtual [UInteractiveGizmo](API\Runtime\InteractiveToolsFramework\UInteractiveGizmo) * AddUniformScaleGizmo ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * ScaleComponent, [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * RootComponent, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * GizmoAxisSource, [IGizmoAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoAxisSource) * ParameterAxisSource, [IGizmoTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoTransformSource) * TransformSource, [IGizmoStateTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoStateTarget) * StateTarget )


description: Called at the start of a sequence of gizmo transform edits, for instance while dragging or manipulating the gizmo numerical UI.


description: Clear the active target object for the Gizmo

code: virtual void ClearActiveTarget()


description: Called at the end of a sequence of gizmo transform edits.

code: virtual void EndTransformEditSequence()


className: FOnClearActiveTarget

description: Broadcast at the beginning of a ClearActiveTarget call, when the ActiveTarget (if present) is not yet disconnected. Gives things a chance to unbind from it.

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


className: FOnDisplaySpaceTransformChanged

description: Broadcast at the end of a SetDisplaySpaceTransform call that changes the display space transform.

code: typedef TMulticastDelegate_TwoParams< void, [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) *, [TOptional](API\Runtime\Core\IO\TOptional)< FTransform > > FOnDisplaySpaceTransformChanged


className: FOnSetActiveTarget

description: Broadcast at the end of a SetActiveTarget call. Using this, an adapter such as a numerical UI widget can bind to the gizmo at construction and still be able to initialize using the transform proxy once that is set.

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


className: FOnVisibilityChanged

description: Broadcast at the end of a SetVisibility call if the visibility changes.

code: typedef TMulticastDelegate_TwoParams< void, [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) *, bool > FOnVisibilityChanged


className: FSubGizmoInfo

description: FSubGizmoInfostores the (UPrimitiveComponent,UInteractiveGizmo) pair for a sub-element of the widget. The ActiveComponents and ActiveGizmos arrays keep those items alive, so this is redundant information, but useful for filtering/etc

code: struct FSubGizmoInfo

Component

type: TWeakObjectPtr<...

description: Note: either of these may be invalid


code: const [TOptional](API\Runtime\Core\IO\TOptional)< FTransform > & GetDisplaySpaceTransform()


description: the internal GizmoActor used by the Gizmo


description: Gets the elements that this gizmo was initialized with. Note that this may not account for individual element visibility- for instance the scaling component may not be visible ifIsNonUniformScaleAllowed()is false.


description: current transform of Gizmo

code: FTransform GetGizmoTransform() const


description: Exposes the return value of the current IsNonUniformScaleAllowed function so that, for instance, numerical UI can react appropriately.

code: virtual bool IsNonUniformScaleAllowed() const


description: true if Gizmo is visible

code: virtual bool IsVisible()


code: bool PositionAxisDeltaSnapFunction ( double AxisDelta, double & SnappedDeltaOut, int AxisIndex ) const


description: Axis and Plane TransformSources use these function to execute snapping queries.

code: bool PositionSnapFunction ( const FVector & WorldPosition, FVector & SnappedPositionOut ) const


description: Repositions the gizmo without issuing undo/redo changes, triggering callbacks, or moving any components. Useful for resetting the gizmo to a new location without it being viewed as a gizmo manipulation.

code: void ReinitializeGizmoTransform ( const FTransform & NewTransform, bool bKeepGizmoUnscaled )


code: bool RotationAxisAngleSnapFunction ( double AxisAngleDelta, double & SnappedAxisAngleDeltaOut, int AxisIndex ) const


code: FQuat RotationSnapFunction ( const FQuat & DeltaRotation ) const


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: TODO: Should this affect uniform scaling too?

code: virtual void SetDisallowNegativeScaling ( bool bDisallow )


description: Note that this is an optional feature, as it would require tools to keep this transform up to date if they want the UI to use it, so tools could just leave it unset.

code: void SetDisplaySpaceTransform ( [TOptional](API\Runtime\Core\IO\TOptional)< FTransform > TransformIn )


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


description: Bydefault, non-uniform scaling handles appear (assuming they exist in the gizmo to begin with), when CurrentCoordinateSystem == EToolContextCoordinateSystem::Local, since components can only be locally scaled. However, this can be changed to a custom check here, perhaps to hide them in extra conditions or to always show them (if the gizmo is not scaling a component).

code: virtual void SetIsNonUniformScaleAllowedFunction ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool()> && IsNonUniformScaleAllowed )


description: does not generate change/modify events!!

code: virtual void SetNewChildScale ( const FVector & NewChildScale )


description: Set a new position for the Gizmo. This is done via the same mechanisms as the sub-gizmos, so it generates the same Change/Modify() events, and hence works with Undo/Redo

code: virtual void SetNewGizmoTransform ( const FTransform & NewTransform, bool bKeepGizmoUnscaled )


code: virtual void SetSubGizmoBuilderIdentifiers ( [FString](API\Runtime\Core\Containers\FString) AxisPositionBuilderIdentifier, [FString](API\Runtime\Core\Containers\FString) PlanePositionBuilderIdentifier, [FString](API\Runtime\Core\Containers\FString) AxisAngleBuilderIdentifier )


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 )


description: Set visibility for this Gizmo

code: virtual void SetVisibility ( bool bVisible )


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


description: If used, binds alignment functions to the sub gizmos that they can use to align to geometry in the scene. Specifically, translation and rotation gizmos will checkShouldAlignDestination()to see if they should use the custom ray caster (this allows the behavior to respond to modifier key presses, for instance), and then useDestinationAlignmentRayCaster()to find a point to align to. Subgizmos align to the point in different ways, usually by projecting onto the axis or plane that they operate in.

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 )


description: Internal function that updates CameraAxisSource by getting current view state from GizmoManager

code: void UpdateCameraAxisSource()


description: Updates the gizmo transform between Begin/EndTransformeditSequence calls.

code: void UpdateTransformDuringEditSequence ( const FTransform & NewTransform, bool bKeepGizmoUnscaled )


className: UCombinedTransformGizmo

description: So, to create non-standard variants of the Transform Gizmo, set a new GizmoActorBuilder in theUCombinedTransformGizmoBuilderregistered with the GizmoManager. Return a suitably-configured GizmoActor and everything else will be handled automatically.

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

ActiveComponents

type: TArray<TObject...

description: List of current-active child components

ActiveGizmoMode

type: EToolContextTra...

description: Current dynamic sub-widget visibility mode to use (eg Translate-Only, Scale-Only, Combined, etc) If bUseContextGizmoMode is true, this value will be updated internally everyTick()by quering the ContextyQueriesAPI, otherwise the default is Combined and the client can change it as necessary

ActiveGizmos

description: List of currently-active child gizmos

ActiveTarget

type: TObjectPtr<UTr...

description: The active target object for the Gizmo

AxisAngleBuilderIdentifier

type: FString

AxisXSource

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

AxisYSource

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()

bGridSizeIsExplicit

description: Optional grid size which overrides the Context Grid

bRotationGridSizeIsExplicit

description: Optional grid size which overrides the Context Rotation Grid

bSnapToWorldGrid

description: BSnapToWorldGrid controls whether any position snapping is applied, if possible, for Axis and Plane translations, via the ContextQueriesAPI Despite the name, this flag controls both world-space grid snapping and relative snapping

bSnapToWorldRotGrid

description: If true, then when using world frame, Axis and Plane translation snap to the world grid via the ContextQueriesAPI (in RotationSnapFunction)

bUseContextCoordinateSystem

description: Whether to use the World/Local coordinate system provided by the context via the ContextyQueriesAPI.

bUseContextGizmoMode

description: Whether to use the Gizmo Mode provided by the context via the ContextyQueriesAPI.

CameraAxisSource

description: Axis SourcesAxis that points towards camera, X/Y plane tangents aligned to right/up.

CurrentCoordinateSystem

type: EToolContextCoo...

description: Current coordinate system in use.

DisplaySpaceTransform

type: TOptional< FTra...

description: See comment for SetDisplaySpaceTransform;.

ExplicitRotationGridSize

type: FRotator

GizmoActor

type: ACombinedTransf...

description: Current active GizmoActor that was spawned by this Gizmo. Will be destroyed when Gizmo is.

NonUniformScaleSubGizmos

type: TArray<FSubGiz...

OnAboutToClearActiveTarget

type: FOnClearActiveT...

OnDisplaySpaceTransformChanged

type: FOnDisplaySpace...

OnSetActiveTarget

type: FOnSetActiveTar...

OnVisibilityChanged

type: FOnVisibilityCh...

RelativeTranslationSnapping

type: FToolContextOpt...

description: Specify whether Relative snapping for Translations should be used in World frame mode.

ShouldAlignDestination

description: These are used to let the translation subgizmos use raycasts into the scene to align the gizmo with scene geometry.

StateTarget

description: Other Gizmo Components State target is shared across gizmos, and created internally duringSetActiveTarget().

UnitAxisXSource

description: Scaling support.

UnitAxisYSource

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

UnitAxisZSource

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

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: UCombinedTransformGizmoBuilder

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

AxisPositionBuilderIdentifier

description: Strings identifing GizmoBuilders already registered with GizmoManager.

GizmoActorBuilder

type: TSharedPtr<FCo...

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

UpdateCoordSystemFunction

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

UpdateHoverFunction

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


description:
The functions below are helper functions that simplify usage of aUCombinedTransformGizmoContextObjectthat is registered as a ContextStoreObject in an InteractiveToolsContext If one does not already exist, create a new instance ofUCombinedTransformGizmoContextObjectand add it to the ToolsContext's ContextObjectStore
true if the ContextObjectStore now has aUCombinedTransformGizmoContextObject(whether it already existed, or was created)

code: namespace UE { namespace TransformGizmoUtil { bool UE::TransformGizmoUtil::RegisterTransformGizmoContextObject ( [UInteractiveToolsContext](API\Runtime\InteractiveToolsFramework\UInteractiveToolsContext) * ToolsContext ) } }


description:
Remove any existingUCombinedTransformGizmoContextObjectfrom the ToolsContext's ContextObjectStore
true if the ContextObjectStore no longer has aUCombinedTransformGizmoContextObject(whether it was removed, or did not exist)

code: namespace UE { namespace TransformGizmoUtil { bool UE::TransformGizmoUtil::DeregisterTransformGizmoContextObject ( [UInteractiveToolsContext](API\Runtime\InteractiveToolsFramework\UInteractiveToolsContext) * ToolsContext ) } }


description: Spawn a new standard 3-axis Transform gizmo (seeUCombinedTransformGizmoContextObject::Create3AxisTransformGizmofor details) GizmoManager's ToolsContext must have aUCombinedTransformGizmoContextObjectregistered (seeUCombinedTransformGizmoContextObjectfor details)

code: namespace UE { namespace TransformGizmoUtil { [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) * UE::TransformGizmoUtil::Create3AxisTransformGizmo ( [UInteractiveGizmoManager](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoManager) * GizmoManager, void * Owner, const [FString](API\Runtime\Core\Containers\FString) & InstanceIdentifier ) } }


description: Spawn a new standard 3-axis Transform gizmo (seeUCombinedTransformGizmoContextObject::Create3AxisTransformGizmofor details) ToolManager's ToolsContext must have aUCombinedTransformGizmoContextObjectregistered (seeUCombinedTransformGizmoContextObjectfor details)

code: namespace UE { namespace TransformGizmoUtil { [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) * UE::TransformGizmoUtil::Create3AxisTransformGizmo ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * ToolManager, void * Owner, const [FString](API\Runtime\Core\Containers\FString) & InstanceIdentifier ) } }


description: Spawn a new custom Transform gizmo (seeUCombinedTransformGizmoContextObject::CreateCustomTransformGizmofor details) GizmoManager's ToolsContext must have aUCombinedTransformGizmoContextObjectregistered (seeUCombinedTransformGizmoContextObjectfor details)

code: namespace UE { namespace TransformGizmoUtil { [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) * UE::TransformGizmoUtil::CreateCustomTransformGizmo ( [UInteractiveGizmoManager](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoManager) * GizmoManager, ETransformGizmoSubElements Elements, void * Owner, const [FString](API\Runtime\Core\Containers\FString) & InstanceIdentifier ) } }


description: Spawn a new custom Transform gizmo (seeUCombinedTransformGizmoContextObject::CreateCustomTransformGizmofor details) ToolManager's ToolsContext must have aUCombinedTransformGizmoContextObjectregistered (seeUCombinedTransformGizmoContextObjectfor details)

code: namespace UE { namespace TransformGizmoUtil { [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) * UE::TransformGizmoUtil::CreateCustomTransformGizmo ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * ToolManager, ETransformGizmoSubElements Elements, void * Owner, const [FString](API\Runtime\Core\Containers\FString) & InstanceIdentifier ) } }


code: namespace UE { namespace TransformGizmoUtil { [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) * UE::TransformGizmoUtil::CreateCustomRepositionableTransformGizmo ( [UInteractiveGizmoManager](API\Runtime\InteractiveToolsFramework\UInteractiveGizmoManager) * GizmoManager, ETransformGizmoSubElements Elements, void * Owner, const [FString](API\Runtime\Core\Containers\FString) & InstanceIdentifier ) } }


description: Spawn a new custom Transform gizmo (seeUCombinedTransformGizmoContextObject::CreateCustomRepositionableTransformGizmofor details) ToolManager's ToolsContext must have aUCombinedTransformGizmoContextObjectregistered (seeUCombinedTransformGizmoContextObjectfor details)

code: namespace UE { namespace TransformGizmoUtil { [UCombinedTransformGizmo](API\Runtime\InteractiveToolsFramework\BaseGizmos\UCombinedTransformGizmo) * UE::TransformGizmoUtil::CreateCustomRepositionableTransformGizmo ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * ToolManager, ETransformGizmoSubElements Elements, void * Owner, const [FString](API\Runtime\Core\Containers\FString) & InstanceIdentifier ) } }


className: UGizmoArrowComponent

description: Simple Component intended to be used as part of 3D Gizmos. Currently draws the "arrow" as a single 3D line.

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

Direction

type: FVector

Gap

type: float


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

code: virtual void BeginModify()


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

code: static [UGizmoAxisIntervalParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoAxisInterv-) * Construct ( [IGizmoFloatParameterSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\IGizmoFloatParameterSource) * FloatSourceIn, float ParameterMin, float ParameterMax, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


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: UGizmoAxisIntervalParameterSource

description: This ParameterSource is intended to be used to create 3D Axis Interval Gizmos.

FloatParameterSource

type: TScriptInterfac...


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


className: UGizmoAxisRotationParameterSource

description: UGizmoAxisRotationParameterSourceis anIGizmoFloatParameterSourceimplementation that interprets the float parameter as an angle, and maps this angle to a 3D rotation around anIGizmoAxisSource(ie 3D axis). This rotation is applied to anIGizmoTransformSource. This ParameterSource is intended to be used to create 3D Rotation Gizmos.

Angle

description: Angle is the parameter that this FloatParameterSource provides

AngleDeltaConstraintFunction

type: TUniqueFunction...

description: Optional axis-delta-angle constraint function.

AxisSource

description: Float-parameter Angle is mapped to a 3D Rotation around this Axis

CurRotationAxis

description: Rotation axis for current parameter edit (only valid between BeginModify/EndModify)

CurRotationOrigin

description: Rotation 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

type: FGizmoFloatPara...

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

RotationConstraintFunction

description: Optional rotation constraint function.

TransformSource

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


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


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


className: UGizmoAxisScaleParameterSource

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

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

AxisSource

description: The Parameter line-equation value is converted to a 3D Translation along this Axis

bClampToZero

type: bool

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

CurScaleAxis

description: Scale axis for current parameter edit (only valid between BeginModify/EndModify)

CurScaleOrigin

description: Scale 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)

Parameter

description: Parameter is the line-equation parameter that this FloatParameterSource provides

ScaleMultiplier

description: Coordinate delta is multiplied by this amount


className: UGizmoAxisSource

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


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

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


description: Currently this must be called if you change UProps on Base or subclass, to recreate render proxy which has a local copy of those settings

code: void NotifyExternalPropertyUpdates()


code: void SetGizmoViewContext ( [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * GizmoViewContextIn )


className: UGizmoAxisTranslationParameterSource

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

AxisDeltaConstraintFunction

description: Optional axis delta constraint function.

CurTranslationAxis

description: Tranlsation axis for current parameter edit (only valid between BeginModify/EndModify)

CurTranslationOrigin

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

PositionConstraintFunction

description: Optional position constraint function.

TransformSource

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


code: void UpdateHoverState ( bool bHoveringIn )


code: void UpdateWorldLocalState ( bool bWorldIn )


code: UGizmoBaseComponent()


className: UGizmoBaseComponent

description: Base class for simple Components intended to be used as part of 3D Gizmos. Contains common properties and utility functions. This class does nothing by itself, use subclasses likeUGizmoCircleComponent

code: class UGizmoBaseComponent : public [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent)

bHovering

description: Hover state

bIsViewDependent

description: True when GizmoViewContext is not null.

bWorld

description: World/local coordinates state

Color

type: FLinearColor

GizmoViewContext

type: TObjectPtr<UGi...


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


description: Notify ParameterSource that a parameter modification is complete


className: FOnGizmoFloatParameterSourceChanged


description: value of parameter


description: Set value of parameter


className: UGizmoBaseFloatParameterSource

description: UGizmoBaseFloatParameterSourceis a base implementation ofIGizmoFloatParameterSource, which is not functional but adds an OnParameterChanged delegate for further subclasses.

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

OnParameterChanged

type: FOnGizmoFloatPa...


className: FOnGizmoTransformSourceChanged

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


code: virtual FTransform GetTransform() const


code: virtual void SetTransform ( const FTransform & NewTransform )


className: UGizmoBaseTransformSource

description: UGizmoBaseTransformSourceis a base implementation ofIGizmoTransformSourcethat adds an OnTransformChanged delegate. This class cannot be used directly and must be subclassed.

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

OnTransformChanged

type: FOnGizmoTransfo...


description: value of parameter

code: virtual FVector2D GetParameter() const


description: Set value of parameter

code: virtual void SetParameter ( const FVector2D & NewValue )


description: UGizmoBaseVec2ParameterSourceis a base implementation ofIGizmoVec2ParameterSource, which is not functional but adds an OnParameterChanged delegate for further subclasses.

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


className: UGizmoBoxComponent

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

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

Rotation

type: FQuat


className: UGizmoCircleComponent

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

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

bOnlyAllowFrontFacingHits

description: If the circle was on a 3D sphere, then only the 'front' part of the circle can be hit, (in other words, if the ray would hit the sphere first, ignore the hit).

NumSides

type: int


className: UGizmoClickMultiTarget

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


className: UGizmoClickTarget

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


code: static [UGizmoComponentAxisSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoComponentAxisSource) * Construct ( [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * ComponentIn, int LocalAxisIndex, bool bUseLocalAxes, [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


description: Only valid ifHasTangentVectors()returns true

code: virtual void GetTangentVectors ( FVector & TangentXOut, FVector & TangentYOut ) const


description: true if this AxisSource has tangent vectors orthogonal to the Direction vector

code: virtual bool HasTangentVectors() const


className: UGizmoComponentAxisSource

description: UGizmoComponentAxisSourceis anIGizmoAxisSourceimplementation that provides one of the X/Y/Z axes of a Component's local coordinate system, mapped to World, based on an integer AxisIndex in range [0,2]. The Axis Origin is the Component's transform origin. Tangent vectors are provided.

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

AxisIndex

description: Clamped internally to 0,1,2

bLocalAxes

description: If false, returns World axes

Component

type: TObjectPtr<USc...


code: static [UGizmoComponentHitTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoComponentHitTarget) * Construct ( [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Component, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


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: UGizmoComponentHitTarget

description: UGizmoComponentHitTargetis anIGizmoClickTargetimplementation that hit-tests aUPrimitiveComponent

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

type: TObjectPtr<UPr...

description: Component->LineTraceComponent() is called to determine if the target is hit

Condition

type: TFunction< bool...

description: If set, this condition is checked before performing the hit test.

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: Construct a default instance ofUGizmoComponentWorldTransformSourcewith the given Component

code: static [UGizmoComponentWorldTransformSource](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoComponentW-) * Construct ( [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * Component, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


code: virtual FTransform GetTransform() const


code: virtual void SetTransform ( const FTransform & NewTransform )


className: UGizmoComponentWorldTransformSource

description: UGizmoComponentWorldTransformSourceimplementsIGizmoTransformSource(viaUGizmoBaseTransformSource) based on the internal transform of aUSceneComponent.

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

bModifyComponentOnTransform

description: If true, Component->Modify()is called on SetTransform


className: UGizmoConstantAxisSource

description: UGizmoConstantAxisSourceis anIGizmoAxisSourceimplementation that internally stores the Origin and Direction constants

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

Direction

type: FVector


className: UGizmoConstantFrameAxisSource

description: UGizmoConstantFrameAxisSourceis anIGizmoAxisSourceimplementation that internally stores the Origin, Direction, and X/Y Tangent constants.

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


code: virtual double GetInnerRadius() const


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 )


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


description: Inner circle radius.

code: virtual void SetInnerRadius ( double InInnerRadius )


className: UGizmoElementArc

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

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

InnerRadius

type: double

description: Arc inner radius.


code: virtual FVector GetBase() const


code: virtual float GetBodyLength() const


code: virtual float GetBodyRadius() const


code: virtual FVector GetDirection() const


code: virtual float GetHeadLength() const


code: virtual float GetHeadRadius() const


code: virtual EGizmoElementArrowHeadType GetHeadType() const


code: virtual int32 GetNumSides() const


code: virtual FVector GetSideDirection() const


description: Location of base of arrow cylinder.

code: virtual void SetBase ( const FVector & InBase )


description: Arrow body length.

code: virtual void SetBodyLength ( float InBodyLength )


description: Arrow direction.

code: virtual void SetDirection ( const FVector & InDirection )


description: Arrow body cylinder radius.

code: virtual void SetBodyRadius ( float InBodyRadius )


description: Arrow head length, used for both cone and cube head.

code: virtual void SetHeadLength ( float InHeadLength )


description: Arrow head radius, if cone.

code: virtual void SetHeadRadius ( float InHeadRadius )


description: Head type cone or cube.

code: virtual void SetHeadType ( EGizmoElementArrowHeadType InHeadType )


description: Number of sides for cylinder and cone, if relevant.

code: virtual void SetNumSides ( int32 InNumSides )


description: Pixel hit distance threshold, element will be scaled enough to add this threshold when line-tracing.

code: virtual void SetPixelHitDistanceThreshold ( float InPixelHitDistanceThreshold )


description: Arrow side direction for box head.

code: virtual void SetSideDirection ( const FVector & InSideDirection )


description: Update arrow cylinder based on parameters.

code: virtual void UpdateArrowBody()


description: Update arrow cone or box based on parameters.

code: virtual void UpdateArrowHead()


code: UGizmoElementArrow()


className: UGizmoElementArrow

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

Base

description: Location of center of arrow base circle.

BodyLength

type: float

description: Arrow body length.

BodyRadius

description: Radius of arrow cylinder.

BoxElement

description: Arrow box head.

bUpdateArrowBody

description: Flag indicating body properties need to be updated prior to render.

bUpdateArrowHead

description: Flag indicating head properties need to be updated prior to render.

ConeElement

description: Arrow cone head.

CylinderElement

description: Arrow cylinder body.

Direction

description: Direction of arrow axis.

HeadLength

description: Length of head, cone or box.

HeadRadius

description: Radius of head cone.

HeadType

type: EGizmoElementAr...

description: Head type.

NumSides

description: Number of sides for tessellating cone and cylinder.

SideDirection

description: Side direction for box head.


description: Clear mesh render state hover material attribute.

code: virtual void ClearHoverMaterial()


description: Clear mesh render state vertex color attribute.

code: virtual void ClearHoverVertexColor()


description: Clear mesh render interact state material attribute.

code: virtual void ClearInteractMaterial()


code: virtual void ClearInteractVertexColor()


description: Clear mesh render state material attribute.

code: virtual void ClearMaterial()


code: virtual void ClearVertexColor()


className: DefaultPartIdentifier

code: static constexpr uint32 DefaultPartIdentifier = 0;


className: DefaultViewAlignAngleTol

code: static constexpr float DefaultViewAlignAngleTol = 0.052f;


className: DefaultViewAlignMaxCosAngleTol

code: static constexpr float DefaultViewAlignMaxCosAngleTol = 0.998f;


className: DefaultViewDependentAngleTol

code: static constexpr float DefaultViewDependentAngleTol = 0.052f;


className: DefaultViewDependentAxialMaxCosAngleTol

code: static constexpr float DefaultViewDependentAxialMaxCosAngleTol = 0.998f;


code: static constexpr float DefaultViewDependentPlanarMinCosAngleTol = 0.052f;


description: Get mesh render state hover material attribute's override setting.

code: virtual bool DoesHoverMaterialOverrideChildState() const


description: Get mesh render state vertex color attribute's override setting.

code: virtual bool DoesHoverVertexColorOverrideChildState() const


code: virtual bool DoesInteractVertexColorOverrideChildState() const


description: Get mesh render state interact material attribute's override setting.

code: virtual bool DoesInteractMaterialOverrideChildState() const


description: Get mesh render state material attribute's override setting.

code: virtual bool DoesMaterialOverrideChildState() const


code: virtual bool DoesVertexColorOverrideChildState() const


description: Initialize state.

code: void Initialize &40; const UGizmoViewContext &42; InGizmoViewContext, FTransform InTransform &41;


className: FLineTraceTraversalState

code: struct FLineTraceTraversalState

bIsPerspectiveProjection

description: View context is perspective projecion.

LocalToWorldTransform

type: FTransform

description: LocalToWorld transform Note: non-uniform scale is not supported and the X scale element will be used for uniform scaling.

PixelToWorldScale

description: Pixel to world scale.


description: Returns the line color based on the current interaction state.


description: Returns the mesh material based on the current interaction state.

code: const UMaterialInterface &42; GetCurrentMaterial&40;&41;


description: Returns the mesh vertex color based on the current interaction state.


description: Initialize state.

code: void Initialize &40; const FSceneView &42; InSceneView, FTransform InTransform &41;


className: FRenderTraversalState

description: Render traversal state structure used to maintain the current render state while rendering. As the gizmo element hierarchy is traversed, current state is maintained and updated. Element state attribute inheritance works as follows:

code: struct FRenderTraversalState

InteractionState

type: EGizmoElementIn...

description: Interact state, if not equal to none, overrides the element's interact state.

LineRenderState

type: FGizmoElementLi...

description: Current state used for rendering lines.

MeshRenderState

type: FGizmoElementMe...

description: Current state used for rendering meshes.

description: Pixel to world scale.


code: virtual EGizmoElementInteractionState GetElementInteractionState() const


description: Helper method for view alignment. Returns rotation between source and target input coordinate spaces.

code: FQuat GetAlignRotBetweenCoordSpaces ( FVector SourceForward, FVector SourceRight, FVector SourceUp, FVector TargetForward, FVector TargetRight, FVector TargetUp ) const


code: virtual EGizmoElementState GetElementState() const


code: virtual bool GetEnabled() const


description: Returns whether element is enabled for given interaction state.

code: virtual bool GetEnabledForInteractionState ( EGizmoElementInteractionState InInteractionState ) const


description: Returns whether element is enabled for given view projection type.

code: virtual bool GetEnabledForViewProjection ( bool bIsPerspectiveProjection ) const


code: virtual bool GetHittableState() const


description: Get mesh render state hover material attribute's value.

code: virtual const [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetHoverMaterial() const


description: Get mesh render state vertex color attribute's value.

code: virtual [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetHoverVertexColor() const


description: Get mesh render state interact material attribute's value.

code: virtual const [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * GetInteractMaterial() const


description: Get mesh render state material attribute's value.

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


code: virtual [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetInteractVertexColor() const


code: virtual uint32 GetPartIdentifier()


description: Get element's interaction state for element associated with the specified gizmo part, if part id was found.

code: virtual [TOptional](API\Runtime\Core\IO\TOptional)< EGizmoElementInteractionState > GetPartInteractionState ( uint32 InPartIdentifier ) const


description: Get element's visible state for element associated with the specified gizmo part, if part id was found.

code: virtual [TOptional](API\Runtime\Core\IO\TOptional)< bool > GetPartVisibleState ( uint32 InPartIdentifier ) const


code: virtual float GetPixelHitDistanceThreshold() const


code: virtual [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetVertexColor() const


code: virtual float GetViewAlignAxialAngleTol() const


code: virtual FVector GetViewAlignAxis() const


code: virtual FVector GetViewAlignNormal() const


description: Get element's hittable state for element associated with the specified gizmo part, if part id was found.

code: virtual [TOptional](API\Runtime\Core\IO\TOptional)< bool > GetPartHittableState ( uint32 InPartIdentifier ) const


description: Return whether this element has a view alignment rotation based on inputFSceneViewand view-dependent alignment settings.

code: virtual bool GetViewAlignRot ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, const FTransform & InLocalToWorldTransform, const FVector & InLocalCenter, FQuat & OutAlignRot ) const


description: Return whether this element has a view alignment rotation based on input gizmo view context and view-dependent alignment settings.

code: virtual bool GetViewAlignRot ( const [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * View, const FTransform & InLocalToWorldTransform, const FVector & InLocalCenter, FQuat & OutAlignRot ) const


description: Return whether this element has a view alignment rotation based on input view parameters and view-dependent alignment settings.

code: virtual bool GetViewAlignRot ( const FVector & InViewLocation, const FVector & InViewDirection, const FVector & InViewUp, bool bInPerspectiveView, const FTransform & InLocalToWorldTransform, const FVector & InLocalCenter, FQuat & OutAlignRot ) const


code: virtual EGizmoElementViewAlignType GetViewAlignType() const


code: virtual EGizmoElementViewDependentType GetViewDependentType() const


code: virtual float GetViewDependentAngleTol() const


code: virtual FVector GetViewDependentAxis() const


description: Returns whether object is visible in inputFSceneViewbased on view-dependent visibility settings.

code: virtual bool GetViewDependentVisibility ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, const FTransform & InLocalToWorldTransform, const FVector & InLocalCenter ) const


description: Returns whether object is visible in input gizmo view context based on view-dependent visibility settings.

code: virtual bool GetViewDependentVisibility ( const [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * View, const FTransform & InLocalToWorldTransform, const FVector & InLocalCenter ) const


description: Returns whether object is visible based on view-dependent visibility settings.

code: virtual bool GetViewDependentVisibility ( const FVector & InViewLocation, const FVector & InViewDirection, bool bInPerspectiveView, const FTransform & InLocalToWorldTransform, const FVector & InLocalCenter ) const


code: virtual bool GetVisibleState() const


description: Returns true, if mesh render state vertex color attribute has been set.

code: virtual bool HasHoverVertexColor() const


code: virtual bool HasInteractVertexColor() const


code: virtual bool HasVertexColor() const


description: Return whether element is currently hittable.

code: virtual bool IsHittable ( const [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * ViewContext, const FTransform & InLocalToWorldTransform, const FVector & InLocalCenter ) const


description: Return whether element is currently visible.

code: virtual bool IsVisible ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, EGizmoElementInteractionState InCurrentInteractionState, const FTransform & InLocalToWorldTransform, const FVector & InLocalCenter ) const


description: Object interaction state - None, Hovering or Interacting.

code: virtual void SetElementInteractionState ( EGizmoElementInteractionState InInteractionState )


description: Object type bitmask indicating whether this object is visible or hittable or both.

code: virtual void SetElementState ( EGizmoElementState InElementState )


description: Element enabled flag. Render and LineTrace only occur when bEnabled is true. This flag is useful for turning on and off an element globally while retaining its specific settings.

code: virtual void SetEnabled ( bool bInEnabled )


description: Whether element is enabled when element state is default.

code: virtual void SetEnabledForDefaultState ( bool bInEnabledForDefaultState )


description: Whether element is enabled when element state is hovering.

code: virtual void SetEnabledForHoveringState ( bool bInEnabledForHoveringState )


description: Whether element is enabled when element state is interacting.

code: virtual void SetEnabledForInteractingState ( bool bInEnabledForInteractingState )


description: Whether element is enabled for perspective projections.

code: virtual void SetEnabledForPerspectiveProjection ( bool bInEnabledForPerspectiveProjection )


description: Whether element is enabled for orthographic projections.

code: virtual void SetEnabledInOrthographicProjection ( bool bInEnabledForOrthographicProjection )


description: Set/get the hittable bit in element state.

code: virtual void SetHittableState ( bool bHittable )


description: Set mesh render state hover material attribute.

code: virtual void SetHoverMaterial ( [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) > InHoverMaterial, bool InOverridesChildState )


description: Set mesh render state vertex color attribute.

code: virtual void SetHoverVertexColor ( [FLinearColor](API\Runtime\Core\Math\FLinearColor) InVertexColor, bool InOverridesChildState )


description: Set mesh render state interact material attribute.

code: virtual void SetInteractMaterial ( [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) > InInteractMaterial, bool InOverridesChildState )


code: virtual void SetInteractVertexColor ( [FLinearColor](API\Runtime\Core\Math\FLinearColor) InVertexColor, bool InOverridesChildState )


description: State inheritance works as follows:

code: virtual void SetMaterial ( [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) > InMaterial, bool InOverridesChildState )


description: For an element hierarchy representing multiple parts of a single gizmo, the part identifier establishes a correspondence between a gizmo part and the elements that represent that part. The recognized part identifier values should be defined in the gizmo. Gizmo part identifiers must be greater than or equal to one. Identifier 0 is reserved for the default ID which should be assigned to elements that do not correspond to any gizmo part, such as non-hittable decorative elements.

code: virtual void SetPartIdentifier ( uint32 InPartId )


description: Pixel hit distance threshold, element will be scaled enough to add this threshold when line-tracing. */.

code: virtual void SetPixelHitDistanceThreshold ( float InPixelHitDistanceThreshold )


code: virtual void SetVertexColor ( [FLinearColor](API\Runtime\Core\Math\FLinearColor) InVertexColor, bool InOverridesChildState )


description: View-align angle tolerance in radians. Viewer alignment will not occur when the viewing angle is within this angle of view align axis.

code: virtual void SetViewAlignAxialAngleTol ( float InMaxAngleTol )


description: View align axis. PointEye, PointScreen and PointOnly rotate this axis to align with view up. Axial rotates about this axis.

code: virtual void SetViewAlignAxis ( FVector InAxis )


description: View align normal. PointEye rotates the normal to align with camera view direction. PointScreen rotates the normal to align with screen forward direction. Axial rotates the normal around the axis to align as closely as possible with the view direction.

code: virtual void SetViewAlignNormal ( FVector InAxis )


description: View align type: None, PointEye, PointOnly, or Axial.

code: virtual void SetViewAlignType ( EGizmoElementViewAlignType InViewAlignType )


description: View-dependent type - None, Axis or Plane.

code: virtual void SetViewDependentType ( EGizmoElementViewDependentType ViewDependentType )


description: View-dependent angle tolerance in radians For Axis, object is culled when angle between view dependent axis and view direction is less than tolerance angle. For Planar, cos of angle between view dependent axis (plane normal) and view direction. When the view direction is within this tolerance from the plane or axis, this object will be culled.

code: virtual void SetViewDependentAngleTol ( float InMaxAngleTol )


description: View-dependent axis or plane normal, based on the view-dependent type.

code: virtual void SetViewDependentAxis ( FVector InAxis )


description: Set/get the visible bit in element state.

code: virtual void SetVisibleState ( bool bVisible )


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

code: virtual bool UpdateLineTraceState ( const [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * ViewContext, const FVector & InLocalCenter, [FLineTraceTraversalState](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase\FLineTraceTraver-) & InOutLineTraceState )


description: Update line trace state during line trace traversal, determines the current state for this element Same parameters as UpdateLineTraceState above plus two output parameters:

code: virtual bool UpdateLineTraceState ( const [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * ViewContext, const FVector & InLocalCenter, [FLineTraceTraversalState](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase\FLineTraceTraver-) & InOutRenderState, bool & bOutHasAlignRot, FQuat & OutAlignRot )


description: Update element's hittable state if element is associated with the specified gizmo part, return true if part id was found.

code: virtual bool UpdatePartHittableState ( bool bHittable, uint32 InPartIdentifier )


description: Update element's interaction state if element is associated with the specified gizmo part, return true if part id was found.

code: virtual bool UpdatePartInteractionState ( EGizmoElementInteractionState InInteractionState, uint32 InPartIdentifier )


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 & InLocalCenter, [FRenderTraversalState](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase\FRenderTraversal-) & InOutRenderState )


description: Update element's visibility state if element is associated with the specified gizmo part, return true if part was found.

code: virtual bool UpdatePartVisibleState ( bool bVisible, uint32 InPartIdentifier )


description: Update render state during render traversal, determines the current render state for this element Same parameters as UpdateRenderState above plus two output parameters:

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


description: Helper method to verify scale is uniform. If it is non-uniform, a one-time warning log is issued. Returns true if scale is uniform.

code: bool VerifyUniformScale ( const FVector & Scale ) const


className: UGizmoElementBase

description: Base class for 2d and 3d primitive objects intended to be used as part of 3D Gizmos. Contains common properties and utility functions. This class does nothing by itself, use subclasses likeUGizmoElementCylinder

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

bEnabled

type: bool

description: Whether element is enabled. Render and LineTrace only occur when bEnabled is true.

bEnabledForDefaultState

description: Whether element is enabled when element state is default.

bEnabledForHoveringState

description: Whether element is enabled when element state is hovering.

bEnabledForInteractingState

description: Whether element is enabled when element state is interacting.

bEnabledForOrthographicProjection

description: Whether element is enabled for orthographic projection.

bEnabledForPerspectiveProjection

description: Whether element is enabled for perspective projection.

ElementInteractionState

description: Current element interaction state - None, Hovering or Interacting.

ElementState

type: EGizmoElementSt...

description: Element state - indicates whether object is visible or hittable.

LineTrace

type: void virtual Re...

description: Render enabled visible element.

MeshRenderAttributes

description: Mesh render state attributes for this element.

PartIdentifier

description: Part identifier.

PixelHitDistanceThreshold

description: Pixel hit distance threshold, element will be scaled enough to add this threshold when line-tracing.

ViewAlignAxialAngleTol

description: Axial view alignment angle tolerance in radians, based on angle between align normal and view direction.

ViewAlignAxialMaxCosAngleTol

description: Axial view alignment minimum cos angle tolerance, computed based on ViewAlignAxialAngleTol.

ViewAlignAxis

description: View align axis.

ViewAlignNormal

description: View align normal.

ViewAlignType

type: EGizmoElementVi...

description: View align type: None, PointEye, or PointWorld.

ViewDependentAngleTol

description: View-dependent angle tolerance based on : For Axis, minimum radians between view dependent axis and view direction.

ViewDependentAxialMaxCosAngleTol

description: Axial view alignment minimum cos angle tolerance, computed based on ViewDependentAngleTol.

ViewDependentPlanarMinCosAngleTol

description: Planar view alignment minimum cos angle tolerance, computed based on ViewDependentAngleTol.


code: virtual FVector GetCenter() const


code: virtual FVector GetDimensions() const


code: virtual FVector GetSideDirection() const


code: virtual FVector GetUpDirection() const


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 )


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


description: Location of center of box's base circle.

code: virtual void SetCenter ( const FVector & InCenter )


description: Box dimensions.

code: virtual void SetDimensions ( const FVector & InDimensions )


description: Box axis side direction.

code: virtual void SetSideDirection ( const FVector & InSideDirection )


description: Box axis up direction.

code: virtual void SetUpDirection ( const FVector & InUpDirection )


className: UGizmoElementBox

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

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

Center

description: Location of center of box.

Dimensions

description: Box dimensions.

SideDirection

description: Box side axis, corresponds to Y dimension.

UpDirection

description: Box up axis, corresponds to Z dimension.


code: virtual bool GetDrawMesh() const


code: virtual bool GetHitLine() const


code: virtual bool GetHitMesh() const


description: Draw line.

code: virtual void SetDrawLine ( bool InDrawLine )


code: virtual bool GetDrawLine() const


description: Hit line.

code: virtual void SetHitLine ( bool InHitLine )


description: Draw mesh.

code: virtual void SetDrawMesh ( bool InDrawMesh )


description: Hit mesh.

code: virtual void SetHitMesh ( bool InHitMesh )


className: UGizmoElementCircle

description: The circle element does not yet support partial circles.

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

bDrawLine

description: Whether to render line circle.

bDrawMesh

description: Whether to render solid circle.

bHitLine

description: Whether to perform hit test on line.

bHitMesh

description: Whether to perform hit test on mesh.


code: virtual FVector GetAxis0() const


code: virtual FVector GetAxis1() const


code: virtual FVector GetCenter() const


code: virtual int32 GetNumSegments() const


code: virtual double GetPartialEndAngle() const


code: virtual double GetPartialStartAngle() const


code: virtual EGizmoElementPartialType GetPartialType() const


code: virtual double GetPartialViewDependentMaxCosTol() const


code: virtual double GetRadius() const


description: Returns whether element should be partial based on current view.

code: bool IsPartial ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, const FVector & InWorldCenter, const FVector & InWorldNormal )


code: bool IsPartial ( const FVector & InWorldCenter, const FVector & InWorldNormal, const FVector & InViewLocation, const FVector & InViewDirection, bool bIsPerspectiveProjection )


description: Axis0 of plane in which circle lies, must perpendicular to normal. Start and end angles for partial circles are relative to this axis.

code: virtual void SetAxis0 ( const FVector & InAxis0 )


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


description: Axis1 of plane in which circle lies, must perpendicular to Axis0.

code: virtual void SetAxis1 ( const FVector & InAxis0 )


description: CircleBase center.

code: virtual void SetCenter ( const FVector & InCenter )


description: Number of segments for rendering circle.

code: virtual void SetNumSegments ( int32 InNumSegments )


description: Start of arc angle of partial torus in radians, relative to Axis1.

code: virtual void SetPartialEndAngle ( double InPartialAngle )


description: Start of arc angle of partial torus in radians, relative to Axis0.

code: virtual void SetPartialStartAngle ( double InPartialAngle )


description: When Partial, renders partial arc based on angle. When PartialViewDependent, same as Partial but renders full arc when arc normal aligns with view direction

code: virtual void SetPartialType ( EGizmoElementPartialType InPartial )


description: If partial type is PartialViewDependent, when the cosine of angle between the normal and view direction is within this tolerance, the arc will be rendered as full rather than partial

code: virtual void SetPartialViewDependentMaxCosTol ( double InPartialViewDependentMaxCosTol )


description: Circle radius.

code: virtual void SetRadius ( double InRadius )


className: UGizmoElementCircleBase

description: Abstract base object for circle, torus and arc.

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

description: Axis0 of plane in which circle lies, must perpendicular to normal.

Center

description: CircleBase center.

NumSegments

description: Number of segments for rendering arc.

PartialEndAngle

description: End angle to render for partial torus.

PartialStartAngle

description: Start angle to render for partial torus.

PartialType

type: EGizmoElementPa...

description: True when the arc is not full.

PartialViewDependentMaxCosTol

description: For PartialViewDependent, max cosine of angle between the normal and view direction Within this tolerance, the arc will be rendered as full rather than partial

Radius

description: Radius of main circle, some derived elements have inner radius (e.g. torus and arc)


code: virtual float GetHeight() const


code: virtual int32 GetNumSides() const


code: virtual FVector GetOrigin() const


code: virtual float GetRadius() const


code: virtual FVector GetDirection() const


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: Cone height.

code: virtual void SetHeight ( float InHeight )


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


description: Cone axis direction pointing from tip toward base of cone.

code: virtual void SetDirection ( const FVector & InDirection )


description: Number of sides for tessellating cone.

code: virtual void SetNumSides ( int32 InNumSides )


description: Cone radius.

code: virtual void SetRadius ( float InRadius )


description: Cone tip location.

code: virtual void SetOrigin ( const FVector & InBase )


className: UGizmoElementCone

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

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

Height

description: Cone height.

NumSides

description: Number of sides for tessellating cone.

Origin

description: Cone tip location.

description: Cone radius.


code: virtual FVector GetBase() const


description: Location of center of cylinder's base circle.

code: virtual void SetBase ( const FVector & InBase )


description: Cylinder axis direction.


description: Cylinder height.


description: Number of sides for tessellating cylinder.


description: Cylinder radius.


description: Add object to group.

code: virtual void Add ( [UGizmoElementBase](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase) * InElement )


className: UGizmoElementCylinder

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

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

Direction

description: Cylinder axis direction.

Height

description: Cylinder height.

Radius

description: Cylinder radius.


code: virtual bool GetConstantScale() const


code: virtual bool GetHitOwner() const


description: Get element's hittable state for element associated with the specified gizmo part, if part was found.

code: virtual [TOptional](API\Runtime\Core\IO\TOptional)< bool > GetPartHittableState ( uint32 InPartIdentifier ) const


description: Get element's visible state for element associated with the specified gizmo part, if part was found.

code: virtual [TOptional](API\Runtime\Core\IO\TOptional)< bool > GetPartVisibleState ( uint32 InPartIdentifier ) const


description: Get element's interaction state for element associated with the specified gizmo part, if part was found.

code: virtual [TOptional](API\Runtime\Core\IO\TOptional)< EGizmoElementInteractionState > GetPartInteractionState ( uint32 InPartIdentifiero ) const


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: Remove object from group, if it exists.

code: virtual void Remove ( [UGizmoElementBase](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase) * InElement )


description: Updates input transform's scale component to have uniform scale and applies constant scale if bConstantScale is true.

code: virtual void ApplyUniformConstantScaleToTransform ( double PixelToWorldScale, FTransform & InOutLocalToWorldTransform ) const


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


description: When true, maintains view-dependent constant scale for this gizmo object hierarchy.

code: virtual void SetConstantScale ( bool InConstantScale )


description: Set whether this group should be treated as a hit owner and its part identifier returned when any of its sub-elements are hit.

code: virtual void SetHitOwner ( bool bInHitOwner )


description: Update group and contained elements' hittable state for elements in specified gizmo parts, return true if part was found.

code: virtual bool UpdatePartHittableState ( bool bHittable, uint32 InPartIdentifier )


description: Update group and contained elements' interaction state for elements in specified gizmo parts, return true if part was found.

code: virtual bool UpdatePartInteractionState ( EGizmoElementInteractionState InInteractionState, uint32 InPartIdentifier )


description: Update group and contained elements' visibility state for elements in specified gizmo parts, return true if part was found.

code: virtual bool UpdatePartVisibleState ( bool bVisible, uint32 InPartIdentifier )


className: UGizmoElementGroup

description: Simple group object intended to be used as part of 3D Gizmos. Contains multiple gizmo objects.

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

bHitOwner

description: When true, this group is treated as a single element such that when LineTrace is called, if any of its sub-elements is hit, this group will be returned as the owner of the hit.

Elements

type: TArray<TObject...

description: Gizmo elements within this group.


code: static [UGizmoElementHitMultiTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementHitMultiTarget) * Construct ( [UGizmoElementBase](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase) * InGizmoElement, [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * InGizmoViewContext, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


description: FInputRayHitindicating whether or not the target object was hit by the device-ray at ClickPos The ray hit contains client-defined ID, HitOwner and HitObject which are used to identify the hit part.

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


description: Updates the hittable state of the specified gizmo part.

code: virtual void UpdateHittableState ( bool bHittable, uint32 InPartIdentifier )


description: Updates the hover state of the specified gizmo part, indicating whether the input device is currently hovering over the Standard gizmo.

code: virtual void UpdateHoverState ( bool bHovering, uint32 InPartIdentifier )


className: UGizmoElementHitMultiTarget

description: For a gizmo with multiple parts, the part identifier establishes a correspondence between a gizmo part and the elements representing that part within the hit target. The valid part identifiers should be defined in the gizmo. Identifier 0 is reserved for the default ID which should be assigned to elements that do not correspond to any gizmo part, such as non-hittable decorative elements.

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

Condition

description: If set, this condition is checked before performing the hit test.

GizmoElement

type: TObjectPtr<UGi...

description: Gizmo element.

GizmoTransformProxy

type: TObjectPtr<UTr...


code: static [UGizmoElementHitTarget](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementHitTarget) * Construct ( [UGizmoElementBase](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoElementBase) * InGizmoElement, [UGizmoViewContext](API\Runtime\InteractiveToolsFramework\BaseGizmos\UGizmoViewContext) * InGizmoViewContext, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Outer )


description: Updates the interacting state of the specified gizmo part, 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, uint32 InPartIdentifier )


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


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: UGizmoElementHitTarget

description: UGizmoElementHitTargetis anIGizmoClickTargetimplementation that hit-tests any object derived fromUGizmoElementBaseThis hit target should be used for hitting a whole gizmo element hierarchy. UseUGizmoElementHitMultiTarget, for hit targets that support hitting parts within a gizmo element hierarchy.

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

Condition

type: TFunction< bool...

GizmoElement

description: Gizmo element.


description: Clear line render state hover line color attribute.

code: virtual void ClearHoverLineColor()


description: Clear line render state interact line color attribute.

code: virtual void ClearInteractLineColor()


description: Clear line render state line color attribute.

code: virtual void ClearLineColor()


description: Get line render state hover line color attribute's override setting.

code: virtual bool DoesHoverLineColorOverrideChildState() const


description: Get line render state interact line color attribute's override setting.

code: virtual bool DoesInteractLineColorOverrideChildState() const


description: Get line thickness for based on current element interaction state and view.

code: virtual float GetCurrentLineThickness ( bool bPerspectiveView, float InViewFOV ) const


description: Get line render state hover line color attribute's value.

code: virtual [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetHoverLineColor() const


description: Get line render state interact line color attribute's value.

code: virtual [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetInteractLineColor() const


code: virtual float GetHoverLineThicknessMultiplier() const


code: virtual float GetInteractLineThicknessMultiplier() const


description: Get line render state line color attribute's value.

code: virtual [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetLineColor() const


code: virtual float GetLineThickness() const


code: virtual bool GetScreenSpaceLine() const


description: Get line render state line color attribute's override setting.

code: virtual bool DoesLineColorOverrideChildState() const


description: Returns true if line render state hover line color attribute has been set.

code: virtual bool HasHoverLineColor() const


description: Returns true if line render state interact line color attribute has been set.

code: virtual bool HasInteractLineColor() const


description: Returns true if line render state line color attribute has been set.

code: virtual bool HasLineColor() const


description: Multiplier applied to line thickness when hovering.

code: virtual void SetHoverLineThicknessMultiplier ( float InHoverLineThicknessMultiplier )


description: Set line render state hover line color attribute.

code: virtual void SetHoverLineColor ( [FLinearColor](API\Runtime\Core\Math\FLinearColor) InColor, bool InOverridesChildState )


description: Set line render state interact line color attribute.

code: virtual void SetInteractLineColor ( [FLinearColor](API\Runtime\Core\Math\FLinearColor) InColor, bool InOverridesChildState )


description: State inheritance works as follows:

code: virtual void SetLineColor ( [FLinearColor](API\Runtime\Core\Math\FLinearColor) InColor, bool InOverridesChildState )


description: Multiplier applied to line thickness when interacting.

code: virtual void SetInteractLineThicknessMultiplier ( float InInteractLineThicknessMultiplier )


description: Line thickness when rendering lines, 0.0 is valid and will render thinnest line.

code: virtual void SetLineThickness ( float InLineThickness )


description: Whether line thickness is in screen space.

code: virtual void SetScreenSpaceLine ( bool bInScreenSpaceLine )