Class EdgeRing

    • Field Detail

      • maxNodeDegree

        private int maxNodeDegree
      • edges

        private java.util.List edges
      • pts

        private java.util.List pts
      • label

        private Label label
      • isHole

        private boolean isHole
      • holes

        private java.util.ArrayList holes
    • Method Detail

      • isIsolated

        public boolean isIsolated()
      • isHole

        public boolean isHole()
      • getCoordinate

        public Coordinate getCoordinate​(int i)
      • getLinearRing

        public LinearRing getLinearRing()
      • getLabel

        public Label getLabel()
      • isShell

        public boolean isShell()
      • setShell

        public void setShell​(EdgeRing shell)
      • addHole

        public void addHole​(EdgeRing ring)
      • computeRing

        public void computeRing()
        Compute a LinearRing from the point list previously collected. Test if the ring is a hole (i.e. if it is CCW) and set the hole flag accordingly.
      • getEdges

        public java.util.List getEdges()
        Returns the list of DirectedEdges that make up this EdgeRing
      • computePoints

        protected void computePoints​(DirectedEdge start)
        Collect all the points from the DirectedEdges of this ring into a contiguous list
      • getMaxNodeDegree

        public int getMaxNodeDegree()
      • computeMaxNodeDegree

        private void computeMaxNodeDegree()
      • setInResult

        public void setInResult()
      • mergeLabel

        protected void mergeLabel​(Label deLabel)
      • mergeLabel

        protected void mergeLabel​(Label deLabel,
                                  int geomIndex)
        Merge the RHS label from a DirectedEdge into the label for this EdgeRing. The DirectedEdge label may be null. This is acceptable - it results from a node which is NOT an intersection node between the Geometries (e.g. the end node of a LinearRing). In this case the DirectedEdge label does not contribute any information to the overall labelling, and is simply skipped.
      • addPoints

        protected void addPoints​(Edge edge,
                                 boolean isForward,
                                 boolean isFirstEdge)
      • containsPoint

        public boolean containsPoint​(Coordinate p)
        This method will cause the ring to be computed. It will also check any holes, if they have been assigned.