GEOS  3.9.1dev
SimpleEdgeSetIntersector.h
Go to the documentation of this file.
1 /**********************************************************************
2  *
3  * GEOS - Geometry Engine Open Source
4  * http://geos.osgeo.org
5  *
6  * Copyright (C) 2005-2006 Refractions Research Inc.
7  * Copyright (C) 2001-2002 Vivid Solutions Inc.
8  *
9  * This is free software; you can redistribute and/or modify it under
10  * the terms of the GNU Lesser General Public Licence as published
11  * by the Free Software Foundation.
12  * See the COPYING file for more information.
13  *
14  **********************************************************************/
15 
16 #ifndef GEOS_GEOMGRAPH_INDEX_SIMPLEEDGESETINTERSECTOR_H
17 #define GEOS_GEOMGRAPH_INDEX_SIMPLEEDGESETINTERSECTOR_H
18 
19 #include <geos/export.h>
20 #include <vector>
21 
22 #include <geos/geomgraph/index/EdgeSetIntersector.h> // for inheritance
23 
24 // Forward declarations
25 namespace geos {
26 namespace geomgraph {
27 class Edge;
28 namespace index {
29 class SegmentIntersector;
30 }
31 }
32 }
33 
34 namespace geos {
35 namespace geomgraph { // geos::geomgraph
36 namespace index { // geos::geomgraph::index
37 
44 
45 public:
46 
48 
49  void computeIntersections(std::vector<Edge*>* edges,
50  SegmentIntersector* si, bool testAllSegments) override;
51 
52  void computeIntersections(std::vector<Edge*>* edges0,
53  std::vector<Edge*>* edges1, SegmentIntersector* si) override;
54 
55 private:
56 
57  int nOverlaps;
58 
59  void computeIntersects(Edge* e0, Edge* e1, SegmentIntersector* si);
60 };
61 
62 } // namespace geos.geomgraph.index
63 } // namespace geos.geomgraph
64 } // namespace geos
65 
66 #endif // GEOS_GEOMGRAPH_INDEX_SIMPLEEDGESETINTERSECTOR_H
67 
#define GEOS_DLL
Definition: export.h:28
Computes the intersection of line segments, and adds the intersection to the edges containing the seg...
An EdgeSetIntersector computes all the intersections between the edges in the set.
Basic namespace for all GEOS functionalities.
Finds all intersections in one or two sets of edges, using the straightforward method of comparing al...