tes:: mirror without parameter is allowed if only one edge is given

This commit is contained in:
Zeno Rogue 2022-10-07 22:23:07 +02:00
parent 35fa99460b
commit 9284cb237a
1 changed files with 8 additions and 2 deletions

View File

@ -380,7 +380,11 @@ EX void load_tile(exp_parser& ep, arbi_tiling& c, bool unit) {
if(isinf(frep)) { if(isinf(frep)) {
cc.apeirogonal = true; cc.apeirogonal = true;
set_flag(ginf[gArbitrary].flags, qIDEAL, true); set_flag(ginf[gArbitrary].flags, qIDEAL, true);
if(ep.eat(",") && ep.eat("|")) is_symmetric = true, cc.symmetric_value = ep.iparse(); if(ep.eat(",") && ep.eat("|")) {
is_symmetric = true;
if(isize(cc.in_edges) == 1 && ep.eat(")")) break;
cc.symmetric_value = ep.iparse();
}
ep.force_eat(")"); ep.force_eat(")");
break; break;
} }
@ -402,10 +406,12 @@ EX void load_tile(exp_parser& ep, arbi_tiling& c, bool unit) {
ep.skip_white(); ep.skip_white();
if(ep.eat(",")) { if(ep.eat(",")) {
ep.force_eat("|"); ep.force_eat("|");
cc.symmetric_value = ep.iparse();
is_symmetric = true; is_symmetric = true;
if(repeat_to == 1 && ep.eat(")")) goto skip;
cc.symmetric_value = ep.iparse();
} }
if(ep.eat(")")) { if(ep.eat(")")) {
skip:
if(repeat_from == 0) cc.repeat_value = rep; if(repeat_from == 0) cc.repeat_value = rep;
break; break;
} }