···99pub mod curvature;
1010pub mod curve2;
1111pub mod curve3;
1212+pub mod cylinder_surface;
1213pub mod intersect;
1314pub mod intersect3;
1415pub mod line2;
1516pub mod line3;
1717+pub mod mesh;
1818+pub mod plane_surface;
1619pub mod polyline3;
2020+pub mod surface3;
17211822pub use aabb::Aabb2;
1923pub use arc2::{Arc2, arc_bounding_box};
···2428pub use curvature::Curvature;
2529pub use curve2::{Curve2, Curve2Kind};
2630pub use curve3::{Curve3, Curve3Kind};
3131+pub use cylinder_surface::CylinderSurface;
2732pub use intersect::{IntersectionSet, IntersectionSet2, intersect_curves};
2833pub use intersect3::{IntersectionSet3, intersect_curves_3};
2934pub use line2::Line2;
3035pub use line3::Line3;
3636+pub use mesh::{MeshVertex, TriMesh};
3737+pub use plane_surface::PlaneSurface;
3138pub use polyline3::Polyline3;
3939+pub use surface3::Surface3;
32403341#[derive(Debug, thiserror::Error)]
3442pub enum KernelError {
···4048 DegenerateCircle,
4149 #[error("polyline needs at least two vertices and no zero-length segment")]
4250 DegeneratePolyline,
5151+ #[error("plane surface extent is within tolerance of zero")]
5252+ DegeneratePlane,
5353+ #[error("cylinder surface radius, height, or sweep is degenerate")]
5454+ DegenerateCylinder,
4355}
44564557pub type Result<T, E = KernelError> = core::result::Result<T, E>;