63 static void _bind_methods();
69 using unregister_func = std::function<void(
const uint64_t &,
const uint64_t &)>;
70 unregister_func unregister_action;
74 struct DebugContainerDependent {
79 DebugContainerDependent() :
81 no_depth_test(
false) {
84 DebugContainerDependent(Viewport *p_viewport,
bool p_no_depth_test) :
86 no_depth_test(p_no_depth_test) {
94 real_t center_brightness;
97 DebugContainerDependent dcd;
100 Data(
const std::shared_ptr<Data> &parent);
103 std::shared_ptr<Data> data =
nullptr;
107 void _manual_unregister();
115 real_t get_thickness()
const;
123 real_t get_center_brightness()
const;
131 bool is_hd_sphere()
const;
139 real_t get_plane_size()
const;
152 Viewport *get_viewport()
const;
163 bool is_no_depth_test()
const;
170 DebugDraw3DScopeConfig(
const uint64_t &p_thread_id,
const uint64_t &p_guard_id,
const std::shared_ptr<DebugDraw3DScopeConfig::Data> &p_parent,
const unregister_func p_unreg);