use super::dto::RoughDto;
use glam::DVec3;
use indicatrix_cut_core::rough_plan::{RoughBase, import_hull};
pub(super) fn base_from_hull(dto: &RoughDto) -> Result<RoughBase, String> {
let corners: Vec<DVec3> = dto.hull.iter().map(|&c| DVec3::from_array(c)).collect();
import_hull(&corners).map_err(|e| format!("rough.hull: {e}"))
}
pub(super) fn write_hull(dto: &mut RoughDto, base: &RoughBase) -> bool {
let Some(corners) = base.hull_corners() else {
return false;
};
"hull".clone_into(&mut dto.base);
dto.hull = corners;
true
}