19#include <geos/geom/Coordinate.h>
20#include <geos/operation/grid/Side.h>
22namespace geos::operation::grid {
33 : m_entry{ Side::NONE }
34 , m_exit{ Side::NONE }
38 bool isClosedRing()
const;
42 bool isEntered()
const;
44 bool isExited()
const;
46 bool isTraversed()
const;
48 bool hasMultipleUniqueCoordinates()
const;
51 void enter(
const geom::CoordinateXY& c, Side s);
54 void exit(
const geom::CoordinateXY& c, Side s);
56 Side getEntrySide()
const {
return m_entry; }
58 Side getExitSide()
const {
return m_exit; }
60 const geom::CoordinateXY& getLastCoordinate()
const;
62 const geom::CoordinateXY& getExitCoordinate()
const;
64 void add(
const geom::CoordinateXY& c);
66 void forceExit(Side s) { m_exit = s; }
68 const std::vector<geom::CoordinateXY>& getCoordinates()
const {
return m_coords; }
71 std::vector<geom::CoordinateXY> m_coords;
The Traversal class records the coordinates of a line that are within a grid cell,...
Definition: Traversal.h:30
void exit(const geom::CoordinateXY &c, Side s)
Complete a Traversal on the specified Side
void enter(const geom::CoordinateXY &c, Side s)
Begin a Traversal on the specified Side