22 #include <geos/export.h>
23 #include <geos/geom/Location.h>
33 class CoordinateSequence;
70 const geom::CoordinateXY& point;
72 std::size_t crossingCount;
75 bool isPointOnSegment;
96 const std::vector<const geom::Coordinate*>& ring);
98 static geom::Location locatePointInRing(
const geom::CoordinateXY& p,
99 const geom::Curve& ring);
104 isPointOnSegment(false)
114 const geom::CoordinateXY& p2);
116 void countArc(
const geom::CoordinateXY& p1,
117 const geom::CoordinateXY& p2,
118 const geom::CoordinateXY& p3);
137 return isPointOnSegment;
163 std::size_t getCount()
const {
return crossingCount; };
165 static bool shouldCountCrossing(
const geom::CircularArc& arc,
const geom::CoordinateXY& q);
167 static std::array<geom::CoordinateXY, 2>
168 pointsIntersectingHorizontalRay(
const geom::CircularArc& arc,
const geom::CoordinateXY& origin);
Counts the number of segments crossed by a horizontal ray extending to the right from a given point,...
Definition: RayCrossingCounter.h:68
void countSegment(const geom::CoordinateXY &p1, const geom::CoordinateXY &p2)
Counts a segment.
static geom::Location locatePointInRing(const geom::CoordinateXY &p, const geom::CoordinateSequence &ring)
Determines the Location of a point in a ring.
geom::Location getLocation() const
Gets the Location of the point relative to the ring, polygon or multipolygon from which the processed...
static geom::Location locatePointInRing(const geom::CoordinateXY &p, const std::vector< const geom::Coordinate * > &ring)
Semantically equal to the above, just different args encoding.
bool isPointInPolygon() const
Tests whether the point lies in or on the ring, polygon or multipolygon from which the processed segm...
bool isOnSegment() const
Reports whether the point lies exactly on one of the supplied segments.
Definition: RayCrossingCounter.h:135
void processSequence(const geom::CoordinateSequence &seq, bool isLinear)
Counts all segments or arcs in the sequence.
Definition: CircularArc.h:29
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:56
Location
Constants representing the location of a point relative to a geometry.
Definition: Location.h:32
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25