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)
51 class SegmentIntersector;
75class GEOS_DLL RelateComputer {
77 RelateComputer(std::vector<geomgraph::GeometryGraph*> *newArg);
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);
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:58
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:167
Implementation of Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix.
Definition IntersectionMatrix.h:51
Models the end of an edge incident on a node.
Definition EdgeEnd.h:56
Definition geomgraph/Edge.h:66
Definition GeometryGraph.h:74
Definition geomgraph/Node.h:62
Contains the Geometry interface hierarchy and supporting classes.
Definition IndexedNestedRingTester.h:26
Contains classes that implement topology graphs.
Definition IndexedNestedRingTester.h:34
Contains classes to implement the computation of the spatial relationships of Geometrys.
Definition EdgeEndBuilder.h:42
Provides classes for implementing operations on geometries.
Definition IndexedNestedRingTester.h:40
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25