UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GizmoElementGroup.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"
8#include "InputState.h"
9#include "GizmoElementGroup.generated.h"
10
15UCLASS(Transient, Abstract, MinimalAPI)
17{
19
21
22public:
23
24 //~ Begin UGizmoElementBase Interface.
28
29 // Sets the part identifier for this element and all of its children whose current ID is 0/Default.
30 using UGizmoElementBase::SetPartIdentifier;
31
32 // Sets the part identifier for this element and all of its children whose current ID is 0/Default.
34
35 // Returns the element associated with the specified part id, or nullptr if not found.
37
38 // Returns the element associated with the specified part id, or nullptr if not found.
40
41 // Get the (top-level) sub-elements, if any.
43
44 // Update group and contained elements' visibility state for elements in specified gizmo parts, return true if part was found.
45 // Setting bAllowMultipleElements to true will allow multiple elements with the same Part Id to be updated.
47
48 // Get element's visible state for element associated with the specified gizmo part, if part was found.
50
51 // Update group and contained elements' hittable state for elements in specified gizmo parts, return true if part was found.
52 // Setting bAllowMultipleElements to true will allow multiple elements with the same Part Id to be updated.
54
55 // Get element's hittable state for element associated with the specified gizmo part, if part was found.
57
58 // Update group and contained elements' interaction state for elements in specified gizmo parts, return true if part was found.
59 // Setting bAllowMultipleElements to true will allow multiple elements with the same Part Id to be updated.
61
62 // Get element's interaction state for element associated with the specified gizmo part, if part was found.
64
65 // When true, maintains view-dependent constant scale for this gizmo object hierarchy
66 INTERACTIVETOOLSFRAMEWORK_API virtual void SetConstantScale(bool InConstantScale);
67 INTERACTIVETOOLSFRAMEWORK_API virtual bool GetConstantScale() const;
68
69 // Set whether this group should be treated as a hit owner and its part identifier returned when any of its sub-elements are hit.
71 INTERACTIVETOOLSFRAMEWORK_API virtual bool GetHitOwner() const;
72
74
75 // Add object to group.
77
78 // Remove object from group, if it exists
80
82
83 // When true, maintains view-dependent constant scale for this gizmo object hierarchy
84 UPROPERTY()
85 bool bConstantScale = false;
86
87 // When true, this group is treated as a single element such that when LineTrace is called, if any of its sub-elements is hit,
88 // this group will be returned as the owner of the hit. This should be used when a group of elements should be treated as a single handle.
89 UPROPERTY()
90 bool bHitOwner = false;
91
92 // Gizmo elements within this group
93 UPROPERTY()
95
96 // Updates input transform's scale component to have uniform scale and applies constant scale if bConstantScale is true
97 INTERACTIVETOOLSFRAMEWORK_API virtual void ApplyUniformConstantScaleToTransform(double PixelToWorldScale, FTransform& InOutLocalToWorldTransform) const;
98
99 // Updates input transform's scale component to have uniform scale and applies constant scale if bConstantScale or bInForceApply is true
100 INTERACTIVETOOLSFRAMEWORK_API virtual void ApplyUniformConstantScaleToTransform(double PixelToWorldScale, FTransform& InOutLocalToWorldTransform, const bool bInForceApply) const;
101};
102
107UCLASS(Transient, MinimalAPI)
109{
111
112public:
113
114 // Add object to group.
116
117 // Remove object from group, if it exists
119};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
EGizmoElementInteractionState
Definition GizmoElementShared.h:28
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition CanvasTypes.h:211
Definition GizmoUtil.h:19
Definition ToolContextInterfaces.h:427
Definition Array.h:670
Definition GizmoElementBase.h:26
Definition GizmoElementGroup.h:17
virtual INTERACTIVETOOLSFRAMEWORK_API void Remove(UGizmoElementBase *InElement)
Definition GizmoElementGroup.cpp:292
virtual INTERACTIVETOOLSFRAMEWORK_API void Add(UGizmoElementBase *InElement)
Definition GizmoElementGroup.cpp:284
Definition GizmoElementGroup.h:109
Definition GizmoElementLineBase.h:18
Definition GizmoViewContext.h:20
@ false
Definition radaudio_common.h:23
Definition InputState.h:52
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition GizmoElementBase.h:125
Definition GizmoElementBase.h:96
Definition GizmoElementBase.h:52