honeycomb_kernels/grisubal/routines/
mod.rs

1//! Module short description
2//!
3//! Should you interact with this module directly?
4//!
5//! Content description if needed
6
7mod clip;
8mod compute_intersecs;
9mod compute_new_edges;
10mod insert_intersecs;
11mod insert_new_edges;
12mod pre_processing;
13mod process_intersecs_data;
14
15// step 0
16pub(crate) use pre_processing::*;
17
18// step 1
19pub(crate) use compute_intersecs::*;
20
21// step 2
22pub(crate) use process_intersecs_data::*;
23
24// step 3
25pub(crate) use insert_intersecs::*;
26
27// step 4
28pub(crate) use compute_new_edges::*;
29
30// step 5
31pub(crate) use insert_new_edges::*;
32
33// optional clipping routines
34pub(crate) use clip::{clip_left, clip_right};
35
36use std::collections::HashMap;
37
38use honeycomb_core::cmap::{DartIdType, EdgeIdType};
39
40use crate::grisubal::model::GeometryVertex;
41
42pub type Segments = HashMap<GeometryVertex, GeometryVertex>;
43
44pub type IntersectionsPerEdge<T> = HashMap<EdgeIdType, Vec<(usize, T, DartIdType)>>;
45
46pub type DartSlices = Vec<Vec<DartIdType>>;