iOverlay
The iOverlay is a fast poly-bool library supporting main operations like union, intersection, difference, and xor, governed by either the even-odd or non-zero rule. This algorithm is based on Vatti clipping ideas but is an original implementation.
Documentation
Try out iOverlay with an interactive demo:
Features
- Operations: union, intersection, difference, and exclusion.
- Polygons: with holes, self-intersections, and multiple paths.
- Simplification: removes degenerate vertices and merges collinear edges.
- Fill Rules: even-odd and non-zero.
Getting Started
Add the following to your Cargo.toml:
[dependencies]
i_float = "^1.0.0"
i_overlay = "^1.0.0"
Hello world
Let's union two squares
let subj = ;
let clip = ;
let mut overlay = new;
overlay.add_path;
overlay.add_path;
let graph = overlay.build_graph;
let shapes = graph.extract_shapes;
println!;
if shapes.len > 0