diff --git a/src/experimental/_impl/_lsystem2_impl.scad b/src/experimental/_impl/_lsystem2_impl.scad index 1262029d..6fb0dcaf 100644 --- a/src/experimental/_impl/_lsystem2_impl.scad +++ b/src/experimental/_impl/_lsystem2_impl.scad @@ -20,7 +20,8 @@ function _next_t2(t, code, angle, leng) = is_undef(code) || code == "[" || code == "]" ? t : code == "F" || code == "f" ? turtle2d("forward", t, leng) : code == "+" ? turtle2d("turn", t, angle) : - code == "-" ? turtle2d("turn", t, -angle) : t; + code == "-" ? turtle2d("turn", t, -angle) : + code == "|" ? turtle2d("turn", t, 180) : t; // It doesn't use recursion to avoid recursion error. function _lines(t, codes, angle, leng) = diff --git a/src/experimental/_impl/_lsystem3_impl.scad b/src/experimental/_impl/_lsystem3_impl.scad index a0a2c03a..d5d5c080 100644 --- a/src/experimental/_impl/_lsystem3_impl.scad +++ b/src/experimental/_impl/_lsystem3_impl.scad @@ -20,7 +20,8 @@ function _next_t2(t, code, angle, leng) = is_undef(code) || code == "[" || code == "]" ? t : code == "F" || code == "f" ? turtle3d("xu_move", t, leng) : code == "+" ? turtle3d("zu_turn", t, angle) : - code == "-" ? turtle3d("zu_turn", t, -angle) : t; + code == "-" ? turtle3d("zu_turn", t, -angle) : + code == "|" ? turtle2d("zu_turn", t, 180) : t; // It doesn't use recursion to avoid recursion error. function _lines(t, codes, angle, leng) = diff --git a/src/experimental/lsystem2.scad b/src/experimental/lsystem2.scad index 924b3ac6..37265ab0 100644 --- a/src/experimental/lsystem2.scad +++ b/src/experimental/lsystem2.scad @@ -7,6 +7,7 @@ use ; f Move forward without drawing a line + Turn left - Turn right + | Reverse direction (ie: turn by 180 degrees) [ Push current turtle state onto stack ] Pop current turtle state from the stack