22 #ifndef GEOS_GEOMGRAPH_GRAPHCOMPONENT_H
23 #define GEOS_GEOMGRAPH_GRAPHCOMPONENT_H
25 #include <geos/export.h>
26 #include <geos/inline.h>
31 class IntersectionMatrix;
42 class GEOS_DLL GraphComponent {
50 GraphComponent(Label* newLabel);
51 virtual ~GraphComponent();
53 virtual void setLabel(Label* newLabel);
54 virtual void setInResult(
bool isInResult) { isInResultVar=isInResult; }
55 virtual bool isInResult()
const {
return isInResultVar; }
56 virtual void setCovered(
bool isCovered);
57 virtual bool isCovered()
const {
return isCoveredVar; }
58 virtual bool isCoveredSet()
const {
return isCoveredSetVar; }
59 virtual bool isVisited()
const {
return isVisitedVar; }
60 virtual void setVisited(
bool isVisited) { isVisitedVar = isVisited; }
61 virtual bool isIsolated()
const=0;
62 virtual void updateIM(geom::IntersectionMatrix *im);
65 virtual void computeIM(geom::IntersectionMatrix *im)=0;
80 #endif // ifndef GEOS_GEOMGRAPH_GRAPHCOMPONENT_H