17 #include <geos/inline.h>
18 #include <geos/operation/overlayng/OverlayLabel.h>
19 #include <geos/geom/Coordinate.h>
20 #include <geos/geom/CoordinateSequence.h>
21 #include <geos/export.h>
68 int aDim = OverlayLabel::DIM_UNKNOWN;
71 int bDim = OverlayLabel::DIM_UNKNOWN;
74 std::unique_ptr<geom::CoordinateSequence> pts;
93 static void initLabel(
OverlayLabel& lbl, uint8_t geomIndex,
int dim,
int depthDelta,
bool p_isHole);
95 static int labelDim(
int dim,
int depthDelta);
96 bool isHole(
int index)
const;
97 bool isBoundary(
int geomIndex)
const;
103 bool isShell(
int geomIndex)
const;
108 static int delSign(
int depthDel);
110 static bool isHoleMerged(
int geomIndex,
const Edge* edge1,
const Edge* edge2);
116 : aDim(OverlayLabel::DIM_UNKNOWN)
119 , bDim(OverlayLabel::DIM_UNKNOWN)
125 friend std::ostream& operator<<(std::ostream& os,
const Edge& e);
133 std::unique_ptr<geom::CoordinateSequence> getCoordinates();
141 std::size_t size()
const;
142 bool direction()
const;
149 int dimension(
int geomIndex)
const;
160 bool compareTo(
const Edge& e)
const
187 bool EdgeComparator(
const Edge* a,
const Edge* b);
196 #include "geos/operation/overlayng/Edge.inl"
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:58
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
int compareTo(const Coordinate &other) const
TODO: deprecate this, move logic to CoordinateLessThen instead.
Definition: EdgeSourceInfo.h:38
Definition: operation/overlayng/Edge.h:63
bool relativeDirection(const Edge *edge2) const
void merge(const Edge *edge)
Definition: OverlayLabel.h:90
Location
Constants representing the location of a point relative to a geometry.
Definition: Location.h:34
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26