21 #ifndef GEOS_OP_RELATE_RELATECOMPUTER_H
22 #define GEOS_OP_RELATE_RELATECOMPUTER_H
24 #include <geos/export.h>
26 #include <geos/algorithm/PointLocator.h>
27 #include <geos/algorithm/LineIntersector.h>
28 #include <geos/geomgraph/NodeMap.h>
29 #include <geos/geom/Coordinate.h>
36 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
42 class IntersectionMatrix;
51 class SegmentIntersector;
88 std::vector<geomgraph::GeometryGraph*> *arg;
90 geomgraph::NodeMap nodes;
93 std::auto_ptr<geom::IntersectionMatrix> im;
95 std::vector<geomgraph::Edge*> isolatedEdges;
100 void insertEdgeEnds(std::vector<geomgraph::EdgeEnd*> *ee);
102 void computeProperIntersectionIM(
103 geomgraph::index::SegmentIntersector *intersector,
106 void copyNodesAndLabels(
int argIndex);
107 void computeIntersectionNodes(
int argIndex);
108 void labelIntersectionNodes(
int argIndex);
116 void labelNodeEdges();
131 void labelIsolatedEdges(
int thisIndex,
int targetIndex);
140 void labelIsolatedEdge(geomgraph::Edge *e,
int targetIndex,
152 void labelIsolatedNodes();
157 void labelIsolatedNode(geomgraph::Node *n,
int targetIndex);
169 #endif // GEOS_OP_RELATE_RELATECOMPUTER_H