summaryrefslogtreecommitdiffhomepage
path: root/src/wall-atlas.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-01-09 02:59:27 +0100
committerStanislaw Halik <sthalik@misaki.pl>2024-01-09 02:59:45 +0100
commite72eb0b1d3149288d2a5291722c3ba68bb567a84 (patch)
tree5fb4c8dfb97f8f57d946b770b228ff97ac04d5cf /src/wall-atlas.hpp
parent76559b1d8c7b0f6a29c729d9c82e4c1e15d988f0 (diff)
a
Diffstat (limited to 'src/wall-atlas.hpp')
-rw-r--r--src/wall-atlas.hpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/wall-atlas.hpp b/src/wall-atlas.hpp
index e9421653..9a329a74 100644
--- a/src/wall-atlas.hpp
+++ b/src/wall-atlas.hpp
@@ -46,21 +46,28 @@ struct Direction
using memfn_ptr = Group Direction::*;
struct member_tuple { StringView name; memfn_ptr member; Group_ tag; };
- Group wall{}, side{}, top{};
+ Group wall{}, side{}, top{}, corner{};
const Group& group(Group_ i) const;
const Group& group(size_t i) const;
Group& group(Group_ i);
Group& group(size_t i);
+ bool operator==(const Direction&) const noexcept;
+
static constexpr inline member_tuple groups[] = {
{ "wall"_s, &Direction::wall, Group_::wall },
{ "side"_s, &Direction::side, Group_::side },
{ "top"_s, &Direction::top, Group_::top },
+ { "corner"_s, &Direction::corner, Group_::corner },
};
static_assert(std::size(groups) == (size_t)Group_::COUNT);
- bool operator==(const Direction&) const noexcept;
+ static constexpr inline member_tuple groups_for_draw[] = {
+ { "wall"_s, &Direction::wall, Group_::wall },
+ { "side"_s, &Direction::side, Group_::side },
+ { "top"_s, &Direction::top, Group_::top },
+ };
};
struct Info