45class GEOS_DLL MonotoneChainEdge {
48 ~MonotoneChainEdge() =
default;
49 MonotoneChainEdge(
Edge* newE);
51 std::vector<size_t>& getStartIndexes();
52 double getMinX(std::size_t chainIndex);
53 double getMaxX(std::size_t chainIndex);
55 void computeIntersects(
const MonotoneChainEdge& mce,
58 void computeIntersectsForChain(std::size_t chainIndex0,
59 const MonotoneChainEdge& mce, std::size_t chainIndex1,
67 std::vector<size_t> startIndex;
70 void computeIntersectsForChain(std::size_t start0, std::size_t end0,
71 const MonotoneChainEdge& mce,
72 std::size_t start1, std::size_t end1,
75 bool overlaps(std::size_t start0, std::size_t end0,
const MonotoneChainEdge& mce, std::size_t start1, std::size_t end1);