UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GizmoRenderingUtil.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "SceneView.h"
8
15
21{
22 // Interface meant to wrap either an FSceneView or UGizmoViewContext so that a user can write one
23 // function to handle either one (for rendering and for hit testing).
25 {
26 public:
27 virtual const FIntRect& GetUnscaledViewRect() const = 0;
28 virtual FVector4 WorldToScreen(const FVector&) const = 0;
29 virtual FVector GetViewLocation() const = 0;
30 virtual FVector GetViewDirection() const = 0;
31 virtual FVector GetViewRight() const = 0;
32 virtual FVector GetViewUp() const = 0;
33 virtual const FMatrix& GetProjectionMatrix() const = 0;
34 virtual const FMatrix& GetViewMatrix() const = 0;
35 virtual bool IsPerspectiveProjection() const = 0;
36 virtual double GetDPIScale() const = 0;
37 };
38
39 // Wrapper around FSceneView to access it through ISceneViewInterface
41 {
42 public:
43 explicit FSceneViewWrapper(const FSceneView& SceneView)
44 {
45 View = &SceneView;
46 }
47
48 virtual const FIntRect& GetUnscaledViewRect() const { return View->UnscaledViewRect; }
49 virtual FVector4 WorldToScreen(const FVector& VectorIn) const { return View->WorldToScreen(VectorIn); }
50 virtual FVector GetViewLocation() const { return View->ViewLocation; }
51 virtual FVector GetViewDirection() const { return View->GetViewDirection(); }
52 virtual FVector GetViewRight() const { return View->GetViewRight(); }
53 virtual FVector GetViewUp() const { return View->GetViewUp(); }
54 virtual const FMatrix& GetProjectionMatrix() const { return View->ViewMatrices.GetProjectionMatrix(); }
55 virtual const FMatrix& GetViewMatrix() const { return View->ViewMatrices.GetViewMatrix(); }
56 virtual bool IsPerspectiveProjection() const { return View->IsPerspectiveProjection(); }
57 virtual double GetDPIScale() const { return 1.0; }
58
59 private:
60 const FSceneView* View;
61 };
62
63
64 // Can be used as TranslucencySortPriority to make gizmo elements show up above other translucent objects
66
77
79 {
80 bool bDimOccluded = true;
81 };
86
94 const FLinearColor& Color, bool bAddHoverMaterial = true);
95
101 const FLinearColor& Color, bool bAddHoverMaterial = true);
102
107
113 const FSceneView* View,
114 const FVector& Location,
115 const double InDPIScale = 1.0);
116
120 const FVector& Location,
121 const bool bInWithDPIScale = false,
123
131 const FVector& Location,
132 const float Scale,
135 const FSceneView* View,
136 const FVector& Location,
137 const float Scale,
139}
140
141// This namespace is deprecated- use UE::GizmoRenderingUtil instead.
143{
144 UE_DEPRECATED(5.5, "This function was moved to the UE::GizmoRenderingUtil namespace.")
146 const FSceneView* View,
147 const FVector& Location);
148
149 UE_DEPRECATED(5.5, "This function was moved to the UE::GizmoRenderingUtil namespace.")
152 const FVector& Location);
153
154 UE_DEPRECATED(5.5, "This function was moved to the UE::GizmoRenderingUtil namespace.")
156 const FSceneView* View,
157 const FVector& Location,
158 const float Scale,
160}
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition SceneView.h:1425
FVector ViewLocation
Definition SceneView.h:1467
FViewMatrices ViewMatrices
Definition SceneView.h:1464
bool IsPerspectiveProjection() const
Definition SceneView.h:1943
FVector GetViewRight() const
Definition SceneView.h:1932
FVector GetViewUp() const
Definition SceneView.h:1933
const FIntRect UnscaledViewRect
Definition SceneView.h:1456
FVector GetViewDirection() const
Definition SceneView.h:1934
ENGINE_API FVector4 WorldToScreen(const FVector &WorldPoint) const
Definition SceneView.cpp:1322
Definition ToolContextInterfaces.h:427
Definition GizmoRenderingUtil.h:41
virtual const FMatrix & GetViewMatrix() const
Definition GizmoRenderingUtil.h:55
virtual const FIntRect & GetUnscaledViewRect() const
Definition GizmoRenderingUtil.h:48
virtual double GetDPIScale() const
Definition GizmoRenderingUtil.h:57
virtual FVector GetViewRight() const
Definition GizmoRenderingUtil.h:52
FSceneViewWrapper(const FSceneView &SceneView)
Definition GizmoRenderingUtil.h:43
virtual const FMatrix & GetProjectionMatrix() const
Definition GizmoRenderingUtil.h:54
virtual FVector GetViewDirection() const
Definition GizmoRenderingUtil.h:51
virtual bool IsPerspectiveProjection() const
Definition GizmoRenderingUtil.h:56
virtual FVector GetViewLocation() const
Definition GizmoRenderingUtil.h:50
virtual FVector4 WorldToScreen(const FVector &VectorIn) const
Definition GizmoRenderingUtil.h:49
virtual FVector GetViewUp() const
Definition GizmoRenderingUtil.h:53
Definition GizmoRenderingUtil.h:25
virtual const FIntRect & GetUnscaledViewRect() const =0
virtual FVector4 WorldToScreen(const FVector &) const =0
virtual const FMatrix & GetProjectionMatrix() const =0
virtual FVector GetViewLocation() const =0
virtual FVector GetViewDirection() const =0
virtual FVector GetViewUp() const =0
virtual bool IsPerspectiveProjection() const =0
virtual const FMatrix & GetViewMatrix() const =0
virtual FVector GetViewRight() const =0
Definition GizmoViewContext.h:20
Definition InteractiveGizmoManager.h:40
Definition InteractiveGizmo.h:29
Definition InteractiveToolManager.h:79
Definition MaterialInterface.h:296
Definition Object.h:95
Definition StaticMesh.h:593
Definition ViewAdjustedStaticMeshGizmoComponent.h:26
Type
Definition Axis.h:11
Definition GizmoRenderingUtil.h:143
INTERACTIVETOOLSFRAMEWORK_API float CalculateViewDependentScaleAndFlatten(const FSceneView *View, const FVector &Location, const float Scale, FVector &OutWorldFlattenScale)
Definition GizmoRenderingUtil.cpp:273
INTERACTIVETOOLSFRAMEWORK_API float CalculateLocalPixelToWorldScale(const FSceneView *View, const FVector &Location)
Definition GizmoRenderingUtil.cpp:261
Definition CombinedTransformGizmo.h:30
INTERACTIVETOOLSFRAMEWORK_API float CalculateLocalPixelToWorldScale(const FSceneView *View, const FVector &Location, const double InDPIScale=1.0)
Definition GizmoRenderingUtil.cpp:113
const int32 GIZMO_TRANSLUCENCY_SORT_PRIORITY
Definition GizmoRenderingUtil.h:65
INTERACTIVETOOLSFRAMEWORK_API float CalculateViewDependentScaleAndFlatten(const UE::GizmoRenderingUtil::ISceneViewInterface *View, const FVector &Location, const float Scale, FVector &OutWorldFlattenScale)
Definition GizmoRenderingUtil.cpp:179
INTERACTIVETOOLSFRAMEWORK_API UViewAdjustedStaticMeshGizmoComponent * CreateDefaultMaterialGizmoMeshComponent(UStaticMesh *Mesh, UGizmoViewContext *GizmoViewContext, UObject *OwnerComponentOrActor, const FLinearColor &Color, bool bAddHoverMaterial=true)
Definition GizmoRenderingUtil.cpp:66
INTERACTIVETOOLSFRAMEWORK_API FLinearColor GetDefaultAxisColor(EAxis::Type Axis)
Definition GizmoRenderingUtil.cpp:244
INTERACTIVETOOLSFRAMEWORK_API UMaterialInterface * GetDefaultGizmoComponentMaterial(const FLinearColor &Color, UObject *Outer=nullptr)
Definition GizmoRenderingUtil.cpp:224
Definition Color.h:48
const FMatrix & GetProjectionMatrix() const
Definition SceneView.h:433
const FMatrix & GetViewMatrix() const
Definition SceneView.h:448
Definition Optional.h:131
bool bDimOccluded
Definition GizmoRenderingUtil.h:80