Class SegmentIterator


  • public class SegmentIterator
    extends java.lang.Object
    This class provides functionality to iterate over MultiPath segments. Example:
    
     SegmentIterator iterator = polygon.querySegmentIterator();
     while (iterator.nextPath()) {
       while (iterator.hasNextSegment()) {
         Segment segment = iterator.nextSegment();
       }
     }
     
    • Constructor Summary

      Constructors 
      Constructor Description
      SegmentIterator​(java.lang.Object obj)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.Object _getImpl()  
      java.lang.Object copy()
      Copies this SegmentIterator.
      int getEndPointIndex()
      Returns the index of the end point of the current segment.
      int getPathIndex()
      Returns the index of the current path.
      int getStartPointIndex()
      Returns the index of the start point of this segment.
      boolean hasNextSegment()
      Indicates whether a next segment exists for the path.
      boolean hasPreviousSegment()
      Indicates whether a previous segment exists in the path.
      boolean isClosingSegment()
      Returns TRUE, if the segment is the closing segment of the closed path
      boolean isFirstSegmentInPath()
      Indicates whether the iterator points to the first segment in the current path.
      boolean isLastSegmentInPath()
      Indicates whether the iterator points to the last segment in the current path.
      boolean nextPath()
      Moves the iterator to the next path.
      Segment nextSegment()
      Moves the iterator to the next segment and returns the segment.
      boolean previousPath()
      Moves the iterator to the previous path.
      Segment previousSegment()
      Moves the iterator to previous segment and returns the segment.
      void resetToFirstPath()
      Resets the iterator such that a subsequent call to NextPath will set the iterator to the first path.
      void resetToFirstSegment()
      Resets the iterator so that the call to NextSegment will return the first segment of the current path.
      void resetToLastPath()
      Resets the iterator such that a subsequent call to PreviousPath will set the iterator to the last path.
      void resetToLastSegment()
      Resets the iterator so that the call to PreviousSegment will return the last segment of the current path.
      void resetToPath​(int pathIndex)
      Resets the iterator such that a subsequent call to NextPath will set the iterator to the given path index.
      void resetToVertex​(int vertexIndex, int pathIndex)
      Resets the iterator to a specific vertex.
      void setCirculator​(boolean bYesNo)
      Switches the iterator to navigation mode.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SegmentIterator

        SegmentIterator​(java.lang.Object obj)
    • Method Detail

      • nextPath

        public boolean nextPath()
        Moves the iterator to the next path. Returns the TRUE if successful.
        Returns:
        TRUE if the next path exists.
      • previousPath

        public boolean previousPath()
        Moves the iterator to the previous path. Returns the TRUE if successful.
        Returns:
        TRUE if the previous path exists.
      • resetToFirstPath

        public void resetToFirstPath()
        Resets the iterator such that a subsequent call to NextPath will set the iterator to the first path.
      • resetToLastPath

        public void resetToLastPath()
        Resets the iterator such that a subsequent call to PreviousPath will set the iterator to the last path.
      • resetToPath

        public void resetToPath​(int pathIndex)
        Resets the iterator such that a subsequent call to NextPath will set the iterator to the given path index. A call to PreviousPath will set the iterator to the path at pathIndex - 1.
      • isFirstSegmentInPath

        public boolean isFirstSegmentInPath()
        Indicates whether the iterator points to the first segment in the current path.
        Returns:
        TRUE if the iterator points to the first segment in the current path.
      • isLastSegmentInPath

        public boolean isLastSegmentInPath()
        Indicates whether the iterator points to the last segment in the current path.
        Returns:
        TRUE if the iterator points to the last segment in the current path.
      • resetToFirstSegment

        public void resetToFirstSegment()
        Resets the iterator so that the call to NextSegment will return the first segment of the current path.
      • resetToLastSegment

        public void resetToLastSegment()
        Resets the iterator so that the call to PreviousSegment will return the last segment of the current path.
      • resetToVertex

        public void resetToVertex​(int vertexIndex,
                                  int pathIndex)
        Resets the iterator to a specific vertex. The call to next_segment will return the segment that starts at the vertex. Call to previous_segment will return the segment that starts at the previous vertex.
        Parameters:
        vertexIndex - The vertex index to reset the iterator to.
        pathIndex - The path index to reset the iterator to. Used as a hint. If the path_index is wrong or -1, then the path_index is automatically calculated.
      • hasNextSegment

        public boolean hasNextSegment()
        Indicates whether a next segment exists for the path.
        Returns:
        TRUE is the next segment exists.
      • hasPreviousSegment

        public boolean hasPreviousSegment()
        Indicates whether a previous segment exists in the path.
        Returns:
        TRUE if the previous segment exists.
      • nextSegment

        public Segment nextSegment()
        Moves the iterator to the next segment and returns the segment. The Segment is returned by value and is owned by the iterator.
      • previousSegment

        public Segment previousSegment()
        Moves the iterator to previous segment and returns the segment. The Segment is returned by value and is owned by the iterator.
      • getPathIndex

        public int getPathIndex()
        Returns the index of the current path.
      • getStartPointIndex

        public int getStartPointIndex()
        Returns the index of the start point of this segment.
      • getEndPointIndex

        public int getEndPointIndex()
        Returns the index of the end point of the current segment.
      • isClosingSegment

        public boolean isClosingSegment()
        Returns TRUE, if the segment is the closing segment of the closed path
      • setCirculator

        public void setCirculator​(boolean bYesNo)
        Switches the iterator to navigation mode.
        Parameters:
        bYesNo - If TRUE, the iterator loops over the current path infinitely (unless the multipath is empty).
      • copy

        public java.lang.Object copy()
        Copies this SegmentIterator.
        Returns:
        SegmentIterator.
      • _getImpl

        protected java.lang.Object _getImpl()