hgeometry-0.10.0.0: Geometric Algorithms, Data structures, and Data types.

Algorithms.Geometry.WellSeparatedPairDecomposition.Types

Contents

Description

Data types that can represent a well separated pair decomposition (wspd).

Synopsis

# Documentation

type SplitTree d p r a = BinLeafTree (NodeData d r a) (Point d r :+ p) Source #

type PointSet d p r a = SplitTree d p r a Source #

type WSP d p r a = (PointSet d p r a, PointSet d p r a) Source #

data NodeData d r a Source #

Data that we store in the split tree

Constructors

 NodeData Fields_splitDim :: !Int _bBox :: !(Box d () r) _nodeData :: !a
Instances
 Semigroup v => Measured v (NodeData d r v) Source # Instance details Methodsmeasure :: NodeData d r v -> v # Functor (NodeData d r) Source # Instance details Methodsfmap :: (a -> b) -> NodeData d r a -> NodeData d r b #(<\$) :: a -> NodeData d r b -> NodeData d r a # Foldable (NodeData d r) Source # Instance details Methodsfold :: Monoid m => NodeData d r m -> m #foldMap :: Monoid m => (a -> m) -> NodeData d r a -> m #foldr :: (a -> b -> b) -> b -> NodeData d r a -> b #foldr' :: (a -> b -> b) -> b -> NodeData d r a -> b #foldl :: (b -> a -> b) -> b -> NodeData d r a -> b #foldl' :: (b -> a -> b) -> b -> NodeData d r a -> b #foldr1 :: (a -> a -> a) -> NodeData d r a -> a #foldl1 :: (a -> a -> a) -> NodeData d r a -> a #toList :: NodeData d r a -> [a] #null :: NodeData d r a -> Bool #length :: NodeData d r a -> Int #elem :: Eq a => a -> NodeData d r a -> Bool #maximum :: Ord a => NodeData d r a -> a #minimum :: Ord a => NodeData d r a -> a #sum :: Num a => NodeData d r a -> a #product :: Num a => NodeData d r a -> a # Traversable (NodeData d r) Source # Instance details Methodstraverse :: Applicative f => (a -> f b) -> NodeData d r a -> f (NodeData d r b) #sequenceA :: Applicative f => NodeData d r (f a) -> f (NodeData d r a) #mapM :: Monad m => (a -> m b) -> NodeData d r a -> m (NodeData d r b) #sequence :: Monad m => NodeData d r (m a) -> m (NodeData d r a) # (Arity d, Eq r, Eq a) => Eq (NodeData d r a) Source # Instance details Methods(==) :: NodeData d r a -> NodeData d r a -> Bool #(/=) :: NodeData d r a -> NodeData d r a -> Bool # (Arity d, Show r, Show a) => Show (NodeData d r a) Source # Instance details MethodsshowsPrec :: Int -> NodeData d r a -> ShowS #show :: NodeData d r a -> String #showList :: [NodeData d r a] -> ShowS #

splitDim :: forall d r a. Lens' (NodeData d r a) Int Source #

nodeData :: forall d r a a. Lens (NodeData d r a) (NodeData d r a) a a Source #

bBox :: forall d r a d r. Lens (NodeData d r a) (NodeData d r a) (Box d () r) (Box d () r) Source #

# Implementation types

type PointSeq d p r = LSeq 1 (Point d r :+ p) Source #

data Level Source #

Constructors

 Level Fields_unLevel :: Int _widestDim :: Maybe Int
Instances
 Source # Instance details Methods(==) :: Level -> Level -> Bool #(/=) :: Level -> Level -> Bool # Source # Instance details Methods(<) :: Level -> Level -> Bool #(<=) :: Level -> Level -> Bool #(>) :: Level -> Level -> Bool #(>=) :: Level -> Level -> Bool #max :: Level -> Level -> Level #min :: Level -> Level -> Level # Source # Instance details MethodsshowsPrec :: Int -> Level -> ShowS #show :: Level -> String #showList :: [Level] -> ShowS #

type Idx = Int Source #

data ShortSide Source #

Constructors

 L R
Instances
 Source # Instance details Methods Source # Instance details MethodsshowList :: [ShortSide] -> ShowS #

data FindAndCompact d r p Source #

Constructors

 FAC Fields_leftPart :: !(Seq (Point d r :+ p)) _rightPart :: !(Seq (Point d r :+ p)) _shortSide :: !ShortSide
Instances
 (Arity d, Eq r, Eq p) => Eq (FindAndCompact d r p) Source # Instance details Methods(==) :: FindAndCompact d r p -> FindAndCompact d r p -> Bool #(/=) :: FindAndCompact d r p -> FindAndCompact d r p -> Bool # (Arity d, Show r, Show p) => Show (FindAndCompact d r p) Source # Instance details MethodsshowsPrec :: Int -> FindAndCompact d r p -> ShowS #show :: FindAndCompact d r p -> String #showList :: [FindAndCompact d r p] -> ShowS #

shortSide :: forall d r p. Lens' (FindAndCompact d r p) ShortSide Source #

rightPart :: forall d r p. Lens' (FindAndCompact d r p) (Seq ((:+) (Point d r) p)) Source #

leftPart :: forall d r p. Lens' (FindAndCompact d r p) (Seq ((:+) (Point d r) p)) Source #