| Copyright | (C) Frank Staals |
|---|---|
| License | see the LICENSE file |
| Maintainer | Frank Staals |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Geometry.RangeTree
Contents
Description
Synopsis
- type RangeTree d = RT d d
- newtype RT i d v p r = RangeTree {
- _unRangeTree :: RangeTree (Assoc i d v p r) (Leaf i d v p r) r
- newtype Leaf i d v p r = Leaf {}
- type family AssocT i d v p r where ...
- newtype Assoc i d v p r = Assoc {}
- type RTMeasure v d p r = (LabeledMeasure v, Semigroup (v (Point d r :+ p)))
- createRangeTree' :: (Ord r, RTMeasure v d p r) => [Point d r :+ p] -> Maybe (RT i d v p r)
- createRangeTree :: (Ord r, RTMeasure v d p r) => NonEmpty (Point d r :+ p) -> RT i d v p r
- toAscList :: RT i d v p r -> [Point d r :+ p]
- createRangeTree1 :: (Ord r, RTMeasure v d p r, 1 <= d, Arity d) => NonEmpty (Point d r :+ p) -> RT 1 d v p r
- createRangeTree2 :: forall v d r p. (Ord r, RTMeasure v d p r, Arity d, 2 <= d, 1 <= d) => NonEmpty (Point d r :+ p) -> RT 2 d v p r
- search :: (Ord r, Monoid (v (Point d r :+ p)), Query i d) => Vector d (Range r) -> RT i d v p r -> v (Point d r :+ p)
- class (i <= d, Arity d) => Query i d where
Documentation
Constructors
| RangeTree | |
Fields
| |
newtype Leaf i d v p r Source #
Instances
| RTMeasure v d p r => Measured (Assoc 1 d v p r) (Leaf 1 d v p r) Source # | |
Defined in Data.Geometry.RangeTree | |
| (RTMeasure v d p r, Ord r, 1 <= d, Arity d) => Measured (Assoc 2 d v p r) (Leaf 2 d v p r) Source # | |
Defined in Data.Geometry.RangeTree | |
| (Eq r, Eq p, Arity d) => Eq (Leaf i d v p r) Source # | |
| (Show r, Show p, Arity d) => Show (Leaf i d v p r) Source # | |
| Semigroup (Leaf i d v p r) Source # | |
| Monoid (Leaf i d v p r) Source # | |
newtype Assoc i d v p r Source #
Instances
| Eq (AssocT i d v p r) => Eq (Assoc i d v p r) Source # | |
| Show (AssocT i d v p r) => Show (Assoc i d v p r) Source # | |
| RTMeasure v d p r => Semigroup (Assoc 1 d v p r) Source # | |
| (RTMeasure v d p r, Ord r, 1 <= d, Arity d) => Semigroup (Assoc 2 d v p r) Source # | |
| (RTMeasure v d p r, Ord r, 1 <= d, Arity d) => Monoid (Assoc 2 d v p r) Source # | |
| RTMeasure v d p r => Measured (Assoc 1 d v p r) (Leaf 1 d v p r) Source # | |
Defined in Data.Geometry.RangeTree | |
| (RTMeasure v d p r, Ord r, 1 <= d, Arity d) => Measured (Assoc 2 d v p r) (Leaf 2 d v p r) Source # | |
Defined in Data.Geometry.RangeTree | |
createRangeTree1 :: (Ord r, RTMeasure v d p r, 1 <= d, Arity d) => NonEmpty (Point d r :+ p) -> RT 1 d v p r Source #
createRangeTree2 :: forall v d r p. (Ord r, RTMeasure v d p r, Arity d, 2 <= d, 1 <= d) => NonEmpty (Point d r :+ p) -> RT 2 d v p r Source #
Querying
search :: (Ord r, Monoid (v (Point d r :+ p)), Query i d) => Vector d (Range r) -> RT i d v p r -> v (Point d r :+ p) Source #