MCIndexSnapRounder

Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of {link 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.

Version

1.7

class Object
trait Matchable
class Any

Value members

Concrete methods

override def computeNodes(inputSegmentStrings: Collection[SegmentString]): Unit
Definition Classes
def computeVertexSnaps(edges: Collection[SegmentString]): Unit

Snaps segments to all vertices.

Snaps segments to all vertices.

Value Params
edges

the list of segment strings to snap together

override def getNodedSubstrings: List[SegmentString]
Definition Classes

Concrete fields