Debug Draw 3D 1.7.1
Draw 3D debug graphics and 2D overlays with this add-on.
Loading...
Searching...
No Matches
stats_3d.h
1#pragma once
2
3#include "utils/compiler.h"
4#include "utils/native_api_hooks.h"
5
6GODOT_WARNING_DISABLE()
7#include <godot_cpp/classes/ref_counted.hpp>
8GODOT_WARNING_RESTORE()
9using namespace godot;
10
25NAPI_CLASS_REF class DebugDraw3DStats : public RefCounted {
26 GDCLASS(DebugDraw3DStats, RefCounted)
27
28protected:
30 static void _bind_methods();
31
32private:
33 int64_t instances = 0;
34 int64_t lines = 0;
35 int64_t instances_physics = 0;
36 int64_t lines_physics = 0;
37 int64_t total_geometry = 0;
38
39 int64_t visible_instances = 0;
40 int64_t visible_lines = 0;
41 int64_t total_visible = 0;
42
43 int64_t time_filling_buffers_instances_usec = 0;
44 int64_t time_filling_buffers_lines_usec = 0;
45 int64_t time_filling_buffers_instances_physics_usec = 0;
46 int64_t time_filling_buffers_lines_physics_usec = 0;
47 int64_t total_time_filling_buffers_usec = 0;
48
49 int64_t time_culling_instances_usec = 0;
50 int64_t time_culling_lines_usec = 0;
51 int64_t total_time_culling_usec = 0;
52
53 int64_t total_time_spent_usec = 0;
54
55 int64_t created_scoped_configs = 0;
56 int64_t orphan_scoped_configs = 0;
57
58 int64_t nodes_label3d_visible = 0;
59 int64_t nodes_label3d_visible_physics = 0;
60 int64_t nodes_label3d_exists = 0;
61 int64_t nodes_label3d_exists_physics = 0;
62 int64_t nodes_label3d_exists_total = 0;
63
64public:
65 NAPI int64_t get_instances() const { return instances; }
67 NAPI void set_instances(int64_t val) {}
68 NAPI int64_t get_lines() const { return lines; }
70 NAPI void set_lines(int64_t val) {}
71 NAPI int64_t get_instances_physics() const { return instances_physics; }
73 NAPI void set_instances_physics(int64_t val) {}
74 NAPI int64_t get_lines_physics() const { return lines_physics; }
76 NAPI void set_lines_physics(int64_t val) {}
77 NAPI int64_t get_total_geometry() const { return total_geometry; }
79 NAPI void set_total_geometry(int64_t val) {}
80
81 NAPI int64_t get_visible_instances() const { return visible_instances; }
83 NAPI void set_visible_instances(int64_t val) {}
84 NAPI int64_t get_visible_lines() const { return visible_lines; }
86 NAPI void set_visible_lines(int64_t val) {}
87 NAPI int64_t get_total_visible() const { return total_visible; }
89 NAPI void set_total_visible(int64_t val) {}
90
91 NAPI int64_t get_time_filling_buffers_instances_usec() const { return time_filling_buffers_instances_usec; }
93 NAPI void set_time_filling_buffers_instances_usec(int64_t val) {}
94 NAPI int64_t get_time_filling_buffers_lines_usec() const { return time_filling_buffers_lines_usec; }
96 NAPI void set_time_filling_buffers_lines_usec(int64_t val) {}
97 NAPI int64_t get_time_filling_buffers_instances_physics_usec() const { return time_filling_buffers_instances_physics_usec; }
99 NAPI void set_time_filling_buffers_instances_physics_usec(int64_t val) {}
100 NAPI int64_t get_time_filling_buffers_lines_physics_usec() const { return time_filling_buffers_lines_physics_usec; }
102 NAPI void set_time_filling_buffers_lines_physics_usec(int64_t val) {}
103 NAPI int64_t get_total_time_filling_buffers_usec() const { return total_time_filling_buffers_usec; }
105 NAPI void set_total_time_filling_buffers_usec(int64_t val) {}
106
107 NAPI int64_t get_time_culling_instances_usec() const { return time_culling_instances_usec; }
109 NAPI void set_time_culling_instances_usec(int64_t val) {}
110 NAPI int64_t get_time_culling_lines_usec() const { return time_culling_lines_usec; }
112 NAPI void set_time_culling_lines_usec(int64_t val) {}
113 NAPI int64_t get_total_time_culling_usec() const { return total_time_culling_usec; }
115 NAPI void set_total_time_culling_usec(int64_t val) {}
116
117 NAPI int64_t get_total_time_spent_usec() const { return total_time_spent_usec; }
119 NAPI void set_total_time_spent_usec(int64_t val) {}
120
121 NAPI int64_t get_created_scoped_configs() const { return created_scoped_configs; }
123 NAPI void set_created_scoped_configs(int64_t val) {}
124 NAPI int64_t get_orphan_scoped_configs() const { return orphan_scoped_configs; }
126 NAPI void set_orphan_scoped_configs(int64_t val) {}
127
128 NAPI int64_t get_nodes_label3d_visible() const { return nodes_label3d_visible; }
130 NAPI void set_nodes_label3d_visible(int64_t val) {}
131 NAPI int64_t get_nodes_label3d_visible_physics() const { return nodes_label3d_visible_physics; }
133 NAPI void set_nodes_label3d_visible_physics(int64_t val) {}
134 NAPI int64_t get_nodes_label3d_exists() const { return nodes_label3d_exists; }
136 NAPI void set_nodes_label3d_exists(int64_t val) {}
137 NAPI int64_t get_nodes_label3d_exists_physics() const { return nodes_label3d_exists_physics; }
139 NAPI void set_nodes_label3d_exists_physics(int64_t val) {}
140 NAPI int64_t get_nodes_label3d_exists_total() const { return nodes_label3d_exists_total; }
142 NAPI void set_nodes_label3d_exists_total(int64_t val) {}
143
144#undef DEFINE_DEFAULT_PROP
145
146 DebugDraw3DStats() {}
147
149 void set_nodes_stats(
150 const int64_t &p_nodes_label3d_visible,
151 const int64_t &p_nodes_label3d_visible_physics,
152 const int64_t &p_nodes_label3d_exists,
153 const int64_t &p_nodes_label3d_exists_physics);
154
156 void set_scoped_config_stats(
157 const int64_t &p_created_scoped_configs,
158 const int64_t &p_orphan_scoped_configs);
159
161 void set_render_stats(
162 const int64_t &p_instances,
163 const int64_t &p_lines,
164 const int64_t &p_visible_instances,
165 const int64_t &p_visible_lines,
166
167 const int64_t &p_instances_physics,
168 const int64_t &p_lines_physics,
169
170 const int64_t &p_time_filling_buffers_instances_usec,
171 const int64_t &p_time_filling_buffers_lines_usec,
172 const int64_t &p_time_culling_instances_usec,
173 const int64_t &p_time_culling_lines_usec);
174
176 void combine_with(const Ref<DebugDraw3DStats> p_other);
177};