Implements a "hot pixel" as used in the Snap Rounding algorithm. More...
#include <HotPixel.h>
Public Member Functions | |
HotPixel (const geom::Coordinate &pt, double scaleFact, algorithm::LineIntersector &li) | |
const geom::Coordinate & | getCoordinate () const |
Return reference to original Coordinate (the one provided at construction time). | |
const geom::Envelope & | getSafeEnvelope () const |
Returns a "safe" envelope that is guaranteed to contain the hot pixel. Keeps ownership of it. | |
bool | intersectsScaled (const geom::Coordinate &p0, const geom::Coordinate &p1) const |
bool | intersects (const geom::Coordinate &p0, const geom::Coordinate &p1) const |
bool | addSnappedNode (NodedSegmentString &segStr, size_t segIndex) |
Implements a "hot pixel" as used in the Snap Rounding algorithm.
A hot pixel contains the interior of the tolerance square and the boundary minus the top and right segments.
The hot pixel operations are all computed in the integer domain to avoid rounding problems.
bool geos::noding::snapround::HotPixel::addSnappedNode | ( | NodedSegmentString & | segStr, | |
size_t | segIndex | |||
) |
Adds a new node (equal to the snap pt) to the specified segment if the segment passes through the hot pixel
segStr | ||
segIndex |