Another project
0

Configure Feed

Select the types of activity you want to include in your feed.

1pub mod aabb; 2mod angles; 3pub mod arc2; 4pub mod arc3; 5pub mod brep; 6pub mod circle2; 7pub mod circle3; 8mod circular3; 9pub mod closest; 10pub mod curvature; 11pub mod curve2; 12pub mod curve3; 13pub mod cylinder_surface; 14pub mod extrude; 15pub mod intersect; 16pub mod intersect3; 17pub mod line2; 18pub mod line3; 19pub mod mesh; 20pub mod plane_surface; 21pub mod polyline3; 22pub mod surface3; 23 24pub use aabb::Aabb2; 25pub use arc2::{Arc2, arc_bounding_box}; 26pub use arc3::Arc3; 27pub use brep::eval::evaluate_extrude; 28pub use brep::profile::{ExtrudeProfile, ProfileEdge, ProfileLoop}; 29pub use brep::{ 30 BrepEdge, BrepError, BrepFace, BrepLoop, BrepShell, BrepSolid, BrepVertex, LabelKind, 31 ProfileDefect, TruckGap, 32}; 33pub use circle2::Circle2; 34pub use circle3::Circle3; 35pub use closest::{ClosestPoint, ClosestPoint2, ClosestPoint3}; 36pub use curvature::Curvature; 37pub use curve2::{Curve2, Curve2Kind}; 38pub use curve3::{Curve3, Curve3Kind}; 39pub use cylinder_surface::CylinderSurface; 40pub use extrude::{ 41 DraftAngle, DraftDirection, DraftMagnitude, ExtrudeDirection, ExtrudeEndCondition, 42 ExtrudeFeature, ExtrudeSense, MergeResult, PlaneRef, ThinWall, ThinWallDirection, 43}; 44pub use intersect::{IntersectionSet, IntersectionSet2, intersect_curves}; 45pub use intersect3::{IntersectionSet3, intersect_curves_3}; 46pub use line2::Line2; 47pub use line3::Line3; 48pub use mesh::{MeshVertex, TriMesh}; 49pub use plane_surface::PlaneSurface; 50pub use polyline3::Polyline3; 51pub use surface3::Surface3; 52 53#[derive(Debug, thiserror::Error)] 54pub enum KernelError { 55 #[error("line endpoints coincide within tolerance")] 56 DegenerateLine, 57 #[error("arc sweep is within tolerance of zero or exceeds 2π")] 58 DegenerateArc, 59 #[error("circle radius is within tolerance of zero")] 60 DegenerateCircle, 61 #[error("polyline needs at least two vertices and no zero-length segment")] 62 DegeneratePolyline, 63 #[error("plane surface extent is within tolerance of zero")] 64 DegeneratePlane, 65 #[error("cylinder surface radius, height, or sweep is degenerate")] 66 DegenerateCylinder, 67 #[error("draft angle must be within [0, 90) degrees: {0} deg")] 68 DraftAngleOutOfRange(f64), 69} 70 71pub type Result<T, E = KernelError> = core::result::Result<T, E>;