19 #ifndef GEOS_OP_RELATE_EDGEENDBUNDLE_H
20 #define GEOS_OP_RELATE_EDGEENDBUNDLE_H
22 #include <geos/export.h>
24 #include <geos/geomgraph/EdgeEnd.h>
31 class BoundaryNodeRule;
34 class IntersectionMatrix;
47 class GEOS_DLL EdgeEndBundle:
public geomgraph::EdgeEnd {
49 EdgeEndBundle(geomgraph::EdgeEnd* e);
50 ~EdgeEndBundle()
override;
51 const std::vector<geomgraph::EdgeEnd*>& getEdgeEnds();
52 void insert(geomgraph::EdgeEnd* e);
54 void computeLabel(
const algorithm::BoundaryNodeRule& bnr)
override;
61 void updateIM(geom::IntersectionMatrix& im);
63 std::string print()
const override;
65 std::vector<geomgraph::EdgeEnd*> edgeEnds;
96 void computeLabelOn(
int geomIndex,
97 const algorithm::BoundaryNodeRule& boundaryNodeRule);
99 void computeLabelSides(
int geomIndex);
100 void computeLabelSide(
int geomIndex,
int side);
107 #endif // GEOS_OP_RELATE_EDGEENDBUNDLE_H