1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
mod segment;
mod sweep;
use segment::{Link, Segment, Chain};
pub use sweep::Sweep;
mod chains;
pub use chains::monotone_chains;
mod ops;
pub use ops::MonoPoly;
use geo::{kernels::Orientation, winding_order::WindingOrder};
fn winding_order_from_orientation(ori: Orientation) -> Option<WindingOrder> {
match ori {
Orientation::CounterClockwise => Some(WindingOrder::CounterClockwise),
Orientation::Clockwise => Some(WindingOrder::Clockwise),
_ => None,
}
}
#[allow(dead_code)]
fn winding_order_as_orientation(winding: &WindingOrder) -> Orientation {
match winding {
WindingOrder::Clockwise => Orientation::Clockwise,
WindingOrder::CounterClockwise => Orientation::CounterClockwise,
}
}
fn winding_inverse(winding: WindingOrder) -> WindingOrder {
match winding {
WindingOrder::Clockwise => WindingOrder::CounterClockwise,
WindingOrder::CounterClockwise => WindingOrder::Clockwise,
}
}