Debug Draw 3D 1.7.2
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.hpp>
8#include <godot_cpp/classes/ref_counted.hpp>
9GODOT_WARNING_RESTORE()
10using namespace godot;
11
26NAPI_CLASS_REF class DebugDraw3DStats : public RefCounted {
27 GDCLASS(DebugDraw3DStats, RefCounted)
28
29protected:
31 static void _bind_methods();
32
33private:
34 int64_t instances = 0;
35 int64_t lines = 0;
36 int64_t instances_physics = 0;
37 int64_t lines_physics = 0;
38 int64_t total_geometry = 0;
39
40 int64_t visible_instances = 0;
41 int64_t visible_lines = 0;
42 int64_t total_visible = 0;
43
44 int64_t time_filling_buffers_instances_usec = 0;
45 int64_t time_filling_buffers_lines_usec = 0;
46 int64_t time_filling_buffers_instances_physics_usec = 0;
47 int64_t time_filling_buffers_lines_physics_usec = 0;
48 int64_t total_time_filling_buffers_usec = 0;
49
50 int64_t time_culling_instances_usec = 0;
51 int64_t time_culling_lines_usec = 0;
52 int64_t total_time_culling_usec = 0;
53
54 int64_t total_time_spent_usec = 0;
55
56 int64_t created_scoped_configs = 0;
57 int64_t orphan_scoped_configs = 0;
58
59 int64_t nodes_label3d_visible = 0;
60 int64_t nodes_label3d_visible_physics = 0;
61 int64_t nodes_label3d_exists = 0;
62 int64_t nodes_label3d_exists_physics = 0;
63 int64_t nodes_label3d_exists_total = 0;
64
65public:
66 NAPI int64_t get_instances() const { return instances; }
68 NAPI void set_instances(int64_t val) {}
69 NAPI int64_t get_lines() const { return lines; }
71 NAPI void set_lines(int64_t val) {}
72 NAPI int64_t get_instances_physics() const { return instances_physics; }
74 NAPI void set_instances_physics(int64_t val) {}
75 NAPI int64_t get_lines_physics() const { return lines_physics; }
77 NAPI void set_lines_physics(int64_t val) {}
78 NAPI int64_t get_total_geometry() const { return total_geometry; }
80 NAPI void set_total_geometry(int64_t val) {}
81
82 NAPI int64_t get_visible_instances() const { return visible_instances; }
84 NAPI void set_visible_instances(int64_t val) {}
85 NAPI int64_t get_visible_lines() const { return visible_lines; }
87 NAPI void set_visible_lines(int64_t val) {}
88 NAPI int64_t get_total_visible() const { return total_visible; }
90 NAPI void set_total_visible(int64_t val) {}
91
92 NAPI int64_t get_time_filling_buffers_instances_usec() const { return time_filling_buffers_instances_usec; }
94 NAPI void set_time_filling_buffers_instances_usec(int64_t val) {}
95 NAPI int64_t get_time_filling_buffers_lines_usec() const { return time_filling_buffers_lines_usec; }
97 NAPI void set_time_filling_buffers_lines_usec(int64_t val) {}
98 NAPI int64_t get_time_filling_buffers_instances_physics_usec() const { return time_filling_buffers_instances_physics_usec; }
100 NAPI void set_time_filling_buffers_instances_physics_usec(int64_t val) {}
101 NAPI int64_t get_time_filling_buffers_lines_physics_usec() const { return time_filling_buffers_lines_physics_usec; }
103 NAPI void set_time_filling_buffers_lines_physics_usec(int64_t val) {}
104 NAPI int64_t get_total_time_filling_buffers_usec() const { return total_time_filling_buffers_usec; }
106 NAPI void set_total_time_filling_buffers_usec(int64_t val) {}
107
108 NAPI int64_t get_time_culling_instances_usec() const { return time_culling_instances_usec; }
110 NAPI void set_time_culling_instances_usec(int64_t val) {}
111 NAPI int64_t get_time_culling_lines_usec() const { return time_culling_lines_usec; }
113 NAPI void set_time_culling_lines_usec(int64_t val) {}
114 NAPI int64_t get_total_time_culling_usec() const { return total_time_culling_usec; }
116 NAPI void set_total_time_culling_usec(int64_t val) {}
117
118 NAPI int64_t get_total_time_spent_usec() const { return total_time_spent_usec; }
120 NAPI void set_total_time_spent_usec(int64_t val) {}
121
122 NAPI int64_t get_created_scoped_configs() const { return created_scoped_configs; }
124 NAPI void set_created_scoped_configs(int64_t val) {}
125 NAPI int64_t get_orphan_scoped_configs() const { return orphan_scoped_configs; }
127 NAPI void set_orphan_scoped_configs(int64_t val) {}
128
129 NAPI int64_t get_nodes_label3d_visible() const { return nodes_label3d_visible; }
131 NAPI void set_nodes_label3d_visible(int64_t val) {}
132 NAPI int64_t get_nodes_label3d_visible_physics() const { return nodes_label3d_visible_physics; }
134 NAPI void set_nodes_label3d_visible_physics(int64_t val) {}
135 NAPI int64_t get_nodes_label3d_exists() const { return nodes_label3d_exists; }
137 NAPI void set_nodes_label3d_exists(int64_t val) {}
138 NAPI int64_t get_nodes_label3d_exists_physics() const { return nodes_label3d_exists_physics; }
140 NAPI void set_nodes_label3d_exists_physics(int64_t val) {}
141 NAPI int64_t get_nodes_label3d_exists_total() const { return nodes_label3d_exists_total; }
143 NAPI void set_nodes_label3d_exists_total(int64_t val) {}
144
145#undef DEFINE_DEFAULT_PROP
146
147 DebugDraw3DStats() {}
148
150 void set_nodes_stats(
151 const int64_t &p_nodes_label3d_visible,
152 const int64_t &p_nodes_label3d_visible_physics,
153 const int64_t &p_nodes_label3d_exists,
154 const int64_t &p_nodes_label3d_exists_physics);
155
157 void set_scoped_config_stats(
158 const int64_t &p_created_scoped_configs,
159 const int64_t &p_orphan_scoped_configs);
160
162 void set_render_stats(
163 const int64_t &p_instances,
164 const int64_t &p_lines,
165 const int64_t &p_visible_instances,
166 const int64_t &p_visible_lines,
167
168 const int64_t &p_instances_physics,
169 const int64_t &p_lines_physics,
170
171 const int64_t &p_time_filling_buffers_instances_usec,
172 const int64_t &p_time_filling_buffers_lines_usec,
173 const int64_t &p_time_culling_instances_usec,
174 const int64_t &p_time_culling_lines_usec);
175
177 void combine_with(const Ref<DebugDraw3DStats> p_other);
178};