runmat-geometry-ops 0.5.6

Pure geometry operations for RunMat
Documentation
use runmat_geometry_core::GeometryAsset;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct GeometryStats {
    pub mesh_count: usize,
    pub total_vertices: u64,
    pub total_elements: u64,
    pub region_count: usize,
}

pub fn compute_stats(asset: &GeometryAsset) -> GeometryStats {
    GeometryStats {
        mesh_count: asset.meshes.len(),
        total_vertices: asset.meshes.iter().map(|mesh| mesh.vertex_count).sum(),
        total_elements: asset.meshes.iter().map(|mesh| mesh.element_count).sum(),
        region_count: asset.regions.len(),
    }
}