BaseGizmos

Choose your operating system:

Windows

macOS

Linux

Classes

Name

Description

Public class

ACombinedTransformGizmoActor

ACombinedTransformGizmoActor is an Actor type intended to be used with UCombinedTransformGizmo, as the in-scene visual representation of the Gizmo.

Public class

AGizmoActor

AGizmoActor is a base class for Actors that would be created to represent Gizmos in the scene.

Public class

AIntervalGizmoActor

AIntervalGizmoActor is an Actor type intended to be used with UIntervalGizmo, as the in-scene visual representation of the Gizmo.

Public class

FCombinedTransformGizmoActorFactory

FCombinedTransformGizmoActorFactory creates new instances of ACombinedTransformGizmoActor which are used by UCombinedTransformGizmo to implement 3D transformation Gizmos.

Public struct

FGizmoFloatParameterChange

FGizmoVec2ParameterChange represents a change in the value of an IGizmoFloatParameterSource.

Public struct

FGizmoVec2ParameterChange

Various implementations of IGizmoVec2ParameterSourceFGizmoVec2ParameterChange represents a change in the value of an IGizmoVec2ParameterSource.

Public class

FIntervalGizmoActorFactory

FIntervalGizmoActorFactory creates new instances of AIntervalGizmoActor which are used by UIntervalGizmo to implement 3D interval Gizmos.

Public struct

FSeparateScaleProvider

FSeparateScaleProvider provides TFunction-implementable API that sets/gets a Scaling Vector from an external source.

Public class

FTransformProxyChange

FTransformProxyChange tracks a change to the base transform for a TransformProxy

Public class

FTransformProxyChangeSource

FTransformProxyChangeSource generates FTransformProxyChange instances on Begin/End.

Public class

IGizmoAxisSource

IGizmoAxisSource is an interface which is used to get information about a 3D Axis.

Public class

IGizmoClickTarget

IGizmoClickTarget is an interface used to provide a ray-object hit test.

Public class

IGizmoFloatParameterSource

IGizmoFloatParameterSource provides Get and Set for an arbitrary float-valued parameter.

Public class

IGizmoStateTarget

IGizmoStateTarget is an interface that is used to pass notifications about significant gizmo state updates

Public class

IGizmoTransformSource

IGizmoTransformSource is an interface which is used to Get/Set an FTransform.

Public class

IGizmoVec2ParameterSource

IGizmoVec2ParameterSource provides Get and Set for an arbitrary 2D-vector-valued parameter.

Public class

UAxisAngleGizmo

Public class

UAxisAngleGizmoBuilder

Public class

UAxisPositionGizmo

UAxisPositionGizmo implements a gizmo interaction where 1D parameter value is manipulated by dragging a point on a 3D line/axis in space.

Public class

UAxisPositionGizmoBuilder

Public class

UBrushStampIndicator

UBrushStampIndicator is a simple 3D brush indicator.

Public class

UBrushStampIndicatorBuilder

Public class

UCombinedTransformGizmo

UCombinedTransformGizmo provides standard Transformation Gizmo interactions, applied to a UTransformProxy target object.

Public class

UCombinedTransformGizmoBuilder

Public class

UCombinedTransformGizmoContextObject

UCombinedTransformGizmoContextObject is a utility object that registers a set of Gizmo Builders for UCombinedTransformGizmo and variants.

Public class

UGizmoArrowComponent

Simple Component intended to be used as part of 3D Gizmos.

Public class

UGizmoAxisIntervalParameterSource

UGizmoAxisIntervalParameterSource is an IGizmoFloatParameterSource implementation that interprets the float value as the parameter of a line equation, and maps this parameter to a 3D translation along a line with origin/direction given by an IGizmoAxisSource.

Public class

UGizmoAxisRotationParameterSource

UGizmoAxisRotationParameterSource is an IGizmoFloatParameterSource implementation that interprets the float parameter as an angle, and maps this angle to a 3D rotation around an IGizmoAxisSource (ie 3D axis).

