use super::*;
const IMPORT_IDENTITY_TOLERANCE: f64 = 1e-7;
struct SolidBuilder<'a> {
resolver: &'a Resolver<'a>,
next_id: u64,
vertices: Vec<VertexRecord>,
edges: Vec<EdgeRecord>,
vertex_of_ref: HashMap<usize, u64>,
edge_of_ref: HashMap<usize, u64>,
edge_of_vertex_pair: HashMap<(u64, u64), u64>,
vertex_index: HashMap<u64, usize>,
edge_index: HashMap<u64, usize>,
curve_ref_of_edge: HashMap<u64, usize>,
supplied_report: SuppliedReport,
readings: Option<readings::TrimCapture>,
}
#[derive(Default, Clone, Debug)]
pub(super) struct SuppliedReport {
pub(super) offered: usize,
pub(super) used: usize,
pub(super) declined_residual: usize,
pub(super) declined_endpoints: usize,
pub(super) declined_failed: usize,
pub(super) declined_curve_on_carrier: usize,
pub(super) worst_supplied_vs_curve: f64,
pub(super) worst_declined_residual: f64,
pub(super) declined_band: f64,
}
struct PendingFace {
face_ref: usize,
surface: NurbsSurface,
surface_ref: usize,
same_sense: bool,
bounds: Vec<(Vec<(u64, bool)>, bool)>,
}
mod collect;
pub(in crate::step_import) mod readings;
mod supplied_fit;
mod seams;
pub(in crate::step_import) mod planar_split;
mod rims;
mod loops;
mod solids;
pub(super) use solids::*;