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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//! # clipper2-rust
//!
//! A pure Rust port of the [Clipper2](https://github.com/AngusJohnson/Clipper2) polygon
//! clipping and offsetting library by Angus Johnson.
//!
//! ## Features
//!
//! - **Boolean operations**: Intersection, Union, Difference, and XOR on polygons
//! - **Polygon offsetting**: Inflate/deflate with Miter, Square, Bevel, and Round joins
//! - **Rectangle clipping**: High-performance rectangular clipping
//! - **Minkowski sum/difference**: Geometric Minkowski operations
//! - **Path simplification**: Ramer-Douglas-Peucker and Clipper2's simplification
//! - **PolyTree**: Hierarchical parent/child/hole polygon representation
//! - **Dual precision**: Integer (`i64`) and floating-point (`f64`) coordinate support
//!
//! ## Quick Start
//!
//! ```rust
//! use clipper2_rust::core::FillRule;
//!
//! let subject = vec![clipper2_rust::make_path64(&[100, 100, 300, 100, 300, 300, 100, 300])];
//! let clip = vec![clipper2_rust::make_path64(&[200, 200, 400, 200, 400, 400, 200, 400])];
//!
//! let result = clipper2_rust::intersect_64(&subject, &clip, FillRule::NonZero);
//! ```
//!
//! ## Coordinate Systems
//!
//! - [`Path64`] / [`Paths64`]: Integer coordinates (`i64`) — recommended for precision
//! - [`PathD`] / [`PathsD`]: Floating-point coordinates (`f64`) — convenient for external data
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;