Public class

UGizmoAxisScaleParameterSource

UGizmoAxisScaleParameterSource is an IGizmoFloatParameterSource implementation that interprets the float value as the parameter of a line equation, and maps this parameter to a scale factor along a line with origin/direction given by an IGizmoAxisSource.

Public class

UGizmoAxisSource

Public class

UGizmoAxisTranslationParameterSource

Various 1D and 2D ParameterSource converters intended to be used to create 3D transformation gizmos.

Public class

UGizmoBaseComponent

Base class for simple Components intended to be used as part of 3D Gizmos.

Public class

UGizmoBaseFloatParameterSource

UGizmoBaseFloatParameterSource is a base implementation of IGizmoFloatParameterSource, which is not functional but adds an OnParameterChanged delegate for further subclasses.

Public class

UGizmoBaseTransformSource

UGizmoBaseTransformSource is a base implementation of IGizmoTransformSource that adds an OnTransformChanged delegate.

Public class

UGizmoBaseVec2ParameterSource

UGizmoBaseVec2ParameterSource is a base implementation of IGizmoVec2ParameterSource, which is not functional but adds an OnParameterChanged delegate for further subclasses.

Public class

UGizmoBoxComponent

Simple Component intended to be used as part of 3D Gizmos.

Public class

UGizmoCircleComponent

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

Public class

UGizmoClickTarget

Public class

UGizmoComponentAxisSource

UGizmoComponentAxisSource is an IGizmoAxisSource implementation 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].

Public class

UGizmoComponentHitTarget

UGizmoComponentHitTarget is an IGizmoClickTarget implementation that hit-tests a UPrimitiveComponent

Public class

UGizmoComponentWorldTransformSource

UGizmoComponentWorldTransformSource implements IGizmoTransformSource (via UGizmoBaseTransformSource) based on the internal transform of a USceneComponent.

Public class

UGizmoConstantAxisSource

UGizmoConstantAxisSource is an IGizmoAxisSource implementation that internally stores the Origin and Direction constants

Public class

UGizmoConstantFrameAxisSource

UGizmoConstantFrameAxisSource is an IGizmoAxisSource implementation that internally stores the Origin, Direction, and X/Y Tangent constants.

Public class

UGizmoFloatParameterSource

Public class

UGizmoLambdaHitTarget

UGizmoLambdaHitTarget is an IGizmoClickTarget implementation that forwards the hit-test function to a TFunction

Public class

UGizmoLambdaStateTarget

UGizmoLambdaStateTarget is an implementation of IGizmoStateTarget that forwards calls to its interface functions to external TFunctions

Public class

UGizmoLineHandleComponent

Simple Component intended to be used as part of 3D Gizmos.

Public class

UGizmoLocalFloatParameterSource

UGizmoLocalFloatParameterSource is an implementation of IGizmoFloatParameterSource (by way of UGizmoBaseFloatParameterSource) which locally stores the relevant Parameter and emits update events via the OnParameterChanged delegate.

Public class

UGizmoLocalVec2ParameterSource

UGizmoBaseVec2ParameterSource is an implementation of IGizmoVec2ParameterSource (by way of UGizmoBaseVec2ParameterSource) which locally stores the relevant Parameter and emits update events via the OnParameterChanged delegate.

Public class

UGizmoNilStateTarget

UGizmoNilStateTarget is an implementation of IGizmoStateTarget that does nothing

Public class

UGizmoObjectModifyStateTarget

UGizmoObjectModifyStateTarget is an implementation of IGizmoStateTarget that opens and closes change transactions on a target UObject via a GizmoManager.

Public class

UGizmoPlaneScaleParameterSource

UGizmoPlaneScaleParameterSource is an UGizmoBaseVec2ParameterSource implementation that maps a 2D parameter delta to a change in a 3D scaling vector, based on the tangent axes of a 3D plane This scale is applied to an IGizmoTransformSource.

