Class DirectedEdgeStar


  • public class DirectedEdgeStar
    extends EdgeEndStar
    A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node. It supports labelling the edges as well as linking the edges to form both MaximalEdgeRings and MinimalEdgeRings.
    Version:
    1.7
    • Constructor Detail

      • DirectedEdgeStar

        public DirectedEdgeStar()
    • Method Detail

      • insert

        public void insert​(EdgeEnd ee)
        Insert a directed edge in the list
        Specified by:
        insert in class EdgeEndStar
      • getLabel

        public Label getLabel()
      • getOutgoingDegree

        public int getOutgoingDegree()
      • getOutgoingDegree

        public int getOutgoingDegree​(EdgeRing er)
      • computeLabelling

        public void computeLabelling​(GeometryGraph[] geom)
        Compute the labelling for all dirEdges in this star, as well as the overall labelling
        Overrides:
        computeLabelling in class EdgeEndStar
      • mergeSymLabels

        public void mergeSymLabels()
        For each dirEdge in the star, merge the label from the sym dirEdge into the label
      • updateLabelling

        public void updateLabelling​(Label nodeLabel)
        Update incomplete dirEdge labels from the labelling for the node
      • linkResultDirectedEdges

        public void linkResultDirectedEdges()
        Traverse the star of DirectedEdges, linking the included edges together. To link two dirEdges, the next pointer for an incoming dirEdge is set to the next outgoing edge.

        DirEdges are only linked if:

        • they belong to an area (i.e. they have sides)
        • they are marked as being in the result

        Edges are linked in CCW order (the order they are stored). This means that rings have their face on the Right (in other words, the topological location of the face is given by the RHS label of the DirectedEdge)

        PRECONDITION: No pair of dirEdges are both marked as being in the result

      • linkMinimalDirectedEdges

        public void linkMinimalDirectedEdges​(EdgeRing er)
      • linkAllDirectedEdges

        public void linkAllDirectedEdges()
      • findCoveredLineEdges

        public void findCoveredLineEdges()
        Traverse the star of edges, maintaining the current location in the result area at this node (if any). If any L edges are found in the interior of the result, mark them as covered.
      • computeDepths

        public void computeDepths​(DirectedEdge de)
      • print

        public void print​(java.io.PrintStream out)
        Overrides:
        print in class EdgeEndStar