1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-13 18:24:28 +02:00

check vector

This commit is contained in:
Justin Lin
2019-05-15 09:29:21 +08:00
parent b3ffb9ab72
commit 5d394d8738

View File

@@ -8,6 +8,8 @@
* *
**/ **/
include <__private__/__is_vector.scad>;
function _q_rotation(a, v) = function _q_rotation(a, v) =
let( let(
half_a = a / 2, half_a = a / 2,
@@ -67,14 +69,13 @@ function _m_zRotation(a) =
]; ];
function _to_avect(a) = function _to_avect(a) =
len(a) == 3 ? a : ( let(leng = len(a))
len(a) == 2 ? [a[0], a[1], 0] : ( leng == 3 ? a : (
len(a) == 1 ? [a[0], 0, 0] : [0, 0, a] leng == 2 ? [a[0], a[1], 0] : [a[0], 0, 0]
)
); );
function _xyz_rotation(a) = function _xyz_rotation(a) =
let(ang = _to_avect(a)) let(ang = __is_vector(a) ? _to_avect(a) : [0, 0, a])
_m_zRotation(ang[2]) * _m_yRotation(ang[1]) * _m_xRotation(ang[0]); _m_zRotation(ang[2]) * _m_yRotation(ang[1]) * _m_xRotation(ang[0]);
function m_rotation(a, v) = function m_rotation(a, v) =