115 module transform_all()
118 gt = [
for (i = [0:ac-1]) b[i] * lp[i] ];
129 ac = is_list(b) ? len(b) : undef;
134 "Bounds must have two or three dimensions."
137 c0 = [
for (i = [0:ac-1]) 0];
161 transform_all() children(cs);
163 !transform_all() children(cs);
165 #transform_all() children(cs);
167 %transform_all() children(cs);
171 log_info(
strl([
"t = ", t,
", s = ", cs,
", b = ", b,
", mode = ", mode]));
174 echo(mm=mm, lp=lp, cm=cm, cr=cr, lt=lt);
258 module transform_all()
261 rc_z = (ac == 2) ? 0 : [0:rc.z-1];
262 rg_z = (ac == 2) ? 0 : rg.z;
265 gt = [
for (i = [0:ac-1]) b[i] * lp[i] ];
268 co = [
for (i = [0:ac-1]) (rg[i] * (rc[i]-1))/2 * (lc[i] ==
true ? 1 : 0) ];
278 for (i = [0:rc.x-1], j = [0:rc.y-1], k = rc_z)
279 translate( [rg.x * i, rg.y * j, rg_z * k] )
290 ac = is_list(b) ? len(b) : undef;
295 "Bounds must have two or three dimensions."
298 c0 = [
for (i = [0:ac-1]) 0];
299 c1 = [
for (i = [0:ac-1]) 1];
300 cf = is_list( center ) ? center
301 : [
for (i = [0:ac-1]) center];
333 transform_all() children(cs);
335 !transform_all() children(cs);
337 #transform_all() children(cs);
339 %transform_all() children(cs);
343 log_info(
strl([
"t = ", t,
", s = ", cs,
", b = ", b,
", center = ", center,
", mode = ", mode]));
346 echo(mm=mm, lp=lp, lr=lr, cm=cm, cr=cr, lt=lt, rc=rc, rg=rg, lc=lc);
module log_info(m)
Output information message to console.
zero3d
<decimal-list-2> A 3d zero vector (a list with three zeros).
function defined_e_or(v, i, d)
Returns an element from an iterable if it exists, or a default value if not.
function list_get_value(l, i, dv, s, de, di=0)
Return the value of an indexed list element with output defaults and list composition.
function strl(v)
Convert a list of values to a concatenated string.
function defined_or(v, d)
Return given value, if defined, or a secondary value, if primary is not defined.