// TODO remove/rename this file
/* Example usage:
for (i=mirror4XY(midpoint=[0,0,0], offsetX=90, offsetY=90)) {
    translate(v=i)
        something();
}
*/
function mirror4XY(midpoint, offsetX, offsetY)  =
    [[midpoint[0]+offsetX, midpoint[1]+offsetY, midpoint[2]],
        [midpoint[0]-offsetX, midpoint[1]+offsetY, midpoint[2]],
        [midpoint[0]-offsetX, midpoint[1]-offsetY, midpoint[2]],
        [midpoint[0]+offsetX, midpoint[1]-offsetY, midpoint[2]]];


module align(a,b) {

    echo("a", a);
    echo("b", b);
    rot_axis = cross(a,b);

    if (rot_axis == 0) {
        error("Can't align - provided vectors are parallel");
    }

    echo("rot_axis", rot_axis);

    angle = acos(a*b/(norm(a)*norm(b)));
    echo("angle", angle)

    rotate(v=rot_axis, a=angle)
        children(0);
}