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 #include <geos/geomgraph/index/SweepLineEventObj.h>
00021
00022
00023 namespace geos {
00024 namespace geom {
00025 class CoordinateSequence;
00026 }
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 SweepLineSegment: public SweepLineEventOBJ {
00040 public:
00041 SweepLineSegment(Edge *newEdge, int newPtIndex);
00042 ~SweepLineSegment();
00043 double getMinX();
00044 double getMaxX();
00045 void computeIntersections(SweepLineSegment *ss, SegmentIntersector *si);
00046 protected:
00047 Edge *edge;
00048 const geom::CoordinateSequence* pts;
00049 int ptIndex;
00050 };
00051
00052
00053
00054 }
00055 }
00056 }
00057
00058 #endif
00059
00060
00061
00062
00063
00064
00065
00066