Class MCIndexSnapRounder

Hierarchy: Object , MCIndexSnapRounder
All Implemented Interfaces: Noder
public class MCIndexSnapRounder
implements Noder
Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of SegmentStrings. Implements the Snap Rounding technique described in papers by 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.

Other

  • version: 1.7
public MCIndexSnapRounder(PrecisionModel pm)
public Collection getNodedSubstrings()
public void computeNodes(Collection inputSegmentStrings)
public void computeVertexSnaps(Collection edges)
Snaps segments to all vertices.
Parameters:
edges - edges the list of segment strings to snap together