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