com.vividsolutions.jts.noding.snapround
Class SimpleSnapRounder
java.lang.Object
com.vividsolutions.jts.noding.snapround.SimpleSnapRounder
- Noder
public class SimpleSnapRounder
extends java.lang.Object
Uses Snap Rounding to compute a rounded,
fully noded arrangement from a set of
SegmentString
s.
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 simple iteration over the line segments.
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.
addSnappedNode
public static boolean addSnappedNode(HotPixel hotPix,
SegmentString segStr,
int segIndex)
Adds a new node (equal to the snap pt) to the segment
if the segment passes through the hot pixel
hotPix
- segStr
- segIndex
-
computeNodes
public void computeNodes(Collection inputSegmentStrings)
- computeNodes in interface Noder
computeVertexSnaps
public void computeVertexSnaps(Collection edges)
Computes nodes introduced as a result of
snapping segments to vertices of other segments