brepkit_geometry/error.rs
1//! Error types for brepkit-geometry.
2
3/// Errors produced by geometry algorithms.
4#[derive(Debug, thiserror::Error)]
5pub enum GeomError {
6 /// Propagated error from brepkit-math.
7 #[error(transparent)]
8 Math(#[from] brepkit_math::MathError),
9 /// Input geometry is degenerate (e.g. zero-length curve, collapsed surface).
10 #[error("degenerate input: {0}")]
11 DegenerateInput(String),
12 /// Iterative solver did not converge within the allotted iterations.
13 #[error("convergence failure after {iterations} iterations")]
14 ConvergenceFailure {
15 /// Number of iterations attempted before giving up.
16 iterations: usize,
17 },
18 /// A collection required to be non-empty was empty.
19 #[error("empty input")]
20 EmptyInput,
21}