GEOS: RelateOp.h Source File

GEOS 3.3.8

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

- File List

RelateOp.h
1 /**********************************************************************
2 * $Id: RelateOp.h 2557 2009-06-08 09:30:55Z strk $
3 *
4 * GEOS - Geometry Engine Open Source
5 * http://geos.refractions.net
6 *
7 * Copyright (C) 2006 Refractions Research Inc.
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: operation/relate/RelateOp.java rev. 1.19 (JTS-1.10)
17 *
18 **********************************************************************/
19
20 #ifndef GEOS_OP_RELATE_RELATEOP_H
21 #define GEOS_OP_RELATE_RELATEOP_H
22
23 #include <geos/export.h>
24
25 #include <geos/operation/GeometryGraphOperation.h> // for inheritance
26 #include <geos/operation/relate/RelateComputer.h> // for composition
27
28 // Forward declarations
29 namespace geos {
30 namespace algorithm {
31 class BoundaryNodeRule;
32 }
33 namespace geom {
34 class IntersectionMatrix;
35 class Geometry;
36 }
37 }
38
39
40 namespace geos {
41 namespace operation { // geos::operation
42 namespace relate { // geos::operation::relate
43
58 class GEOS_DLL RelateOp: public GeometryGraphOperation {
59
60 public:
61
73 static geom::IntersectionMatrix* relate(
74 const geom::Geometry *a,
75 const geom::Geometry *b);
76
89 static geom::IntersectionMatrix* relate(
90 const geom::Geometry *a,
91 const geom::Geometry *b,
92 const algorithm::BoundaryNodeRule& boundaryNodeRule);
93
101 RelateOp(const geom::Geometry *g0,
102 const geom::Geometry *g1);
103
112 RelateOp(const geom::Geometry *g0,
113 const geom::Geometry *g1,
114 const algorithm::BoundaryNodeRule& boundaryNodeRule);
115
116 virtual ~RelateOp();
117
126 geom::IntersectionMatrix* getIntersectionMatrix();
127
128 private:
129
130 RelateComputer relateComp;
131 };
132
133
134 } // namespace geos:operation:relate
135 } // namespace geos:operation
136 } // namespace geos
137
138 #endif // GEOS_OP_RELATE_RELATEOP_H
139
140 /**********************************************************************
141 * $Log$
142 * Revision 1.1 2006/03/21 13:11:29 strk
143 * opRelate.h header split
144 *
145 **********************************************************************/
146