00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GEOS_GEOMGRAPH_INDEX_SIMPLEEDGESETINTERSECTOR_H
00018 #define GEOS_GEOMGRAPH_INDEX_SIMPLEEDGESETINTERSECTOR_H
00019
00020 #include <geos/export.h>
00021 #include <vector>
00022
00023 #include <geos/geomgraph/index/EdgeSetIntersector.h>
00024
00025
00026 namespace geos {
00027 namespace geomgraph {
00028 class Edge;
00029 namespace index {
00030 class SegmentIntersector;
00031 }
00032 }
00033 }
00034
00035 namespace geos {
00036 namespace geomgraph {
00037 namespace index {
00038
00039 class GEOS_DLL SimpleEdgeSetIntersector: public EdgeSetIntersector {
00040
00041 public:
00042
00043 SimpleEdgeSetIntersector();
00044
00045 void computeIntersections(std::vector<Edge*> *edges,
00046 SegmentIntersector *si, bool testAllSegments);
00047
00048 void computeIntersections(std::vector<Edge*> *edges0,
00049 std::vector<Edge*> *edges1, SegmentIntersector *si);
00050
00051 private:
00052
00053 int nOverlaps;
00054
00055 void computeIntersects(Edge *e0, Edge *e1, SegmentIntersector *si);
00056 };
00057
00058 }
00059 }
00060 }
00061
00062 #endif // GEOS_GEOMGRAPH_INDEX_SIMPLEEDGESETINTERSECTOR_H
00063
00064
00065
00066
00067
00068
00069
00070