summaryrefslogtreecommitdiff
path: root/app/c++/ico_bar.hpp
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2026-11-02 21:22:23 +0100
committerClaudius "keldu" Holeksa <mail@keldu.de>2026-11-02 21:22:23 +0100
commit5ca778dba2fa6fa89fbea0fe76a3d1fbba6bc143 (patch)
tree2324178fbb9cc6c562d1953cc1135aa9373b588a /app/c++/ico_bar.hpp
parent5c8c822546039e7422a0dcb0841adbcbc9fb4d60 (diff)
downloadsims-icosahedrical_destruction-5ca778dba2fa6fa89fbea0fe76a3d1fbba6bc143.tar.gz
Restructure
Diffstat (limited to 'app/c++/ico_bar.hpp')
-rw-r--r--app/c++/ico_bar.hpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/app/c++/ico_bar.hpp b/app/c++/ico_bar.hpp
new file mode 100644
index 0000000..780e28e
--- /dev/null
+++ b/app/c++/ico_bar.hpp
@@ -0,0 +1,37 @@
+#pragma once
+
+#include "ico.hpp"
+
+namespace kel {
+
+template<uint64_t SubD = 0u>
+class ico_coordinate {
+private:
+ static constexpr uint64_t sub_divs_ = impl::power_two<SubD>::value;
+
+ uint64_t t_;
+ uint64_t x_;
+ uint64_t y_;
+public:
+ ico_coordinate(uint64_t t__, uint64_t x__, uint64_t y__):
+ t_{t__},
+ x_{x__},
+ y_{y__}
+ {}
+
+ bool is_on_border() const {
+ auto comb = x_+y_;
+
+ bool farside_b = (comb == sub_divs_);
+ bool right_b = (y_ == 0u);
+ bool left_b = (x_ == 0u);
+
+ return farside_b or right_b or left_b;
+ }
+
+ ico_coordinate<SubD> move_x_pos() const {
+ uint64_t x_mov = x_ + 1u;
+
+ }
+};
+}