UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GizmoUtil.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "GizmoElementBase.h"
9
10#include "GizmoUtil.generated.h"
11
12class FString;
16
19{
20public:
24
27
30
33
40 const bool bIsPerspectiveProjection);
41};
42
47UCLASS(MinimalAPI)
49{
51
52public:
53
54 virtual UInteractiveGizmo* BuildGizmo(const FToolBuilderState& SceneState) const override
55 {
56 if (BuilderFunc)
57 {
58 return BuilderFunc(SceneState);
59 }
60 return nullptr;
61 }
62
63 TUniqueFunction<UInteractiveGizmo* (const FToolBuilderState& SceneState)> BuilderFunc;
64};
65
66namespace UE::GizmoUtil
67{
77 TSubclassOf<UInteractiveGizmo> GizmoClass, const FString& InstanceIdentifier, void* Owner);
78
82 template <typename GizmoClass>
84 const FString& InstanceIdentifier, void* GizmoOwner)
85 {
86 return Cast<GizmoClass>(CreateGizmoViaSimpleBuilder(GizmoManager, GizmoClass::StaticClass(), InstanceIdentifier, GizmoOwner));
87 }
88}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition GizmoUtil.h:19
INTERACTIVETOOLSFRAMEWORK_API bool UpdateRenderState(UGizmoElementBase &InGizmoElement, IToolsContextRenderAPI *InRenderAPI, const FVector &InLocalCenter, UGizmoElementBase::FRenderTraversalState &InOutRenderState) const
Definition GizmoUtil.cpp:47
static INTERACTIVETOOLSFRAMEWORK_API bool IsPartial(UGizmoElementCircleBase &InGizmoElement, const FVector &InWorldCenter, const FVector &InWorldNormal, const FVector &InViewLocation, const FVector &InViewDirection, const bool bIsPerspectiveProjection)
Definition GizmoUtil.cpp:69
static INTERACTIVETOOLSFRAMEWORK_API TConstArrayView< TObjectPtr< UGizmoElementBase > > GetSubElements(const UGizmoElementBase &InGizmoElement)
Definition GizmoUtil.cpp:32
static INTERACTIVETOOLSFRAMEWORK_API void GetSubElementsRecursive(const UGizmoElementBase &InGizmoElement, TArray< TObjectPtr< UGizmoElementBase > > &OutElements)
Definition GizmoUtil.cpp:37
static INTERACTIVETOOLSFRAMEWORK_API bool IsEnabledForInteractionState(const UGizmoElementBase &InGizmoElement, const TOptional< EGizmoElementInteractionState > &InInteractionState={})
Definition GizmoUtil.cpp:64
Definition ToolContextInterfaces.h:427
Definition Array.h:670
Definition SubclassOf.h:30
Definition FunctionFwd.h:19
Definition GizmoElementBase.h:26
Definition GizmoElementCircleBase.h:19
Definition InteractiveGizmoBuilder.h:19
Definition InteractiveGizmoManager.h:40
Definition InteractiveGizmo.h:29
Definition GizmoUtil.h:49
virtual UInteractiveGizmo * BuildGizmo(const FToolBuilderState &SceneState) const override
Definition GizmoUtil.h:54
Definition FreeRotationSubGizmo.h:18
INTERACTIVETOOLSFRAMEWORK_API UInteractiveGizmo * CreateGizmoViaSimpleBuilder(UInteractiveGizmoManager *GizmoManager, TSubclassOf< UInteractiveGizmo > GizmoClass, const FString &InstanceIdentifier, void *Owner)
Definition GizmoUtil.cpp:12
Definition ToolContextInterfaces.h:50
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition GizmoElementBase.h:52