UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::GizmoRenderingUtil::IViewBasedTransformAdjuster Class Referenceabstract

#include <ViewBasedTransformAdjusters.h>

+ Inheritance diagram for UE::GizmoRenderingUtil::IViewBasedTransformAdjuster:

Public Member Functions

virtual ~IViewBasedTransformAdjuster ()
 
virtual FTransform GetAdjustedComponentToWorld (const ISceneViewInterface &View, const FTransform &CurrentComponentToWorld)=0
 
virtual FTransform GetAdjustedComponentToWorld_RenderThread (const ISceneViewInterface &View, const FTransform &CurrentComponentToWorld)
 
virtual void UpdateWorldLocalState (bool bWorldIn)
 
virtual FBoxSphereBounds GetViewIndependentBounds (const FTransform &LocalToWorld, const FBoxSphereBounds &OriginalBounds)
 

Detailed Description

Interface for a helper that can adjust a component's transform based on view information, used by UViewAdjustedStaticMeshGizmoComponent. Adjusters are typically expected to be safely shareable across game and render threads, so if they are not constant, they are expected to handle updates safely in their implementation.

Constructor & Destructor Documentation

◆ ~IViewBasedTransformAdjuster()

virtual UE::GizmoRenderingUtil::IViewBasedTransformAdjuster::~IViewBasedTransformAdjuster ( )
inlinevirtual

Member Function Documentation

◆ GetAdjustedComponentToWorld()

virtual FTransform UE::GizmoRenderingUtil::IViewBasedTransformAdjuster::GetAdjustedComponentToWorld ( const ISceneViewInterface View,
const FTransform CurrentComponentToWorld 
)
pure virtual

Given the component location and the view information, gives the desired transform of the component.

Implemented in UE::GizmoRenderingUtil::FSimpleConstantViewScaleAdjuster, UE::GizmoRenderingUtil::FSubGizmoTransformAdjuster, and UE::GizmoRenderingUtil::FConstantViewRelativeTransformAdjuster.

◆ GetAdjustedComponentToWorld_RenderThread()

virtual FTransform UE::GizmoRenderingUtil::IViewBasedTransformAdjuster::GetAdjustedComponentToWorld_RenderThread ( const ISceneViewInterface View,
const FTransform CurrentComponentToWorld 
)
inlinevirtual

If an adjuster is used by a render proxy, it will use this endpoint for getting the transform. This allows an adjuster to be potentially shared between game and render threads. Of course, a component might instead choose to create a new adjuster whenever the render proxy is recreated, and recreate the proxy whenever any relevant parameters change.

Reimplemented in UE::GizmoRenderingUtil::FSubGizmoTransformAdjuster.

◆ GetViewIndependentBounds()

virtual FBoxSphereBounds UE::GizmoRenderingUtil::IViewBasedTransformAdjuster::GetViewIndependentBounds ( const FTransform LocalToWorld,
const FBoxSphereBounds OriginalBounds 
)
inlinevirtual

Returns the transform that should be returned by a USceneComponent CalcBounds method, which can't know about the view. Although the default is to return the original bounds, any adjuster that scales the mesh arbitrarily large will probably need to return infinite bounds, whereas an adjuster that only changes orienation must account for any possible orientation. Note that returning infinite bounds causes the relevant components to no longer be frustum-culled, but this is acceptible for gizmos, which are typically few and on-screen.

Reimplemented in UE::GizmoRenderingUtil::FSimpleConstantViewScaleAdjuster, UE::GizmoRenderingUtil::FSubGizmoTransformAdjuster, and UE::GizmoRenderingUtil::FConstantViewRelativeTransformAdjuster.

◆ UpdateWorldLocalState()

virtual void UE::GizmoRenderingUtil::IViewBasedTransformAdjuster::UpdateWorldLocalState ( bool  bWorldIn)
inlinevirtual

Not every adjuster will care about the world/local setting, but it is useful for the a component that uses it to be able to blindly pass this information down without caring about the type of adjuster.

Reimplemented in UE::GizmoRenderingUtil::FSubGizmoTransformAdjuster.


The documentation for this class was generated from the following file: