Navigation
API > API/Runtime > API/Runtime/InteractiveToolsFramework
Classes
| Type | Name | Description | |
|---|---|---|---|
| ACombinedTransformGizmoActor | ACombinedTransformGizmoActor is an Actor type intended to be used with UCombinedTransformGizmo, as the in-scene visual representation of the Gizmo. | ||
| AGizmoActor | AGizmoActor is a base class for Actors that would be created to represent Gizmos in the scene. | ||
| AIntervalGizmoActor | AIntervalGizmoActor is an Actor type intended to be used with UIntervalGizmo, as the in-scene visual representation of the Gizmo. | ||
| FCombinedTransformGizmoActorFactory | FCombinedTransformGizmoActorFactory creates new instances of ACombinedTransformGizmoActor which are used by UCombinedTransformGizmo to implement 3D transformation Gizmos. | ||
| FGizmoElementColorAttribute | Structs used to store gizmo element render state. | ||
| FGizmoElementLineRenderStateAttributes | Line render state structure. | ||
| FGizmoElementMaterialAttribute | Material state attribute struct | ||
| FGizmoElementMeshRenderStateAttributes | Mesh render state structure. | ||
| FGizmoFloatParameterChange | FGizmoVec2ParameterChange represents a change in the value of an IGizmoFloatParameterSource. | ||
| FGizmoVec2ParameterChange | Various implementations of IGizmoVec2ParameterSourceFGizmoVec2ParameterChange represents a change in the value of an IGizmoVec2ParameterSource. | ||
| FIntervalGizmoActorFactory | FIntervalGizmoActorFactory creates new instances of AIntervalGizmoActor which are used by UIntervalGizmo to implement 3D interval Gizmos. | ||
| FSeparateScaleProvider | FSeparateScaleProvider provides TFunction-implementable API that sets/gets a Scaling Vector from an external source. | ||
| FToolContextOptionalToggle | FToolContextOptionalToggle is used to store a boolean flag where the value of the boolean may either be set directly, or it may be set by querying some external context. | ||
| FTransformProxyChange | FTransformProxyChange tracks a change to the base transform for a TransformProxy | ||
| FTransformProxyChangeSource | FTransformProxyChangeSource generates FTransformProxyChange instances on Begin/End. | ||
| IGizmoAxisSource | IGizmoAxisSource is an interface which is used to get information about a 3D Axis. | ||
| IGizmoClickMultiTarget | IGizmoClickMultiTarget is an interface used to provide a ray-object hit test against a target which supports hitting parts of the target. | ||
| IGizmoClickTarget | IGizmoClickTarget is an interface used to provide a ray-object hit test. | ||
| IGizmoFloatParameterSource | IGizmoFloatParameterSource provides Get and Set for an arbitrary float-valued parameter. | ||
| IGizmoRenderMultiTarget | IGizmoRenderMultiTarget is an interface used to provide rendering of a target and the ability to specify which part of a target should be visible. | ||
| IGizmoRenderTarget | UGizmoRenderTarget is an interface used to provide rendering of a target | ||
| IGizmoStateTarget | IGizmoStateTarget is an interface that is used to pass notifications about significant gizmo state updates | ||
| IGizmoTransformSource | IGizmoTransformSource is an interface which is used to Get/Set an FTransform. | ||
| IGizmoVec2ParameterSource | IGizmoVec2ParameterSource provides Get and Set for an arbitrary 2D-vector-valued parameter. | ||
| UAxisAngleGizmo | |||
| UAxisAngleGizmoBuilder | |||
| UAxisPositionGizmo | UAxisPositionGizmo implements a gizmo interaction where 1D parameter value is manipulated by dragging a point on a 3D line/axis in space. | ||
| UAxisPositionGizmoBuilder | |||
| UBrushStampIndicator | UBrushStampIndicator is a simple 3D brush indicator. | ||
| UBrushStampIndicatorBuilder | |||
| UCombinedTransformGizmo | UCombinedTransformGizmo provides standard Transformation Gizmo interactions, applied to a UTransformProxy target object. | ||
| UCombinedTransformGizmoBuilder | |||
| UCombinedTransformGizmoContextObject | UCombinedTransformGizmoContextObject is a utility object that registers a set of Gizmo Builders for UCombinedTransformGizmo and variants. | ||
| UGizmoArrowComponent | Simple Component intended to be used as part of 3D Gizmos. | ||
| 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. | ||
| 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). | ||
| 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. | ||
| UGizmoAxisSource | |||
| UGizmoAxisTranslationParameterSource | Various 1D and 2D ParameterSource converters intended to be used to create 3D transformation gizmos. | ||
| UGizmoBaseComponent | Base class for simple Components intended to be used as part of 3D Gizmos. | ||
| UGizmoBaseFloatParameterSource | UGizmoBaseFloatParameterSource is a base implementation of IGizmoFloatParameterSource, which is not functional but adds an OnParameterChanged delegate for further subclasses. | ||
| UGizmoBaseTransformSource | UGizmoBaseTransformSource is a base implementation of IGizmoTransformSource that adds an OnTransformChanged delegate. | ||
| UGizmoBaseVec2ParameterSource | UGizmoBaseVec2ParameterSource is a base implementation of IGizmoVec2ParameterSource, which is not functional but adds an OnParameterChanged delegate for further subclasses. | ||
| UGizmoBoxComponent | Simple Component intended to be used as part of 3D Gizmos. | ||
| UGizmoCircleComponent | Simple Component intended to be used as part of 3D Gizmos. Draws a 3D circle based on parameters. | ||
| UGizmoClickMultiTarget | |||
| UGizmoClickTarget | |||
| 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]. | ||
| UGizmoComponentHitTarget | UGizmoComponentHitTarget is an IGizmoClickTarget implementation that hit-tests a UPrimitiveComponent | ||
| UGizmoComponentWorldTransformSource | UGizmoComponentWorldTransformSource implements IGizmoTransformSource (via UGizmoBaseTransformSource) based on the internal transform of a USceneComponent. | ||
| UGizmoConstantAxisSource | UGizmoConstantAxisSource is an IGizmoAxisSource implementation that internally stores the Origin and Direction constants | ||
| UGizmoConstantFrameAxisSource | UGizmoConstantFrameAxisSource is an IGizmoAxisSource implementation that internally stores the Origin, Direction, and X/Y Tangent constants. | ||
| UGizmoElementArc | Simple object intended to be used as part of 3D Gizmos. Draws a thick arc based on parameters. | ||
| UGizmoElementArrow | |||
| UGizmoElementBase | Base class for 2d and 3d primitive objects intended to be used as part of 3D Gizmos. | ||
| UGizmoElementBox | Simple object intended to be used as part of 3D Gizmos. | ||
| UGizmoElementCircle | Simple object intended to be used as part of 3D Gizmos. | ||
| UGizmoElementCircleBase | Abstract base object for circle, torus and arc. | ||
| UGizmoElementCone | Simple object intended to be used as part of 3D Gizmos. Draws a solid 3D cone based on parameters. | ||
| UGizmoElementCylinder | Simple object intended to be used as part of 3D Gizmos. | ||
| UGizmoElementGroup | Simple group object intended to be used as part of 3D Gizmos. Contains multiple gizmo objects. | ||
| UGizmoElementHitMultiTarget | UGizmoElementHitMultiTarget is an IGizmoClickMultiTarget implementation that hit-tests any object derived from UGizmoElementBase. | ||
| UGizmoElementHitTarget | UGizmoElementHitTarget is an IGizmoClickTarget implementation that hit-tests any object derived from UGizmoElementBase This hit target should be used for hitting a whole gizmo element hierarchy. | ||
| UGizmoElementLineBase | Base class for 2d and 3d primitive objects which support line drawing, intended to be used as part of 3D Gizmos. | ||
| UGizmoElementRectangle | Simple object intended to be used as part of 3D Gizmos. Draws a rectangle based on parameters. | ||
| UGizmoElementTorus | Simple object intended to be used as part of 3D Gizmos. | ||
| UGizmoFloatParameterSource | |||
| UGizmoLambdaHitTarget | UGizmoLambdaHitTarget is an IGizmoClickTarget implementation that forwards the hit-test function to a TFunction | ||
| UGizmoLambdaStateTarget | UGizmoLambdaStateTarget is an implementation of IGizmoStateTarget that forwards calls to its interface functions to external TFunctions | ||
| UGizmoLineHandleComponent | Simple Component intended to be used as part of 3D Gizmos. | ||
| 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. | ||
| 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. | ||
| UGizmoNilStateTarget | UGizmoNilStateTarget is an implementation of IGizmoStateTarget that does nothing | ||
| UGizmoObjectModifyStateTarget | UGizmoObjectModifyStateTarget is an implementation of IGizmoStateTarget that opens and closes change transactions on a target UObject via a GizmoManager. | ||
| 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. | ||
| 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 in a plane with origin/normal given by an IGizmoAxisSource. | ||
| UGizmoRectangleComponent | Simple Component intended to be used as part of 3D Gizmos. | ||
| UGizmoRenderMultiTarget | |||
| UGizmoRenderTarget | |||
| 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. | ||
| UGizmoScaledTransformSource | Old description: UGizmoScaledTransformSource wraps another IGizmoTransformSource implementation and adds a separate scaling vector to the Transform. | ||
| UGizmoStateTarget | |||
| UGizmoTransformChangeStateTarget | UGizmoTransformChangeStateTarget is an implementation of IGizmoStateTarget that emits an FComponentWorldTransformChange on a target USceneComponent. | ||
| UGizmoTransformProxyTransformSource | UGizmoTransformProxyTransformSource implements IGizmoTransformSource (via UGizmoBaseTransformSource) based on the internal transform of a UTransformProxy. | ||
| UGizmoTransformSource | UInterfaces for the various UObjects used in the Standard Gizmo Library. | ||
| 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. | ||
| UGizmoVec2ParameterSource | |||
| 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. | ||
| 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]. | ||
| UIntervalGizmo | |||
| UIntervalGizmoBuilder | |||
| UPlanePositionGizmo | UPlanePositionGizmo implements a gizmo interaction where 2D parameter value is manipulated by dragging a point on a 3D plane in space. | ||
| UPlanePositionGizmoBuilder | |||
| URepositionableTransformGizmo | A transform gizmo that also allows the user to reposition it by middle-clicking rotation/translation components. | ||
| URepositionableTransformGizmoBuilder | |||
| UScalableSphereGizmo | UScalableSphereGizmo provides a sphere that can be scaled in all directions by dragging anywhere on the three axial circles that represent it | ||
| UScalableSphereGizmoBuilder | |||
| UScalableSphereGizmoInputBehavior | A behavior that forwards clicking and dragging to the gizmo. | ||
| UTransformProxy | UTransformProxy is used to transform a set of sub-objects. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | GizmoMath::ClosetPointOnCircle
(
const FVector& QueryPoint, |
Find the closest point to QueryPoint that is on the circle defined by CircleOrigin, CircleNormal, and CircleRadius. | |
| float | GizmoMath::ComputeAngleInPlane
(
const FVector& Point, |
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 | |
| FVector2D | GizmoMath::ComputeCoordinatesInPlane
(
const FVector& Point, |
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 | |
| FVector | GizmoMath::GetOrthogonalVector
(
const FVector& V |
||
| void | GizmoMath::IntervalIntervalIntersection
(
const RealType Interval0, |
Find the intersection of two floating point intervals in which the interval inputs contain pairs of floats sorted in increasing order. | |
| void | GizmoMath::MakeNormalPlaneBasis
(
const FVector& PlaneNormal, |
Construct two mutually-perpendicular unit vectors BasisAxis1Out and BasisAxis2Out which are orthogonal to PlaneNormal | |
| void | GizmoMath::NearestPointOnLine
(
const FVector& LineOrigin, |
Find the nearest point to QueryPoint on the line defined by LineOrigin and LineDirection. | |
| void | GizmoMath::NearestPointOnLineToRay
(
const FVector& LineOrigin, |
Find the closest pair of points on a 3D line and 3D ray. | |
| FVector | GizmoMath::ProjectPointOntoLine
(
const FVector& Point, |
Project a point onto the line defined by LineOrigin and LineDirection | |
| FVector | GizmoMath::ProjectPointOntoPlane
(
const FVector& Point, |
Project the input Point onto the plane defined by PlaneOrigin and PlaneNormal, | |
| void | GizmoMath::RayConeIntersection
(
const FVector& ConeCenter, |
Find the intersection of the ray defined by RayOrigin and RayDirection with the cone defined by ConeCenter, ConeDirection, ConeCosAngle, and ConeHeight. | |
| void | GizmoMath::RayCylinderIntersection
(
const FVector& CylinderCenter, |
Find the intersection of the ray defined by RayOrigin and RayDirection with the cylinder defined by CylinderCenter, CylinderAxis, CylinderRadius, and CylinderHeight. | |
| void | GizmoMath::RayPlaneIntersectionPoint
(
const FVector& PlaneOrigin, |
Find the intersection of the ray defined by RayOrigin and RayDirection with the plane defined by PlaneOrigin and PlaneNormal. | |
| void | GizmoMath::RaySphereIntersection
(
const FVector& SphereOrigin, |
Find the intersection of the ray defined by RayOrigin and RayDirection with the sphere defined by SphereOrigin and SphereRadius. | |
| RealType | GizmoMath::SnapToIncrement
(
RealType Value, |
Round Value to nearest step of Increment | |
| float | GizmoRenderingUtil::CalculateLocalPixelToWorldScale
(
const FSceneView* View, |
This is a local estimate and is increasingly incorrect as the 3D point gets further from Location | |
| float | GizmoRenderingUtil::CalculateLocalPixelToWorldScale
(
const UGizmoViewContext* ViewContext, |
||
| float | GizmoRenderingUtil::CalculateViewDependentScaleAndFlatten
(
const FSceneView* View, |
||
| UCombinedTransformGizmo * | UE::TransformGizmoUtil::Create3AxisTransformGizmo
(
UInteractiveGizmoManager* GizmoManager, |
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) | |
| UCombinedTransformGizmo * | UE::TransformGizmoUtil::Create3AxisTransformGizmo
(
UInteractiveToolManager* ToolManager, |
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) | |
| UCombinedTransformGizmo * | UE::TransformGizmoUtil::CreateCustomRepositionableTransformGizmo
(
UInteractiveGizmoManager* GizmoManager, |
Spawn a new custom Transform gizmo (see UCombinedTransformGizmoContextObject::CreateCustomTransformGizmo for details) GizmoManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details) | |
| UCombinedTransformGizmo * | UE::TransformGizmoUtil::CreateCustomRepositionableTransformGizmo
(
UInteractiveToolManager* ToolManager, |
Spawn a new custom Transform gizmo (see UCombinedTransformGizmoContextObject::CreateCustomRepositionableTransformGizmo for details) ToolManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details) | |
| UCombinedTransformGizmo * | UE::TransformGizmoUtil::CreateCustomTransformGizmo
(
UInteractiveGizmoManager* GizmoManager, |
Spawn a new custom Transform gizmo (see UCombinedTransformGizmoContextObject::CreateCustomTransformGizmo for details) GizmoManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details) | |
| UCombinedTransformGizmo * | UE::TransformGizmoUtil::CreateCustomTransformGizmo
(
UInteractiveToolManager* ToolManager, |
Spawn a new custom Transform gizmo (see UCombinedTransformGizmoContextObject::CreateCustomTransformGizmo for details) ToolManager's ToolsContext must have a UCombinedTransformGizmoContextObject registered (see UCombinedTransformGizmoContextObject for details) | |
| bool | Remove any existing UCombinedTransformGizmoContextObject from the ToolsContext's ContextObjectStore | ||
| bool | 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 |