GEOS 3.3.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

BoundaryNodeRule.h
1 /**********************************************************************
2 * $Id: BoundaryNodeRule.h 3262 2011-03-04 16:30:48Z strk $
3 *
4 * GEOS - Geometry Engine Open Source
5 * http://geos.refractions.net
6 *
7 * Copyright (C) 2009 Sandro Santilli <strk@keybit.net>
8 *
9 * This is free software; you can redistribute and/or modify it under
10 * the terms of the GNU Lesser General Public Licence as published
11 * by the Free Software Foundation.
12 * See the COPYING file for more information.
13 *
14 **********************************************************************
15 *
16 * Last port: algorithm/BoundaryNodeRule.java rev 1.4 (JTS-1.10)
17 *
18 **********************************************************************/
19
20 #ifndef GEOS_ALGORITHM_BOUNDARYNODERULE_H
21 #define GEOS_ALGORITHM_BOUNDARYNODERULE_H
22
23 #include <geos/export.h>
24
25 // Forward declarations
26 // ...
27
28 namespace geos {
29 namespace algorithm { // geos::algorithm
30
31
51 class GEOS_DLL BoundaryNodeRule {
52
53 public:
54
55 // virtual classes should always have a virtual destructor..
56 virtual ~BoundaryNodeRule() {}
57
68 virtual bool isInBoundary(int boundaryCount) const=0;
69
76 static const BoundaryNodeRule& MOD2_BOUNDARY_RULE;
77
83 static const BoundaryNodeRule& ENDPOINT_BOUNDARY_RULE;
84
90 static const BoundaryNodeRule& MULTIVALENT_ENDPOINT_BOUNDARY_RULE;
91
97 static const BoundaryNodeRule& MONOVALENT_ENDPOINT_BOUNDARY_RULE;
98
105 static const BoundaryNodeRule& OGC_SFS_BOUNDARY_RULE;
106
107 };
108
109 } // namespace geos::algorithm
110 } // namespace geos
111
112 #endif // GEOS_ALGORITHM_BOUNDARYNODERULE_H
113