Another project
1pub mod aabb;
2pub mod arc2;
3pub mod circle2;
4pub mod closest;
5pub mod curvature;
6pub mod curve2;
7pub mod intersect;
8pub mod line2;
9
10pub use aabb::Aabb2;
11pub use arc2::{Arc2, arc_bounding_box};
12pub use circle2::Circle2;
13pub use closest::ClosestPoint2;
14pub use curvature::Curvature;
15pub use curve2::{Curve2, Curve2Kind};
16pub use intersect::{IntersectionSet, intersect_curves};
17pub use line2::Line2;
18
19#[derive(Debug, thiserror::Error)]
20pub enum KernelError {
21 #[error("line endpoints coincide within tolerance")]
22 DegenerateLine,
23 #[error("arc sweep is within tolerance of zero or exceeds 2π")]
24 DegenerateArc,
25 #[error("circle radius is within tolerance of zero")]
26 DegenerateCircle,
27}
28
29pub type Result<T, E = KernelError> = core::result::Result<T, E>;