From 97ca275b70c16de8791a930886d5aa5945af92c2 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sat, 18 Apr 2026 19:02:03 +0200 Subject: [PATCH] backed-map:: access as a method --- arbitrile.cpp | 2 ++ archimedean.cpp | 2 ++ cell.cpp | 2 ++ 3 files changed, 6 insertions(+) diff --git a/arbitrile.cpp b/arbitrile.cpp index bc5974b0..060a34b6 100644 --- a/arbitrile.cpp +++ b/arbitrile.cpp @@ -1529,6 +1529,8 @@ struct hrmap_arbi : hrmap { heptagon *origin; heptagon *getOrigin() override { return origin; } + backed_map* get_backmap() override { return &bm; } + hrmap_arbi() { dynamicval curmap(currentmap, this); origin = init_heptagon(current.shapes[0].size()); diff --git a/archimedean.cpp b/archimedean.cpp index 5e4e1088..d5c8b9b7 100644 --- a/archimedean.cpp +++ b/archimedean.cpp @@ -577,6 +577,8 @@ struct hrmap_archimedean : hrmap { heptagon *origin; heptagon *getOrigin() override { return origin; } + backed_map* get_backmap() override { return &bm; } + hrmap_archimedean() { dynamicval curmap(currentmap, this); int id = DUAL ? current.N * 2 : 0;; diff --git a/cell.cpp b/cell.cpp index 6158e94a..ec72d0cc 100644 --- a/cell.cpp +++ b/cell.cpp @@ -97,6 +97,8 @@ public: /** this takes a large closed manifold M that is a quotient of this, and returns a unique identifier of the cell corresponding to M * returns PATTERN_INVALID if not implemented or impossible */ virtual int pattern_value(cell *c) { return PATTERN_INVALID; } + + virtual struct backed_map* get_backmap() { return nullptr; } }; /** hrmaps which are based on regular non-Euclidean 2D tilings, possibly quotient