00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef GEOS_OP_PREDICATE_SEGMENTINTERSECTIONTESTER_H
00017 #define GEOS_OP_PREDICATE_SEGMENTINTERSECTIONTESTER_H
00018
00019 #include <geos/algorithm/LineIntersector.h>
00020
00021
00022 namespace geos {
00023 namespace geom {
00024 class LineString;
00025 class CoordinateSequence;
00026 }
00027 }
00028
00029 namespace geos {
00030 namespace operation {
00031 namespace predicate {
00032
00043 class SegmentIntersectionTester {
00044
00045 private:
00046
00051 algorithm::LineIntersector li;
00052
00053 bool hasIntersectionVar;
00054
00055 public:
00056
00057 SegmentIntersectionTester(): hasIntersectionVar(false) {}
00058
00059 bool hasIntersectionWithLineStrings(const geom::CoordinateSequence &seq,
00060 const std::vector<const geom::LineString *>& lines);
00061
00062 bool hasIntersection(const geom::CoordinateSequence &seq0,
00063 const geom::CoordinateSequence &seq1);
00064
00065
00066 };
00067
00068 }
00069 }
00070 }
00071
00072 #endif // ifndef GEOS_OP_PREDICATE_SEGMENTINTERSECTIONTESTER_H