arb:: tilings with mirrors can now be loaded with -arb-unmirror

This commit is contained in:
Zeno Rogue 2022-10-06 14:47:48 +02:00
parent 70b5da8178
commit 8b758bded9
1 changed files with 10 additions and 1 deletions

View File

@ -1453,13 +1453,22 @@ struct hrmap_arbi : hrmap {
for(auto& p2: altmap[alt]) if(id_of(p2.first) == co.sid && same_point_may_warn(tC0(p2.second), tC0(T))) {
for(int oth=0; oth < p2.first->type; oth++) {
if(same_point_may_warn(p2.second * xsh.vertices[oth], T * xsh.vertices[co.eid])) {
int oth1 = gmod(oth+1, p2.first->type);
int eid1 = gmod(co.eid+1, p2.first->type);
if(same_point_may_warn(p2.second * xsh.vertices[oth], T * xsh.vertices[co.eid]) && same_point_may_warn(p2.second * xsh.vertices[oth1], T * xsh.vertices[eid1])) {
if(p2.first->move(oth)) {
throw hr_exception("already connected!");
}
h->c.connect(d, p2.first, oth%p2.first->type, co.mirror);
return p2.first;
}
if(same_point_may_warn(p2.second * xsh.vertices[oth], T * xsh.vertices[eid1]) && same_point_may_warn(p2.second * xsh.vertices[oth1], T * xsh.vertices[co.eid])) {
if(p2.first->move(oth)) {
throw hr_exception("already connected!");
}
h->c.connect(d, p2.first, oth%p2.first->type, co.mirror^1);
return p2.first;
}
}
}