solidrs 0.4.0

Rust library to generate openScad models. Inspired by SolidPython.
Documentation
use crate::{
    element::{Element, InnerElement},
    var::Arg,
};

#[must_use]
pub fn cube(x: impl Arg, y: impl Arg, z: impl Arg) -> Element {
    Element(InnerElement::Cube {
        x: x.val(),
        y: y.val(),
        z: z.val(),
        centered: false,
    })
}

#[must_use]
pub fn cylinder(h: impl Arg, r: impl Arg) -> Element {
    Element(InnerElement::Cylinder {
        h: h.val(),
        r: r.val(),
        centered: false,
    })
}

impl Element {
    #[must_use]
    pub fn rotate_extrude(&self, angle: impl Arg) -> Self {
        Element(InnerElement::RotateExtrude {
            angle: angle.val(),
            child: Box::new(self.0.clone()),
        })
    }
}