Class EdgeEndStar

  • Direct Known Subclasses:
    DirectedEdgeStar, EdgeEndBundleStar

    public abstract class EdgeEndStar
    extends Object
    A EdgeEndStar is an ordered list of EdgeEnds around a node. They are maintained in CCW order (starting with the positive x-axis) around the node for efficient lookup and topology building.
    Version:
    1.7
    • Field Detail

      • edgeMap

        protected Map edgeMap
        A map which maintains the edges in sorted order around the node
      • edgeList

        protected List edgeList
        A list of all outgoing edges in the result, in CCW order
    • Constructor Detail

      • EdgeEndStar

        public EdgeEndStar()
    • Method Detail

      • insert

        public abstract void insert​(EdgeEnd e)
        Insert a EdgeEnd into this EdgeEndStar
        Parameters:
        e - EdgeEnd
      • insertEdgeEnd

        protected void insertEdgeEnd​(EdgeEnd e,
                                     Object obj)
        Insert an EdgeEnd into the map, and clear the edgeList cache, since the list of edges has now changed
        Parameters:
        e - EdgeEnd
        obj - Object
      • getCoordinate

        public Coordinate getCoordinate()
        Returns:
        the coordinate for the node this star is based at
      • getDegree

        public int getDegree()
      • iterator

        public Iterator iterator()
        Iterator access to the ordered list of edges is optimized by copying the map collection to a list. (This assumes that once an iterator is requested, it is likely that insertion into the map is complete).
        Returns:
        access to ordered list of edges
      • getEdges

        public List getEdges()
      • computeLabelling

        public void computeLabelling​(GeometryGraph[] geomGraph)
      • isAreaLabelsConsistent

        public boolean isAreaLabelsConsistent​(GeometryGraph geomGraph)
      • findIndex

        public int findIndex​(EdgeEnd eSearch)