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