···11pub mod aabb;
22+mod angles;
23pub mod arc2;
44+pub mod arc3;
35pub mod circle2;
66+pub mod circle3;
77+mod circular3;
48pub mod closest;
59pub mod curvature;
610pub mod curve2;
1111+pub mod curve3;
712pub mod intersect;
1313+pub mod intersect3;
814pub mod line2;
1515+pub mod line3;
1616+pub mod polyline3;
9171018pub use aabb::Aabb2;
1119pub use arc2::{Arc2, arc_bounding_box};
2020+pub use arc3::Arc3;
1221pub use circle2::Circle2;
1313-pub use closest::ClosestPoint2;
2222+pub use circle3::Circle3;
2323+pub use closest::{ClosestPoint, ClosestPoint2, ClosestPoint3};
1424pub use curvature::Curvature;
1525pub use curve2::{Curve2, Curve2Kind};
1616-pub use intersect::{IntersectionSet, intersect_curves};
2626+pub use curve3::{Curve3, Curve3Kind};
2727+pub use intersect::{IntersectionSet, IntersectionSet2, intersect_curves};
2828+pub use intersect3::{IntersectionSet3, intersect_curves_3};
1729pub use line2::Line2;
3030+pub use line3::Line3;
3131+pub use polyline3::Polyline3;
18321933#[derive(Debug, thiserror::Error)]
2034pub enum KernelError {
···2438 DegenerateArc,
2539 #[error("circle radius is within tolerance of zero")]
2640 DegenerateCircle,
4141+ #[error("polyline needs at least two vertices and no zero-length segment")]
4242+ DegeneratePolyline,
2743}
28442945pub type Result<T, E = KernelError> = core::result::Result<T, E>;