00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef GEOS_OP_RELATE_RELATEOP_H
00017 #define GEOS_OP_RELATE_RELATEOP_H
00018
00019 #include <geos/operation/GeometryGraphOperation.h>
00020 #include <geos/operation/relate/RelateComputer.h>
00021
00022
00023 namespace geos {
00024 namespace geom {
00025 class IntersectionMatrix;
00026 class Geometry;
00027 }
00028 }
00029
00030
00031 namespace geos {
00032 namespace operation {
00033 namespace relate {
00034
00043 class RelateOp: public GeometryGraphOperation {
00044
00045 public:
00046
00047 static geom::IntersectionMatrix* relate(
00048 const geom::Geometry *a,
00049 const geom::Geometry *b);
00050
00051 RelateOp(const geom::Geometry *g0,
00052 const geom::Geometry *g1);
00053
00054 virtual ~RelateOp();
00055
00056 geom::IntersectionMatrix* getIntersectionMatrix();
00057
00058 private:
00059
00060 RelateComputer relateComp;
00061 };
00062
00063
00064 }
00065 }
00066 }
00067
00068 #endif // GEOS_OP_RELATE_RELATEOP_H
00069
00070
00071
00072
00073
00074
00075
00076