00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef GEOS_IDX_BINTREE_INTERVAL_H
00017 #define GEOS_IDX_BINTREE_INTERVAL_H
00018
00019 #include <geos/export.h>
00020
00021 namespace geos {
00022 namespace index {
00023 namespace bintree {
00024
00026 class GEOS_DLL Interval {
00027
00028 public:
00029
00030 double min, max;
00031
00032 Interval();
00033
00034 ~Interval();
00035
00036 Interval(double nmin, double nmax);
00037
00039 Interval(const Interval *interval);
00040
00041 void init(double nmin, double nmax);
00042
00043 double getMin() const;
00044
00045 double getMax() const;
00046
00047 double getWidth() const;
00048
00049 void expandToInclude(Interval *interval);
00050
00051 bool overlaps(const Interval *interval) const;
00052
00053 bool overlaps(double nmin, double nmax) const;
00054
00055 bool contains(const Interval *interval) const;
00056
00057 bool contains(double nmin, double nmax) const;
00058
00059 bool contains(double p) const;
00060 };
00061
00062 }
00063 }
00064 }
00065
00066 #endif // GEOS_IDX_BINTREE_INTERVAL_H
00067
00068
00069
00070
00071
00072
00073
00074