00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GEOS_OP_RELATE_RELATENODE_H
00020 #define GEOS_OP_RELATE_RELATENODE_H
00021
00022 #include <geos/export.h>
00023
00024 #include <geos/geomgraph/Node.h>
00025
00026
00027 namespace geos {
00028 namespace geom {
00029 class IntersectionMatrix;
00030 class Coordinate;
00031 }
00032 namespace geomgraph {
00033 class EdgeEndStar;
00034 }
00035 }
00036
00037
00038 namespace geos {
00039 namespace operation {
00040 namespace relate {
00041
00046 class GEOS_DLL RelateNode: public geomgraph::Node {
00047
00048 public:
00049
00050 RelateNode(const geom::Coordinate& coord, geomgraph::EdgeEndStar *edges);
00051
00052 virtual ~RelateNode();
00053
00057 void updateIMFromEdges(geom::IntersectionMatrix& im);
00058
00059 protected:
00060
00061 void computeIM(geom::IntersectionMatrix& im);
00062 };
00063
00064
00065 }
00066 }
00067 }
00068
00069 #endif // GEOS_OP_RELATE_RELATENODE_H