Skip to main content

klayout_geom/
lib.rs

1//! `klayout-geom` — geometric algorithms over `klayout-core` types.
2//!
3//! `Region` is the central abstraction: a deterministic, merged set of
4//! polygons on a single conceptual layer. Boolean ops and sizing produce
5//! `Region`s; flattening a hierarchical `(Library, CellId, LayerIndex)` into
6//! a `Region` is the bridge to verification and routing.
7
8pub mod boolean;
9pub mod convex;
10pub mod edges;
11pub mod fracture;
12pub mod path;
13pub mod region;
14pub mod select;
15pub mod simplify;
16pub mod size;
17
18pub use boolean::{difference, intersection, merge, union, xor};
19pub use convex::{convex_pieces, decompose, ear_clip, Triangle};
20pub use fracture::{fracture, Trapezoid};
21pub use edges::{Edge, Edges};
22pub use path::path_to_polygon;
23pub use region::Region;
24pub use select::{
25    inside, interacting, not_interacting, not_overlapping, outside, overlapping,
26    select_by_area, select_by_aspect_ratio, select_by_perimeter, with_text,
27};
28pub use simplify::{simplify, simplify_open, simplify_ring};
29pub use size::{size, SizeJoin};