20 #ifndef GEOS_PLANARGRAPH_GRAPHCOMPONENT_H
21 #define GEOS_PLANARGRAPH_GRAPHCOMPONENT_H
23 #include <geos/export.h>
26 namespace planargraph {
46 class GEOS_DLL GraphComponent {
64 virtual ~GraphComponent() {}
72 virtual bool isVisited()
const {
return isVisitedVar; }
78 virtual void setVisited(
bool isVisited) { isVisitedVar=isVisited; }
89 static void setVisited(T start, T end,
bool visited) {
90 for(T i=start; i!=end; ++i) {
91 (*i)->setVisited(visited);
103 template <
typename T>
104 static void setVisitedMap(T start, T end,
bool visited) {
105 for(T i=start; i!=end; ++i) {
106 i->second->setVisited(visited);
118 template <
typename T>
119 static void setMarked(T start, T end,
bool marked) {
120 for(T i=start; i!=end; ++i) {
121 (*i)->setMarked(marked);
134 template <
typename T>
135 static void setMarkedMap(T start, T end,
bool marked) {
136 for(T i=start; i!=end; ++i) {
137 i->second->setMarked(marked);
146 virtual bool isMarked()
const {
return isMarkedVar; }
152 virtual void setMarked(
bool isMarked) { isMarkedVar=isMarked; }
162 #endif // GEOS_PLANARGRAPH_GRAPHCOMPONENT_H