From a99be216538310deedaf35229d60e6bb7eabcf27 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sun, 25 Apr 2021 11:10:09 +0200 Subject: [PATCH] clearing in gBinaryTiling --- complex.cpp | 35 +++++++++++++---------------------- landlock.cpp | 2 +- 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/complex.cpp b/complex.cpp index 01a9f44b..1fd4448d 100644 --- a/complex.cpp +++ b/complex.cpp @@ -835,35 +835,29 @@ EX namespace clearing { } int plantdir(cell *c) { - if(!quotient) { - currentmap->generateAlts(c->master); - for(int i=0; igenerateAlts(c->master->move(i)); - } + if(have_alt(c)) + gen_alt_around(c); int d = celldistAlt(c); if(PURE) { - for(int i=0; itype; } } - for(int i=1; imove(i); + + forCellIdCM(c2, i, c) if(!pseudohept(c2)) { if(celldistAlt(c2) == d) { bool useful = false; for(int j=1; jtype; return i; } printf("error in plantdir\n"); @@ -894,10 +888,6 @@ EX namespace clearing { vector rpath; EX void generate(cell *c) { - if(sphere) return; - if(NONSTDVAR) return; - if(quotient) return; - if(euclid) { if(quotient) return; // fix cylinder if(pseudohept(c)) return; @@ -917,10 +907,11 @@ EX namespace clearing { return; } + if(!eubinary && !horo_ok()) return; // cell *oc = c; - if(!euclid) currentmap->generateAlts(c->master); + gen_alt(c); if(pseudohept(c)) return; - heptagon *a = euclid ? NULL : c->master->alt->alt; + heptagon *a = eubinary ? NULL : c->master->alt->alt; clearingdata& bd(bpdata[a]); if(!bd.root) { bd.root = c; bd.dist = 8; bd.buggy = false; } if(bd.buggy) return; diff --git a/landlock.cpp b/landlock.cpp index 151a0a13..c0616ab3 100644 --- a/landlock.cpp +++ b/landlock.cpp @@ -965,7 +965,7 @@ EX land_validity_t& land_validity(eLand l) { return not_in_chaos; if(l == laClearing) - if(!(stdeucx || a38 || (a45 && BITRUNCATED) || (a47 && BITRUNCATED)) || NONSTDVAR) + if(!(stdeucx || geometry == gBinaryTiling || a38 || (a45 && BITRUNCATED) || (a47 && BITRUNCATED)) || NONSTDVAR) if(!bounded) return not_implemented;