Public class

UGizmoPlaneTranslationParameterSource

UGizmoAxisRotationParameterSource is an IGizmoVec2ParameterSource implementation that interprets the FVector2D parameter as a position in a 2D plane, and maps this position to a 3D translation a plane with origin/normal given by an IGizmoAxisSource.

Public class

UGizmoRectangleComponent

Simple Component intended to be used as part of 3D Gizmos.

Public class

UGizmoScaledAndUnscaledTransformSources

A wrapper around two IGizmoTransformSource's that generally forwards transforms to/from its ScaledTransformSource, but also forwards an unscaled version of the transform to UnscaledTransformSource on SetTransform calls.

Public class

UGizmoScaledTransformSource

Old description: UGizmoScaledTransformSource wraps another IGizmoTransformSource implementation and adds a separate scaling vector to the Transform.

Public class

UGizmoStateTarget

Public class

UGizmoTransformChangeStateTarget

UGizmoTransformChangeStateTarget is an implementation of IGizmoStateTarget that emits an FComponentWorldTransformChange on a target USceneComponent.

Public class

UGizmoTransformProxyTransformSource

UGizmoTransformProxyTransformSource implements IGizmoTransformSource (via UGizmoBaseTransformSource) based on the internal transform of a UTransformProxy.

Public class

UGizmoTransformSource

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

Public class

UGizmoUniformScaleParameterSource

UGizmoUniformScaleParameterSource is an IGizmoVec2ParameterSource implementation that interprets the Vec2 parameter as the position in a 2D plane, and maps this parameter to a change in a uniform scale value.

Public class

UGizmoVec2ParameterSource

Public class

UGizmoViewContext

A context object that is meant to hold the scene information for the hovered viewport on a game thread, to be used by a gizmo later for hit testing.

Public class

UGizmoWorldAxisSource

UGizmoWorldAxisSource is an IGizmoAxisSource that provides one of the World axes (ie X/Y/Z axes) based on an integer AxisIndex in range [0,2].

Public class

UIntervalGizmo

Public class

UIntervalGizmoBuilder

Public class

UPlanePositionGizmo

UPlanePositionGizmo implements a gizmo interaction where 2D parameter value is manipulated by dragging a point on a 3D plane in space.

Public class

UPlanePositionGizmoBuilder

Public class

URepositionableTransformGizmo

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

Public class

URepositionableTransformGizmoBuilder

Public class

UScalableSphereGizmo

UScalableSphereGizmo provides a sphere that can be scaled in all directions by dragging anywhere on the three axial circles that represent it

Public class

UScalableSphereGizmoBuilder

Public class

UScalableSphereGizmoInputBehavior

A behavior that forwards clicking and dragging to the gizmo.

Public class

UTransformProxy

UTransformProxy is used to transform a set of sub-ojects.

Functions

Name Description

Public function

void

 

GizmoMath::ClosetPointOnCircle

(
    const FVector& QueryPoint,
    const FVector& CircleOrigin,
    const FVector& CircleNormal,
    float CircleRadius,
    FVector& ClosestPointOut
)

Find the closest point to QueryPoint that is on the circle defined by CircleOrigin, CircleNormal, and CircleRadius.

Public function

float

 

GizmoMath::ComputeAngleInPlane

(
    const FVector& Point,
    const FVector& PlaneOrigin,
    const FVector& PlaneNormal,
    const FVector& PlaneAxis1,
    const FVector& PlaneAxis2
)

Project the input Point into the plane defined by PlaneOrigin and PlaneNormal, and then measure it's signed angle relative to the in-plane X and Y axes defined by PlaneAxis1 and PlaneAxis2

Public function

FVector2D

 

GizmoMath::ComputeCoordinatesInPlane

