use brep_gizmos::datum::{datum_axis, datum_frame, datum_plane, PLANE_COLOR};
use brep_gizmos::{raster, GizmoCamera, Overlay, Vec3};
fn main() {
let out = std::env::args().nth(1).unwrap_or_else(|| "datum_demo.png".into());
let (w, h) = (720u32, 540u32);
let eye = Vec3::new(9.0, -12.0, 9.0);
let view_proj = raster::test_view_proj([eye.x, eye.y, eye.z], [0.5, 0.0, 1.0], w as f32, h as f32);
let camera = GizmoCamera {
view_proj,
eye,
forward: Vec3::new(-9.0, 12.0, -9.0).normalized(),
up: Vec3::Z,
viewport: [w as f32, h as f32],
orthographic: true,
};
let mut overlay = Overlay::new();
overlay.extend(&datum_plane(Vec3::ZERO, Vec3::X, Vec3::Y, 7.0, PLANE_COLOR));
overlay.extend(&datum_frame(
Vec3::ZERO,
Vec3::X,
Vec3::Y,
Vec3::Z,
70.0,
&camera,
));
overlay.extend(&datum_axis(
Vec3::new(4.0, 3.0, 0.0),
Vec3::Z,
5.5,
[1.0, 0.62, 0.20, 1.0],
));
let png = raster::render_overlay_png(&overlay, &camera, w, h);
std::fs::write(&out, png).expect("write png");
eprintln!("wrote {out} ({} tris, {} line verts)", overlay.tris.len(), overlay.lines.len());
}