00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GEOS_ALGORITHM_BOUNDARYNODERULE_H
00021 #define GEOS_ALGORITHM_BOUNDARYNODERULE_H
00022
00023 #include <geos/export.h>
00024
00025
00026
00027
00028 namespace geos {
00029 namespace algorithm {
00030
00031
00051 class GEOS_DLL BoundaryNodeRule {
00052
00053 public:
00054
00055
00056 virtual ~BoundaryNodeRule() {}
00057
00068 virtual bool isInBoundary(int boundaryCount) const=0;
00069
00076 static const BoundaryNodeRule& MOD2_BOUNDARY_RULE;
00077
00083 static const BoundaryNodeRule& ENDPOINT_BOUNDARY_RULE;
00084
00090 static const BoundaryNodeRule& MULTIVALENT_ENDPOINT_BOUNDARY_RULE;
00091
00097 static const BoundaryNodeRule& MONOVALENT_ENDPOINT_BOUNDARY_RULE;
00098
00105 static const BoundaryNodeRule& OGC_SFS_BOUNDARY_RULE;
00106
00107 };
00108
00109 }
00110 }
00111
00112 #endif // GEOS_ALGORITHM_BOUNDARYNODERULE_H
00113