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