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;
148 bool relativeDirection(
const Edge* edge2)
const;
149 int dimension(
int geomIndex)
const;
155 void merge(
const Edge* edge);
160 bool compareTo(
const Edge& e)
const 187 bool EdgeComparator(
const Edge* a,
const Edge* b);
196 #include "geos/operation/overlayng/Edge.inl" Definition: EdgeSourceInfo.h:38
Definition: OverlayLabel.h:90
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
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
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:58
Definition: operation/overlayng/Edge.h:63
int compareTo(const Coordinate &other) const
TODO: deprecate this, move logic to CoordinateLessThen instead.