use thiserror::Error;
pub type Result<T> = std::result::Result<T, Error>;
#[derive(Error, Debug)]
pub enum Error {
#[error("Triangulation failed: {0}")]
TriangulationError(String),
#[error("Invalid profile: {0}")]
InvalidProfile(String),
#[error("Invalid extrusion parameters: {0}")]
InvalidExtrusion(String),
#[error("Empty mesh: {0}")]
EmptyMesh(String),
#[error("Geometry processing error: {0}")]
GeometryError(String),
#[error("Core parser error: {0}")]
CoreError(#[from] ifc_lite_core::Error),
}
impl Error {
pub fn geometry(msg: impl Into<String>) -> Self {
Self::GeometryError(msg.into())
}
}