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

Safe HaskellNone




type VertexID = Int Source

Rotating Right - rotate clockwise

data Triangulation p r Source

Neighbours are stored in clockwise order: i.e. rotating right moves to the next clockwise neighbour.


(Eq p, Eq r) => Eq (Triangulation p r) Source 
(Show p, Show r) => Show (Triangulation p r) Source 

vertexIds :: forall p r. Lens' (Triangulation p r) (Map (Point 2 r) VertexID) Source

positions :: forall p r p. Lens (Triangulation p r) (Triangulation p r) (Vector ((:+) (Point 2 r) p)) (Vector ((:+) (Point 2 r) p)) Source

type Mapping p r = (Map (Point 2 r) VertexID, Vector (Point 2 r :+ p)) Source

showDT :: (Show p, Show r) => Triangulation p r -> IO () Source

data ST a b c Source




fst' :: !a
snd' :: !b
trd' :: !c

type ST' a = ST (Map (VertexID, VertexID) ArcID) ArcID a Source

ST' is a strict triple (m,a,x) containing:

  • m: a Map, mapping edges, represented by a pair of vertexId's (u,v) with u < v, to arcId's.
  • a: the next available unused arcID
  • x: the data value we are interested in computing

toPlaneGraph :: forall proxy s p r. proxy s -> Triangulation p r -> PlaneGraph s Primal_ p () () r Source