diff --git a/src/m_scaling.scad b/src/m_scaling.scad index fb61f9a4..0c4dfd74 100644 --- a/src/m_scaling.scad +++ b/src/m_scaling.scad @@ -8,15 +8,18 @@ * **/ -function _to_svect(s) = - len(s) == 3 ? s : ( - len(s) == 2 ? [s[0], s[1], 1] : ( - len(s) == 1 ? [s[0], 1, 1] : [s, s, s] - ) +include <__private__/__is_float.scad>; + +function _to_3_elems_scaling_vect(s) = + let(leng = len(s)) + leng == 3 ? s : ( + leng == 2 ? [s[0], s[1], 1] : [s[0], 1, 1] ); +function _to_scaling_vect(s) = __is_float(s) ? [s, s, s] : _to_3_elems_scaling_vect(s); + function m_scaling(s) = - let(v = _to_svect(s)) + let(v = _to_scaling_vect(s)) [ [v[0], 0, 0, 0], [0, v[1], 0, 0],