Copyright | (C) Frank Staals |
---|---|
License | see the LICENSE file |
Maintainer | Frank Staals |
Safe Haskell | None |
Language | Haskell2010 |
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
RangeTree | |
|
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 #