com.vividsolutions.jts.noding.snapround

Class MCIndexSnapRounder

Implemented Interfaces:
Noder

public class MCIndexSnapRounder
extends java.lang.Object
implements Noder

Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of SegmentStrings. Implements the Snap Rounding technique described in Hobby, Guibas & Marimont, and Goodrich et al. Snap Rounding assumes that all vertices lie on a uniform grid (hence the precision model of the input must be fixed precision, and all the input vertices must be rounded to that precision).

This implementation uses a monotone chains and a spatial index to speed up the intersection tests.

This implementation appears to be fully robust using an integer precision model. It will function with non-integer precision models, but the results are not 100% guaranteed to be correctly noded.

Version:
1.7

Constructor Summary

MCIndexSnapRounder(PrecisionModel pm)

Method Summary

void
computeNodes(Collection inputSegmentStrings)
void
computeVertexSnaps(Collection edges)
Computes nodes introduced as a result of snapping segments to vertices of other segments
Collection
getNodedSubstrings()

Constructor Details

MCIndexSnapRounder

public MCIndexSnapRounder(PrecisionModel pm)

Method Details

computeNodes

public void computeNodes(Collection inputSegmentStrings)
Specified by:
computeNodes in interface Noder

computeVertexSnaps

public void computeVertexSnaps(Collection edges)
Computes nodes introduced as a result of snapping segments to vertices of other segments
Parameters:

getNodedSubstrings

public Collection getNodedSubstrings()
Specified by:
getNodedSubstrings in interface Noder