00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef GEOS_IDX_CHAIN_MONOTONECHAINOVERLAPACTION_H
00017 #define GEOS_IDX_CHAIN_MONOTONECHAINOVERLAPACTION_H
00018
00019
00020
00021 namespace geos {
00022 namespace geom {
00023 class Envelope;
00024 class LineSegment;
00025 }
00026 namespace index {
00027 namespace chain {
00028 class MonotoneChain;
00029 }
00030 }
00031 }
00032
00033 namespace geos {
00034 namespace index {
00035 namespace chain {
00036
00041 class MonotoneChainOverlapAction {
00042
00043 protected:
00044
00045 geom::LineSegment *overlapSeg1;
00046
00047 geom::LineSegment *overlapSeg2;
00048
00049 public:
00050
00051 MonotoneChainOverlapAction();
00052
00053 virtual ~MonotoneChainOverlapAction();
00054
00061 virtual void overlap(MonotoneChain *mc1, int start1,
00062 MonotoneChain *mc2, int start2);
00063
00070 virtual void overlap(geom::LineSegment* ,
00071 geom::LineSegment* )
00072 {}
00073
00074
00075 geom::Envelope *tempEnv1;
00076 geom::Envelope *tempEnv2;
00077 };
00078
00079 }
00080 }
00081 }
00082
00083 #endif // GEOS_IDX_CHAIN_MONOTONECHAINOVERLAPACTION_H
00084
00085
00086
00087
00088
00089
00090
00091