mod clip;
mod compute_intersecs;
mod compute_new_edges;
mod insert_intersecs;
mod insert_new_edges;
mod pre_processing;
mod process_intersecs_data;
pub(crate) use pre_processing::*;
pub(crate) use compute_intersecs::*;
pub(crate) use process_intersecs_data::*;
pub(crate) use insert_intersecs::*;
pub(crate) use compute_new_edges::*;
pub(crate) use insert_new_edges::*;
pub(crate) use clip::{clip_left, clip_right};
use honeycomb_core::cmap::{DartIdType, EdgeIdType};
use rustc_hash::FxHashMap as HashMap;
use crate::grisubal::model::GeometryVertex;
pub type Segments = HashMap<GeometryVertex, GeometryVertex>;
pub type IntersectionsPerEdge<T> = HashMap<EdgeIdType, Vec<(usize, T, DartIdType)>>;
pub type DartSlices = Vec<Vec<DartIdType>>;