runmat_geometry_ops/
stats.rs1use 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}