00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef GEOS_GEOMGRAPH_INDEX_SWEEPLINESEGMENT_H
00017 #define GEOS_GEOMGRAPH_INDEX_SWEEPLINESEGMENT_H
00018
00019
00020 #include <geos/export.h>
00021 #include <geos/geomgraph/index/SweepLineEventObj.h>
00022
00023
00024 namespace geos {
00025 namespace geom {
00026 class CoordinateSequence;
00027 }
00028 namespace geomgraph {
00029 class Edge;
00030 namespace index {
00031 class SegmentIntersector;
00032 }
00033 }
00034 }
00035
00036 namespace geos {
00037 namespace geomgraph {
00038 namespace index {
00039
00040 class GEOS_DLL SweepLineSegment: public SweepLineEventOBJ {
00041 public:
00042 SweepLineSegment(Edge *newEdge, int newPtIndex);
00043 ~SweepLineSegment();
00044 double getMinX();
00045 double getMaxX();
00046 void computeIntersections(SweepLineSegment *ss, SegmentIntersector *si);
00047 protected:
00048 Edge *edge;
00049 const geom::CoordinateSequence* pts;
00050 int ptIndex;
00051 };
00052
00053
00054
00055 }
00056 }
00057 }
00058
00059 #endif
00060