(
    const FVector& Point,
    const FVector& PlaneOrigin,
    const FVector& PlaneNormal,
    const FVector& PlaneAxis1,
    const FVector& PlaneAxis2
)

Project the input Point into the plane defined by PlaneOrigin and PlaneNormal, and then calculate it's UV coordinates in the space defined by the plane axes PlaneAxis1 and PlaneAxis2

Public function

FVector

 

GizmoMath::GetOrthogonalVector

(
    const FVector& V
)

Public function

void

 

GizmoMath::IntervalIntervalIntersection

(
    const RealType Interval0,
    const RealType Interval1,
    int& OutNumIntersections,
    RealType& OutResult0,
    RealType& OutResult1
)

Find the intersection of two floating point intervals in which the interval inputs contain pairs of floats sorted in increasing order.

Public function

void

 

GizmoMath::MakeNormalPlaneBasis

(
    const FVector& PlaneNormal,
    FVector& BasisAxis1Out,
    FVector& BasisAxis2Out
)

Construct two mutually-perpendicular unit vectors BasisAxis1Out and BasisAxis2Out which are orthogonal to PlaneNormal

Public function

void

 

GizmoMath::NearestPointOnLine

(
    const FVector& LineOrigin,
    const FVector& LineDirection,
    const FVector& QueryPoint,
    FVector& NearestPointOut,
    float& LineParameterOut
)

Find the nearest point to QueryPoint on the line defined by LineOrigin and LineDirection.

Public function

void

 

GizmoMath::NearestPointOnLineToRay

(
    const FVector& LineOrigin,
    const FVector& LineDirection,
    const FVector& RayOrigin,
    const FVector& RayDirection,
    FVector& NearestLinePointOut,
    float& LineParameterOut,
    FVector& NearestRayPointOut,
    float& RayParameterOut
)

Find the closest pair of points on a 3D line and 3D ray.

Public function

FVector

 

GizmoMath::ProjectPointOntoLine

(
    const FVector& Point,
    const FVector& LineOrigin,
    const FVector& LineDirection
)

Project a point onto the line defined by LineOrigin and LineDirection

Public function

FVector

 

GizmoMath::ProjectPointOntoPlane

(
    const FVector& Point,
    const FVector& PlaneOrigin,
    const FVector& PlaneNormal
)

Project the input Point onto the plane defined by PlaneOrigin and PlaneNormal,

Public function

void

 

GizmoMath::RayConeIntersection

(
    const FVector& ConeCenter,
    const FVector& ConeDirection,
    RealType ConeCosAngle,
    RealType ConeHeight,
    const FVector& RayOrigin,
    const FVector& RayDirection,
    bool& bIntersectsOut,
    RealType& OutHitDepth
)

Public function

void

 

GizmoMath::RayCylinderIntersection

(
    const FVector& CylinderCenter,
    const FVector& CylinderAxis,
    RealType CylinderRadius,
    RealType CylinderHeight,
    const FVector& RayOrigin,
    const FVector& RayDirection,
    bool& bIntersectsOut,
    RealType& OutHitDepth
)

Public function

void

 

GizmoMath::RayPlaneIntersectionPoint

(
    const FVector& PlaneOrigin,
    const FVector& PlaneNormal,
    const FVector& RayOrigin,
    const FVector& RayDirection,
    bool& bIntersectsOut,
    FVector& PlaneIntersectionPointOut
)

Find the intersection of the ray defined by RayOrigin and RayDirection with the plane defined by PlaneOrigin and PlaneNormal.

Public function

void

 

GizmoMath::RaySphereIntersection

(
    const FVector& SphereOrigin,
    const float SphereRadius,
    const FVector& RayOrigin,
    const FVector& RayDirection,
    bool& bIntersectsOut,
    FVector& SphereIntersectionPointOu...
)

Find the intersection of the ray defined by RayOrigin and RayDirection with the sphere defined by SphereOrigin and SphereRadius.

Public function

float

 

GizmoMath::SnapToIncrement

