com.vividsolutions.jts.noding.snapround
public class MCIndexSnapRounder extends java.lang.Object implements Noder
SegmentString
s.
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.
Constructor and Description |
---|
MCIndexSnapRounder(PrecisionModel pm) |
Modifier and Type | Method and Description |
---|---|
void |
computeNodes(java.util.Collection inputSegmentStrings)
Computes the noding for a collection of
SegmentString s. |
void |
computeVertexSnaps(java.util.Collection edges)
Computes nodes introduced as a result of
snapping segments to vertices of other segments
|
java.util.Collection |
getNodedSubstrings()
Returns a
Collection of fully noded SegmentStrings . |
public MCIndexSnapRounder(PrecisionModel pm)
public java.util.Collection getNodedSubstrings()
Noder
Collection
of fully noded SegmentStrings
.
The SegmentStrings have the same context as their parent.getNodedSubstrings
in interface Noder
public void computeNodes(java.util.Collection inputSegmentStrings)
Noder
SegmentString
s.
Some Noders may add all these nodes to the input SegmentStrings;
others may only add some or none at all.computeNodes
in interface Noder
inputSegmentStrings
- a collection of SegmentString
s to nodepublic void computeVertexSnaps(java.util.Collection edges)
segStrings
- the list of segment strings to snap together