Copyright | (C) Frank Staals |
---|---|
License | see the LICENSE file |
Maintainer | Frank Staals |
Safe Haskell | None |
Language | Haskell2010 |
Data type to represent a PlanarSubdivision
Synopsis
- module Data.Geometry.PlanarSubdivision.Basic
- fromPolygons :: (Foldable1 c, Ord r, Fractional r) => proxy s -> f -> c (Polygon t p r :+ f) -> PlanarSubdivision s p () f r
- fromPolygons' :: forall proxy c s p r f. (Foldable1 c, Ord r, Fractional r) => proxy s -> f -> c (SomePolygon p r :+ f) -> PlanarSubdivision s p () f r
- fromPolygon :: forall proxy t p f r s. (Ord r, Fractional r) => proxy s -> Polygon t p r -> f -> f -> PlanarSubdivision s p () f r
Documentation
:: (Foldable1 c, Ord r, Fractional r) | |
=> proxy s | |
-> f | outer face data |
-> c (Polygon t p r :+ f) | the disjoint polygons |
-> PlanarSubdivision s p () f r |
Constructs a planar subdivision from a collection of k disjoint polygons of total complexity O(n).
pre: The boundary of the polygons is given in counterclockwise orientation
runningtime: O(nlognlogk) in case of polygons with holes, and O(nlogk) in case of simple polygons.
:: forall proxy c s p r f. (Foldable1 c, Ord r, Fractional r) | |
=> proxy s | |
-> f | outer face data |
-> c (SomePolygon p r :+ f) | the disjoint polygons |
-> PlanarSubdivision s p () f r |
Version of fromPolygons
that accepts SomePolygon
s as input.
:: forall proxy t p f r s. (Ord r, Fractional r) | |
=> proxy s | |
-> Polygon t p r | |
-> f | data inside |
-> f | data outside the polygon |
-> PlanarSubdivision s p () f r |
Construct a planar subdivision from a polygon. Since our PlanarSubdivision models only connected planar subdivisions, this may add dummy/invisible edges.
pre: The outer boundary of the polygons is given in counterclockwise orientation
running time: O(n) for a simple polygon, O(nlogn) for a polygon with holes.