59class DebugDraw3DScopeConfig : public RefCounted {
60 GDCLASS(DebugDraw3DScopeConfig, RefCounted)
64 static void _bind_methods();
70 using unregister_func = std::function<void(
const uint64_t &,
const uint64_t &)>;
71 unregister_func unregister_action;
75 struct DebugContainerDependent {
76 Viewport *viewport =
nullptr;
77 uint64_t viewport_id = 0;
78 bool no_depth_test =
false;
85 real_t center_brightness;
87 Transform3D transform;
88 Color text_outline_color;
89 uint32_t text_outline_color_hash;
90 int32_t text_outline_size;
93 DebugContainerDependent dcd;
98 Data(
const Data *parent);
101 std::shared_ptr<Data> data =
nullptr;
105 void _manual_unregister();
113 real_t get_thickness()
const;
121 real_t get_center_brightness()
const;
129 bool is_hd_sphere()
const;
137 real_t get_plane_size()
const;
143 Transform3D get_transform()
const;
154 Color get_text_outline_color()
const;
165 int32_t get_text_outline_size()
const;
176 bool get_text_fixed_size()
const;
187 Ref<Font> get_text_font()
const;
200 Viewport *get_viewport()
const;
211 bool is_no_depth_test()
const;
214 DebugDraw3DScopeConfig();
218 DebugDraw3DScopeConfig(
const uint64_t &p_thread_id,
const uint64_t &p_guard_id,
const DebugDraw3DScopeConfig::Data *p_parent,
const unregister_func p_unreg);
219 ~DebugDraw3DScopeConfig();