Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type VertexID = Int
- type Vertex = CList VertexID
- type Adj = IntMap (CList VertexID)
- data Triangulation p r = Triangulation {
- _vertexIds :: Map (Point 2 r) VertexID
- _positions :: Vector (Point 2 r :+ p)
- _neighbours :: Vector (CList VertexID)
- vertexIds :: forall p r. Lens' (Triangulation p r) (Map (Point 2 r) VertexID)
- positions :: forall p r p. Lens (Triangulation p r) (Triangulation p r) (Vector ((:+) (Point 2 r) p)) (Vector ((:+) (Point 2 r) p))
- neighbours :: forall p r. Lens' (Triangulation p r) (Vector (CList VertexID))
- type Mapping p r = (Map (Point 2 r) VertexID, Vector (Point 2 r :+ p))
- showDT :: (Show p, Show r) => Triangulation p r -> IO ()
- triangulationEdges :: Triangulation p r -> [(Point 2 r :+ p, Point 2 r :+ p)]
- tEdges :: Triangulation p r -> [(VertexID, VertexID)]
- drawTriangulation :: IpeOut (Triangulation p r) (IpeObject r)
- data ST a b c = ST {}
- type ArcID = Int
- type ST' a = ST (Map (VertexID, VertexID) ArcID) ArcID a
- toPlanarSubdivision :: proxy s -> Triangulation p r -> PlanarSubdivision s p () () r
- toPlaneGraph :: forall proxy s p r. proxy s -> Triangulation p r -> PlaneGraph s Primal_ p () () r
Documentation
data Triangulation p r Source #
Neighbours are stored in clockwise order: i.e. rotating right moves to the next clockwise neighbour.
Triangulation | |
|
positions :: forall p r p. Lens (Triangulation p r) (Triangulation p r) (Vector ((:+) (Point 2 r) p)) (Vector ((:+) (Point 2 r) p)) Source #
neighbours :: forall p r. Lens' (Triangulation p r) (Vector (CList VertexID)) Source #
triangulationEdges :: Triangulation p r -> [(Point 2 r :+ p, Point 2 r :+ p)] Source #
drawTriangulation :: IpeOut (Triangulation p r) (IpeObject r) Source #
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
toPlanarSubdivision :: proxy s -> Triangulation p r -> PlanarSubdivision s p () () r Source #
convert the triangulation into a planarsubdivision
running time: \(O(n\log n)\).
toPlaneGraph :: forall proxy s p r. proxy s -> Triangulation p r -> PlaneGraph s Primal_ p () () r Source #
convert the triangulation into a plane graph
running time: \(O(n\log n)\).