Pangolin
Header-only C++20 plane computational geometry library
Loading...
Searching...
No Matches
File List
Here is a list of all files with brief descriptions:
 doc
 
doxygen
 include
 algorithm
 
arrangement.hpp
Planar subdivision induced by a set of one-dimensional shapes
 
bitmatrix.hpp
One bit per cell over a fixed rectangular window of the integer grid
 
closestpair.hpp
Closest pair of points by divide and conquer
 
convexhull.hpp
Convex hull algorithms built from Pangolin point predicates
 
graph.hpp
Simple undirected graph with hashable vertices
 
intersections.hpp
Segment intersection and crossing algorithms
 
intervaltree.hpp
Mutable one-dimensional interval tree over projected bounded shapes
 
mindisk.hpp
Smallest enclosing disk algorithms
 
polyominoes.hpp
Enumeration of polyominoes as Pangolin polygons
 
redbluesweep.hpp
Bichromatic (red-blue) boundary contact by one combined plane sweep
 
shapetree.hpp
Static 2D shape tree over any bounded shape (one exposing bbox())
 
sortpoints.hpp
Angular sorting of points around a center
 
triangulation.hpp
Mutable triangulation of a point set or simple polygon
 
xysweep.hpp
Bounding-box sweep over pairs of segments
 core
 
bigint.hpp
Arbitrary precision signed integers, optimized for small values
 
forward.hpp
Forward declarations for core numeric and geometry types
 
handle.hpp
Strongly typed index handles shared by the topological data structures
 
hash.hpp
Hash support for Pangolin value types
 
numeric.hpp
Numeric concepts and helpers shared by exact geometry operations
 
rational.hpp
Exact rational number type used when geometric results need fractions
 
transformation.hpp
Public declaration of pgl::Transformation, an affine transformation
 implementation
 
atxy.hpp
Coordinate-evaluation helpers for linear primitives
 
booleans.hpp
Regularized boolean operations on closed polygonal regions
 
boundarycontains.hpp
Implementations of the 'boundaryContains' predicate
 
bounding.hpp
Bounding-box and rectangle-boundary operations
 
closest.hpp
Witnesses for squaredDistance: which elements realize it, and where
 
contains.hpp
Implementations of the 'contains' predicate
 
crosses.hpp
Implementations of the 'crosses' predicate
 
distance.hpp
Distance and Hausdorff-style measurements between shapes
 
distancel1.hpp
Manhattan (L1) distance between shapes
 
distancelinf.hpp
Chebyshev (LInf) distance between shapes
 
duality.hpp
Projective duality and polar-transform helpers
 
interiorcontains.hpp
Implementations of the 'interiorContains' predicate
 
interiorsintersect.hpp
Implementations of the 'interiorsIntersect' predicate
 
intersection.hpp
Implementations of the 'intersection' predicate
 
intersects.hpp
Implementations of the 'intersects' predicate
 
io.hpp
Stream output helpers for Pangolin value types
 
lattice.hpp
Enumeration of the integer grid points a shape contains
 
measures.hpp
Geometric measurements and canonical representative-point helpers
 
minkowski.hpp
Minkowski sums of two shapes, and the operator+ that spells them
 
minkowskierosion.hpp
Minkowski erosions: the set of translations of one shape that keep it inside another
 
minkowskisum.hpp
Minkowski sums whose result is not a single convex shape: one region when the substantive case is connected and regular, several only when thin or slit geometry can genuinely separate it, and one polygon for the receiver whose monotonicity rules holes out
 
orientation.hpp
Exact low-level orientation and incircle predicates
 
predicates.hpp
Method definitions for the shapes
 
predicates_helpers.hpp
Small dispatch traits and geometry helpers reused by the implementations
 
samepointset.hpp
Exact equality of the point sets represented by arbitrary shapes
 
separates.hpp
Implementations of the 'separates' predicate
 
transformations.hpp
Arithmetic transformations and explicit conversions between primitives
 
visibilitygraph.hpp
Visibility graphs by triangular expansion
 shape
 
convex.hpp
 
disk.hpp
Declaration of pgl::Disk
 
emptyshape.hpp
Public declaration of pgl::EmptyShape
 
halfplane.hpp
Public declaration of pgl::Halfplane
 
halfplaneintersection.hpp
Public declaration of pgl::HalfplaneIntersection
 
line.hpp
Public declaration of pgl::Line
 
monotonechain.hpp
 
orientedline.hpp
Public declaration of pgl::OrientedLine
 
orientedsegment.hpp
Public declaration of pgl::OrientedSegment
 
point.hpp
Public declaration of pgl::Point and point-label helpers
 
polygon.hpp
 
polygonset.hpp
 
polygonwithholes.hpp
 
polyline.hpp
 
ray.hpp
Public declaration of pgl::Ray
 
rectangle.hpp
Public declaration of pgl::Rectangle
 
segment.hpp
Public declaration of pgl::Segment
 
shape.hpp
Runtime variant wrapper over the currently implemented shape types
 
triangle.hpp
Public declaration of pgl::Triangle
 third_party
 
pdfgen.hpp
Trimmed header-only C++ port of PDFGen for Pangolin canvas export
 visualization
 
canvas.hpp
Lightweight SVG canvas for drawing Pangolin shapes
 
pgl.hpp
Convenience umbrella header for the PGL library