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>
30 #include <geos/geom/IntersectionMatrix.h>
37 #pragma warning(disable: 4251)
51 class SegmentIntersector;
80 std::unique_ptr<geom::IntersectionMatrix> computeIM();
88 std::vector<geomgraph::GeometryGraph*>* arg;
90 geomgraph::NodeMap nodes;
93 std::unique_ptr<geom::IntersectionMatrix> im;
95 std::vector<geomgraph::Edge*> isolatedEdges;
100 void insertEdgeEnds(std::vector<geomgraph::EdgeEnd*>* ee);
102 void computeProperIntersectionIM(
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);
152 void labelIsolatedNodes();
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition: LineIntersector.h:49
Computes the topological relationship (Location) of a single point to a Geometry.
Definition: PointLocator.h:57
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Implementation of Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix.
Definition: IntersectionMatrix.h:54
Definition: geomgraph/Edge.h:66
The node component of a geometry graph.
Definition: geomgraph/Node.h:62
Computes the intersection of line segments, and adds the intersection to the edges containing the seg...
Definition: geomgraph/index/SegmentIntersector.h:47
Computes the topological relationship between two Geometries.
Definition: RelateComputer.h:75
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26