Skip to main content

runmat_geometry_ops/
stats.rs

1use runmat_geometry_core::GeometryAsset;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
5pub struct GeometryStats {
6    pub mesh_count: usize,
7    pub total_vertices: u64,
8    pub total_elements: u64,
9    pub region_count: usize,
10}
11
12pub fn compute_stats(asset: &GeometryAsset) -> GeometryStats {
13    GeometryStats {
14        mesh_count: asset.meshes.len(),
15        total_vertices: asset.meshes.iter().map(|mesh| mesh.vertex_count).sum(),
16        total_elements: asset.meshes.iter().map(|mesh| mesh.element_count).sum(),
17        region_count: asset.regions.len(),
18    }
19}