20 #ifndef GEOS_ALGORITHM_RAYCROSSINGCOUNTER_H
21 #define GEOS_ALGORITHM_RAYCROSSINGCOUNTER_H
23 #include <geos/export.h>
24 #include <geos/geom/Location.h>
32 class CoordinateSequence;
65 class GEOS_DLL RayCrossingCounter {
67 const geom::Coordinate& point;
72 bool isPointOnSegment;
75 RayCrossingCounter(
const RayCrossingCounter& other) =
delete;
76 RayCrossingCounter& operator=(
const RayCrossingCounter& rhs) =
delete;
89 const geom::CoordinateSequence& ring);
93 const std::vector<const geom::Coordinate*>& ring);
95 RayCrossingCounter(
const geom::Coordinate& p_point)
98 isPointOnSegment(false)
107 void countSegment(
const geom::Coordinate& p1,
108 const geom::Coordinate& p2);
122 return isPointOnSegment;
146 bool isPointInPolygon();
153 #endif // GEOS_ALGORITHM_RAYCROSSINGCOUNTER_H