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;
92 DebugContainerDependent dcd;
97 Data(
const Data *parent);
100 std::shared_ptr<Data> data =
nullptr;
104 void _manual_unregister();
112 real_t get_thickness()
const;
120 real_t get_center_brightness()
const;
128 bool is_hd_sphere()
const;
136 real_t get_plane_size()
const;
142 Transform3D get_transform()
const;
153 Color get_text_outline_color()
const;
164 int32_t get_text_outline_size()
const;
175 Ref<Font> get_text_font()
const;
188 Viewport *get_viewport()
const;
199 bool is_no_depth_test()
const;
202 DebugDraw3DScopeConfig();
206 DebugDraw3DScopeConfig(
const uint64_t &p_thread_id,
const uint64_t &p_guard_id,
const DebugDraw3DScopeConfig::Data *p_parent,
const unregister_func p_unreg);
207 ~DebugDraw3DScopeConfig();