Copyright | (C) Frank Staals |
---|---|
License | see the LICENSE file |
Maintainer | Frank Staals |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- data Split i v p
- _Yes :: forall i v p i v. Prism (Split i v p) (Split i v p) (v, Quadrants i) (v, Quadrants i)
- _No :: forall i v p p. Prism (Split i v p) (Split i v p) p p
- type Splitter r i v p = Cell r -> i -> Split i v p
- type Limiter r i v p = Splitter r i v p -> Splitter r i v (Either i p)
- limitWidthTo :: WidthIndex -> Limiter r i v p
Documentation
Data Type to Decide if we should continue splitting the current cell
Instances
(Eq p, Eq v, Eq i) => Eq (Split i v p) Source # | |
(Ord p, Ord v, Ord i) => Ord (Split i v p) Source # | |
Defined in Data.Geometry.QuadTree.Split | |
(Show p, Show v, Show i) => Show (Split i v p) Source # | |
_Yes :: forall i v p i v. Prism (Split i v p) (Split i v p) (v, Quadrants i) (v, Quadrants i) Source #
type Splitter r i v p = Cell r -> i -> Split i v p Source #
A splitter is a function that determines weather or not we should the given cell corresponding to the given input (i).
type Limiter r i v p = Splitter r i v p -> Splitter r i v (Either i p) Source #
Transformer that limits the depth of a splitter
:: WidthIndex | smallest allowed width of a cell (i.e. width of a leaf) |
-> Limiter r i v p |
Split only when the Cell-width is at least wMin