## com.vividsolutions.jts.noding
Class IteratedNoder

    java.lang.Object
      com.vividsolutions.jts.noding.IteratedNoder

All Implemented Interfaces:
  Noder

public class IteratedNoder
extends java.lang.Object
implements Noder

Nodes a set of SegmentStrings completely. The set of segmentStrings is fully noded; i.e. noding is repeated until no further intersections are detected.

Iterated noding using a FLOATING precision model is not guaranteed to converge, due to roundoff error. This problem is detected and an exception is thrown. Clients can choose to rerun the noding using a lower precision model.

Version:
  1.7

Field Summary
`static int` `MAX_ITER`

Constructor Summary
`IteratedNoder(PrecisionModel pm)`

Method Summary
`void` `computeNodes(java.util.Collection segStrings)` Fully nodes a list of `SegmentStrings`, i.e.
`java.util.Collection` `getNodedSubstrings()` Returns a `Collection` of fully noded `SegmentStrings`.
`void` `setMaximumIterations(int maxIter)` Sets the maximum number of noding iterations performed before the noding is aborted.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### MAX_ITER

    public static final int MAX_ITER

See Also:
  Constant Field Values

Constructor Detail

### IteratedNoder

    public IteratedNoder(PrecisionModel pm)

Method Detail

### setMaximumIterations

    public void setMaximumIterations(int maxIter)

  Sets the maximum number of noding iterations performed before the noding is aborted. Experience suggests that this should rarely need to be changed from the default. The default is MAX_ITER.

  Parameters:
    `maxIter` - the maximum number of iterations to perform

### getNodedSubstrings

    public java.util.Collection getNodedSubstrings()

  Description copied from interface: `Noder`
  Returns a `Collection` of fully noded `SegmentStrings`. The SegmentStrings have the same context as their parent.

  Specified by:
    `getNodedSubstrings` in interface `Noder`
  Returns:
    a Collection of SegmentStrings

### computeNodes

    public void computeNodes(java.util.Collection segStrings)
                      throws TopologyException

  Fully nodes a list of `SegmentStrings`, i.e. peforms noding iteratively until no intersections are found between segments. Maintains labelling of edges correctly through the noding.

  Specified by:
    `computeNodes` in interface `Noder`
  Parameters:
    `segStrings` - a collection of SegmentStrings to be noded
  Returns:
    a collection of the noded SegmentStrings
  Throws:
    `TopologyException` - if the iterated noding fails to converge.