(
    float Value,
    float Increment
)

Round Value to nearest step of Increment

Public function

float

 

GizmoRenderingUtil::CalculateLocalPixelToWorldScale

(
    const FSceneView* View,
    const FVector& Location
)

This is a local estimate and is increasingly incorrect as the 3D point gets further from Location

Public function

float

 

GizmoRenderingUtil::CalculateLocalPixelToWorldScale

(
    const UGizmoViewContext* ViewC...,
    const FVector& Location
)

Public function

float

 

GizmoRenderingUtil::CalculateViewDependentScaleAndFlatten

(
    const FSceneView* View,
    const FVector& Location,
    const float Scale,
    FVector& OutWorldFlattenScale
)

Public function

UCombinedTra...

 

UE::TransformGizmoUtil::Create3AxisTransformGizmo

(
    UInteractiveGizmoManager* Gizm...,
    void* Owner,
    const FString& InstanceIdentifier
)

Spawn a new standard 3-axis Transform gizmo (see UCombinedTransformGizmoContextObject::Create3AxisTransformGizmo for details) GizmoManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details)

Public function

UCombinedTra...

 

UE::TransformGizmoUtil::Create3AxisTransformGizmo

(
    UInteractiveToolManager* ToolM...,
    void* Owner,
    const FString& InstanceIdentifier
)

Spawn a new standard 3-axis Transform gizmo (see UCombinedTransformGizmoContextObject::Create3AxisTransformGizmo for details) ToolManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details)

Public function

UCombinedTra...

 

UE::TransformGizmoUtil::CreateCustomRepositionableTransformGizmo

(
    UInteractiveGizmoManager* Gizm...,
    ETransformGizmoSubElements Elements,
    void* Owner,
    const FString& InstanceIdentifier
)

Spawn a new custom Transform gizmo (see UCombinedTransformGizmoContextObject::CreateCustomTransformGizmo for details) GizmoManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details)

Public function

UCombinedTra...

 

UE::TransformGizmoUtil::CreateCustomRepositionableTransformGizmo

(
    UInteractiveToolManager* ToolM...,
    ETransformGizmoSubElements Elements,
    void* Owner,
    const FString& InstanceIdentifier
)

Spawn a new custom Transform gizmo (see UCombinedTransformGizmoContextObject::CreateCustomRepositionableTransformGizmo for details) ToolManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details)

Public function

UCombinedTra...

 

UE::TransformGizmoUtil::CreateCustomTransformGizmo

(
    UInteractiveGizmoManager* Gizm...,
    ETransformGizmoSubElements Elements,
    void* Owner,
    const FString& InstanceIdentifier
)

Spawn a new custom Transform gizmo (see UCombinedTransformGizmoContextObject::CreateCustomTransformGizmo for details) GizmoManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details)

Public function

UCombinedTra...

 

UE::TransformGizmoUtil::CreateCustomTransformGizmo

(
    UInteractiveToolManager* ToolM...,
    ETransformGizmoSubElements Elements,
    void* Owner,
    const FString& InstanceIdentifier
)

Spawn a new custom Transform gizmo (see UCombinedTransformGizmoContextObject::CreateCustomTransformGizmo for details) ToolManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details)

Public function

bool

 

UE::TransformGizmoUtil::DeregisterTransformGizmoContextObject

(
    UInteractiveToolsContext* Tool...
)

Remove any existing UCombinedTransformGizmoContextObject from the ToolsContext's ContextObjectStore

Public function

bool

 

UE::TransformGizmoUtil::RegisterTransformGizmoContextObject

(
    UInteractiveToolsContext* Tool...
)

The functions below are helper functions that simplify usage of a UCombinedTransformGizmoContextObject that is registered as a ContextStoreObject in an InteractiveToolsContext If one does not already exist, create a new instance of UCombinedTransformGizmoContextObject and add it to the ToolsContext's ContextObjectStore