21#include <geos/export.h>
23#include <geos/inline.h>
25#include <geos/geom/Coordinate.h>
26#include <geos/geom/Envelope.h>
27#include <geos/io/WKTWriter.h>
34#pragma warning(disable: 4251)
46class NodedSegmentString;
67 static constexpr double TOLERANCE = 0.5;
69 static constexpr int UPPER_RIGHT = 0;
70 static constexpr int UPPER_LEFT = 1;
71 static constexpr int LOWER_LEFT = 2;
72 static constexpr int LOWER_RIGHT = 3;
84 double scaleRound(
double val)
const;
86 double scale(
double val)
const;
91 bool intersectsScaled(
double p0x,
double p0y,
double p1x,
double p1y)
const;
102 double getWidth()
const {
return 1.0 / scaleFactor; };
104 double getScaleFactor()
const {
return scaleFactor; };
139 bool isNode()
const {
return hpIsNode; };
140 void setToNode() { hpIsNode =
true; };
142 std::ostream& operator<< (std::ostream& os);
154# include "geos/noding/snapround/HotPixel.inl"
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:60
Implements a "hot pixel" as used in the Snap Rounding algorithm.
Definition HotPixel.h:63
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:102
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:26