00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GEOS_GEOMGRAPH_INDEX_MONOTONECHAIN_H
00021 #define GEOS_GEOMGRAPH_INDEX_MONOTONECHAIN_H
00022
00023
00024 #include <geos/export.h>
00025 #include <geos/geomgraph/index/SweepLineEventObj.h>
00026 #include <geos/geomgraph/index/MonotoneChainEdge.h>
00027
00028
00029 namespace geos {
00030 namespace geomgraph {
00031 namespace index {
00032 class SegmentIntersector;
00033 }
00034 }
00035 }
00036
00037 namespace geos {
00038 namespace geomgraph {
00039 namespace index {
00040
00044 class GEOS_DLL MonotoneChain: public SweepLineEventOBJ {
00045 private:
00046 MonotoneChainEdge *mce;
00047 int chainIndex;
00048
00049 public:
00050
00051 MonotoneChain(MonotoneChainEdge *newMce, int newChainIndex):
00052 mce(newMce),
00053 chainIndex(newChainIndex)
00054 {}
00055
00056 ~MonotoneChain() {}
00057
00058 void computeIntersections(MonotoneChain *mc,SegmentIntersector *si) {
00059 mce->computeIntersectsForChain(chainIndex,*(mc->mce),mc->chainIndex,*si);
00060 }
00061 };
00062
00063
00064
00065
00066 }
00067 }
00068 }
00069
00070 #endif
00071