22 #ifndef GEOS_GEOMGRAPH_GRAPHCOMPONENT_H
23 #define GEOS_GEOMGRAPH_GRAPHCOMPONENT_H
25 #include <geos/export.h>
26 #include <geos/inline.h>
28 #include <geos/geomgraph/Label.h>
33 class IntersectionMatrix;
47 class GEOS_DLL GraphComponent {
54 GraphComponent(
const Label& newLabel);
56 virtual ~GraphComponent() =
default;
69 setLabel(
const Label& newLabel)
75 setInResult(
bool p_isInResult)
77 isInResultVar = p_isInResult;
84 virtual void setCovered(
bool isCovered);
93 return isCoveredSetVar;
101 setVisited(
bool p_isVisited)
103 isVisitedVar = p_isVisited;
105 virtual bool isIsolated()
const = 0;
106 virtual void updateIM(geom::IntersectionMatrix& im);
109 virtual void computeIM(geom::IntersectionMatrix& im) = 0;
113 bool isCoveredSetVar;
120 #endif // ifndef GEOS_GEOMGRAPH_GRAPHCOMPONENT_H