21 #include <geos/export.h>
23 #include <geos/geom/Coordinate.h>
24 #include <geos/geom/Envelope.h>
25 #include <geos/io/WKTWriter.h>
26 #include <geos/util/math.h>
32 #pragma warning(disable: 4251)
41 class LineIntersector;
44 class NodedSegmentString;
65 static constexpr
double TOLERANCE = 0.5;
67 static constexpr
int UPPER_RIGHT = 0;
68 static constexpr
int UPPER_LEFT = 1;
69 static constexpr
int LOWER_LEFT = 2;
70 static constexpr
int LOWER_RIGHT = 3;
82 double scaleRound(
double val)
const
88 double scale(
double val)
const
90 return val * scaleFactor;
96 bool intersectsScaled(
double p0x,
double p0y,
double p1x,
double p1y)
const;
107 double getWidth()
const {
return 1.0 / scaleFactor; };
109 double getScaleFactor()
const {
return scaleFactor; };
144 bool isNode()
const {
return hpIsNode; };
145 void setToNode() { hpIsNode =
true; };
147 std::ostream& operator<< (std::ostream& os);
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
Implements a "hot pixel" as used in the Snap Rounding algorithm.
Definition: HotPixel.h:61
HotPixel(const geom::Coordinate &pt, double scaleFactor)
bool intersects(const geom::Coordinate &p0, const geom::Coordinate &p1) const
bool intersects(const geom::Coordinate &p) const
double getWidth() const
Definition: HotPixel.h:107
double round(double val)
Definition: math.h:36
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25