Namespace: snapround




(static) HotPixel(pt, scaleFactor, li)

Creates a new hot pixel.
Name Type Description
pt the coordinate at the centre of the pixel.
scaleFactor the scaleFactor determining the pixel size.
li the intersector to use for testing intersection with line segments.

(static) MCIndexPointSnapper()

"Snaps" all SegmentStrings in a SpatialIndex containing MonotoneChains to a given HotPixel.

(static) MCIndexSnapRounder()

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.