Skip to main content

threecrate_simplification/
lib.rs

1//! Mesh simplification and decimation algorithms
2//! 
3//! This crate provides algorithms for reducing mesh complexity while
4//! preserving important geometric features:
5//! - Quadric error decimation
6//! - Edge collapse algorithms
7//! - Clustering-based simplification
8
9pub mod quadric_error;
10pub mod edge_collapse;
11pub mod clustering;
12pub mod progressive;
13
14pub use quadric_error::*;
15pub use edge_collapse::*;
16pub use clustering::*;
17pub use progressive::*;
18
19use threecrate_core::{TriangleMesh, Result};
20
21/// Simplify a mesh by reducing the number of faces/vertices
22pub trait MeshSimplifier {
23    /// Simplify mesh with target reduction ratio (0.0 = no reduction, 1.0 = maximum reduction)
24    fn simplify(&self, mesh: &TriangleMesh, reduction_ratio: f32) -> Result<TriangleMesh>;
25}