use crate::topology::{BrepSolid, EdgeRecord, FaceRecord};
use crate::{
boolean_operation, extrude_profile_brep, make_arc, make_line, revolve_profile_brep,
BooleanOperation, BooleanOptions, NurbsCurve, Vec3,
};
use crate::{KernelRefusal, KernelStage, OrRefuse, RefusalClass};
#[path = "fillet/analyze.rs"]
mod analyze;
#[path = "fillet/edges.rs"]
mod edges;
#[path = "fillet/tool.rs"]
mod tool;
pub use edges::{
chamfer_edge, chamfer_edge_angle, chamfer_edge_asymmetric, chamfer_edges_angle,
chamfer_edges_asymmetric, fillet_edge, fillet_edges, fillet_edges_reported, fillet_edges_reported_at_offset,
fillet_edges_variable, fillet_edges_variable_law, fillet_edges_variable_vertex_radii,
BlendSelection,
};
pub(crate) use analyze::into_face_direction;
pub(crate) use analyze::{face_grid_classes, NearestFaceSide};
pub(crate) use analyze::{face_plane_normal, neighbour_carries_ball};
use analyze::{
analyze_edge, check_blend_interference, check_loop_self_crossings, check_mixed_concavity,
check_support_extent, EdgeCross,
EdgePath,
};
use edges::heal_edge_vertex_gaps;
use tool::{
apply_tool, chamfer_angle_second_distance, chamfer_cross_section_offsets, fillet_or_chamfer,
scaffold_tag, settle_cutter_scaffold, tool_ends_to_original_extent, Lane, ToolEnds,
CUTTER_SCAFFOLD_NAME,
};
#[allow(unused_imports)] pub(crate) use edges::fillet_edge_cutter;
pub(crate) use edges::fillet_edges_variable_stops;