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
00024
00025
00026 namespace geos {
00027 namespace algorithm {
00028
00029
00049 class BoundaryNodeRule {
00050
00051 public:
00052
00053
00054 virtual ~BoundaryNodeRule() {}
00055
00066 virtual bool isInBoundary(int boundaryCount) const=0;
00067
00074 static const BoundaryNodeRule& MOD2_BOUNDARY_RULE;
00075
00081 static const BoundaryNodeRule& ENDPOINT_BOUNDARY_RULE;
00082
00088 static const BoundaryNodeRule& MULTIVALENT_ENDPOINT_BOUNDARY_RULE;
00089
00095 static const BoundaryNodeRule& MONOVALENT_ENDPOINT_BOUNDARY_RULE;
00096
00103 static const BoundaryNodeRule& OGC_SFS_BOUNDARY_RULE;
00104
00105 };
00106
00107 }
00108 }
00109
00110 #endif // GEOS_ALGORITHM_BOUNDARYNODERULE_H
00111