com.vividsolutions.jts.noding.snapround
Class HotPixel

java.lang.Object
  extended bycom.vividsolutions.jts.noding.snapround.HotPixel

public class HotPixel
extends java.lang.Object

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.

Version:
1.7

Constructor Summary
HotPixel(Coordinate pt, double scaleFactor, LineIntersector li)
           
 
Method Summary
 boolean addSnappedNode(NodedSegmentString segStr, int segIndex)
          Adds a new node (equal to the snap pt) to the specified segment if the segment passes through the hot pixel
 Coordinate getCoordinate()
           
 Envelope getSafeEnvelope()
          Returns a "safe" envelope that is guaranteed to contain the hot pixel
 boolean intersects(Coordinate p0, Coordinate p1)
           
 boolean intersectsScaled(Coordinate p0, Coordinate p1)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HotPixel

public HotPixel(Coordinate pt,
                double scaleFactor,
                LineIntersector li)
Method Detail

getCoordinate

public Coordinate getCoordinate()

getSafeEnvelope

public Envelope getSafeEnvelope()
Returns a "safe" envelope that is guaranteed to contain the hot pixel

Returns:

intersects

public boolean intersects(Coordinate p0,
                          Coordinate p1)

intersectsScaled

public boolean intersectsScaled(Coordinate p0,
                                Coordinate p1)

addSnappedNode

public boolean addSnappedNode(NodedSegmentString segStr,
                              int segIndex)
Adds a new node (equal to the snap pt) to the specified segment if the segment passes through the hot pixel

Parameters:
segStr -
segIndex -
Returns:
true if a node was added to the segment