UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ViewAdjustedStaticMeshGizmoComponent.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7
8#include "ViewAdjustedStaticMeshGizmoComponent.generated.h"
9
10#define UE_API INTERACTIVETOOLSFRAMEWORK_API
11
14{
15 class IViewBasedTransformAdjuster;
16 class ISceneViewInterface;
17}
18
23UCLASS(MinimalAPI, Blueprintable, BlueprintType, ClassGroup = Gizmos, meta = (BlueprintSpawnableComponent))
26{
28public:
34
37
43 UE_API void SetRenderVisibilityFunction(TFunction<bool(const UE::GizmoRenderingUtil::ISceneViewInterface& View,
44 const FTransform& ComponentToWorld)> RenderVisibilityFunc);
46 const FTransform& ComponentToWorld)> GetRenderVisibilityFunction() const { return RenderVisibilityFunc; }
47
49 UE_API void SetAllMaterials(UMaterialInterface* Material);
50
55 UE_API void SetHoverOverrideMaterial(UMaterialInterface* Material);
56
57 UMaterialInterface* GetHoverOverrideMaterial() { return HoverOverrideMaterial; }
58 bool IsBeingHovered() { return bHovered; }
59
64 UE_API void SetSubstituteInteractionComponent(UPrimitiveComponent* Component, const FTransform& RelativeTransform = FTransform::Identity);
65
66 bool IsHiddenByInteraction() { return bInteracted && SubstituteInteractionComponent; }
67
68 // IGizmoBaseComponentInterface
69 UE_API virtual void UpdateHoverState(bool bHoveringIn) override;
70 UE_API virtual void UpdateWorldLocalState(bool bWorldIn) override;
71 UE_API virtual void UpdateInteractingState(bool bInteracting) override;
72
73 // UMeshComponent
74 UE_DEPRECATED(5.7, "Please use GetMaterialRelevance with EShaderPlatform argument and not ERHIFeatureLevel::Type")
77
78 // UPrimitiveComponent
79 UE_API virtual bool LineTraceComponent(FHitResult& OutHit, const FVector Start, const FVector End, const FCollisionQueryParams& Params) override;
80
81 // USceneComponent
82 UE_API virtual FBoxSphereBounds CalcBounds(const FTransform& LocalToWorld) const override;
83
84 // UActorComponent
85 virtual bool IsHLODRelevant() const override { return false; }
86
87 // UObject
88 virtual bool NeedsLoadForServer() const override { return false; }
89
90protected:
91 // UStaticMeshComponent
92 UE_API virtual FPrimitiveSceneProxy* CreateStaticMeshSceneProxy(Nanite::FMaterialAudit& NaniteMaterials, bool bCreateNanite) override;
93
94private:
95
96 // Needed for proper line traces
97 UPROPERTY()
98 TObjectPtr<UGizmoViewContext> GizmoViewContext = nullptr;
99
100 UPROPERTY()
101 TObjectPtr<UPrimitiveComponent> SubstituteInteractionComponent = nullptr;
102
103 UPROPERTY()
104 TObjectPtr<UMaterialInterface> HoverOverrideMaterial = nullptr;
105
106 TSharedPtr<UE::GizmoRenderingUtil::IViewBasedTransformAdjuster> TransformAdjuster;
107
108 bool bHovered = false;
109 bool bInteracted = false;
110
111 TFunction<bool(const UE::GizmoRenderingUtil::ISceneViewInterface& View,
112 const FTransform& ComponentToWorld)> RenderVisibilityFunc = nullptr;
113};
114
115#undef UE_API
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
EShaderPlatform
Definition RHIShaderPlatform.h:11
#define UE_API
Definition ViewAdjustedStaticMeshGizmoComponent.h:10
Definition PrimitiveSceneProxy.h:296
Definition GizmoBaseComponent.h:24
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:692
Definition GizmoRenderingUtil.h:25
Definition GizmoViewContext.h:20
Definition MaterialInterface.h:296
Definition ViewAdjustedStaticMeshGizmoComponent.h:26
TSharedPtr< UE::GizmoRenderingUtil::IViewBasedTransformAdjuster > GetTransformAdjuster() const
Definition ViewAdjustedStaticMeshGizmoComponent.h:36
UMaterialInterface * GetHoverOverrideMaterial()
Definition ViewAdjustedStaticMeshGizmoComponent.h:57
bool IsHiddenByInteraction()
Definition ViewAdjustedStaticMeshGizmoComponent.h:66
void SetGizmoViewContext(UGizmoViewContext *GizmoViewContextIn)
Definition ViewAdjustedStaticMeshGizmoComponent.h:33
bool IsBeingHovered()
Definition ViewAdjustedStaticMeshGizmoComponent.h:58
TFunction< bool(const UE::GizmoRenderingUtil::ISceneViewInterface &View, const FTransform &ComponentToWorld)> GetRenderVisibilityFunction() const
Definition ViewAdjustedStaticMeshGizmoComponent.h:46
virtual bool NeedsLoadForServer() const override
Definition ViewAdjustedStaticMeshGizmoComponent.h:88
Definition SceneComponent.h:24
Definition GizmoRenderingUtil.h:143
Definition CombinedTransformGizmo.h:30
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition CollisionQueryParams.h:43
Definition HitResult.h:21
Definition MaterialRelevance.h:13
Definition NaniteSceneProxy.h:66
Definition ObjectPtr.h:488
Definition BoxSphereBounds.h:25
static CORE_API const TTransform< double > Identity
Definition TransformNonVectorized.h:58