17 #include <geos/edgegraph/HalfEdge.h>
18 #include <geos/geom/Location.h>
20 #include <geos/export.h>
21 #include <geos/inline.h>
29 class CoordinateSequence;
30 class CoordinateArraySequence;
34 class OverlayEdgeRing;
35 class MaximalEdgeRing;
64 bool m_isInResultArea;
65 bool m_isInResultLine;
68 const OverlayEdgeRing* edgeRing;
69 const MaximalEdgeRing* maxEdgeRing;
83 , direction(p_direction)
86 , m_isInResultArea(
false)
87 , m_isInResultLine(
false)
89 , nextResultEdge(
nullptr)
91 , maxEdgeRing(
nullptr)
92 , nextResultMaxEdge(
nullptr)
95 bool isForward()
const;
102 Location getLocation(uint8_t index,
int position)
const;
108 std::unique_ptr<CoordinateSequence> getCoordinates();
110 std::unique_ptr<CoordinateSequence> getCoordinatesOriented();
126 bool isInResultArea()
const;
128 bool isInResultAreaBoth()
const;
130 void unmarkFromResultAreaBoth();
132 void markInResultArea();
134 void markInResultAreaBoth();
136 bool isInResultLine()
const;
138 void markInResultLine();
140 bool isInResult()
const;
142 bool isInResultEither()
const;
148 bool isResultLinked()
const;
154 bool isResultMaxLinked()
const;
156 bool isVisited()
const;
157 void markVisitedBoth();
159 const OverlayEdgeRing* getEdgeRing()
const;
160 void setEdgeRing(
const OverlayEdgeRing* p_edgeRing);
162 const MaximalEdgeRing* getEdgeRingMax()
const;
163 void setEdgeRingMax(
const MaximalEdgeRing* maximalEdgeRing);
165 friend std::ostream& operator<<(std::ostream& os,
const OverlayEdge& oe);
166 std::string resultSymbol()
const;
176 #include "geos/operation/overlayng/OverlayEdge.inl"
Definition: HalfEdge.h:63
The default implementation of CoordinateSequence.
Definition: CoordinateArraySequence.h:37
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
Definition: OverlayEdge.h:50
const Coordinate & directionPt() const override
void addCoordinates(CoordinateArraySequence *coords) const
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