00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GEOS_IDX_QUADTREE_ROOT_H
00021 #define GEOS_IDX_QUADTREE_ROOT_H
00022
00023 #include <geos/export.h>
00024 #include <geos/index/quadtree/NodeBase.h>
00025 #include <geos/geom/Coordinate.h>
00026
00027
00028 namespace geos {
00029 namespace geom {
00030 class Envelope;
00031 }
00032 namespace index {
00033 namespace quadtree {
00034 class Node;
00035 }
00036 }
00037 }
00038
00039 namespace geos {
00040 namespace index {
00041 namespace quadtree {
00042
00050 class GEOS_DLL Root: public NodeBase {
00051
00052
00053 private:
00054
00055 static const geom::Coordinate origin;
00056
00062 void insertContained(Node *tree, const geom::Envelope *itemEnv,
00063 void* item);
00064
00065 public:
00066
00067 Root() {}
00068
00069 virtual ~Root() {}
00070
00074 void insert(const geom::Envelope *itemEnv, void* item);
00075
00076 protected:
00077
00078 bool isSearchMatch(const geom::Envelope& ) const {
00079 return true;
00080 }
00081
00082 };
00083
00084 }
00085 }
00086 }
00087
00088 #endif // GEOS_IDX_QUADTREE_ROOT_H
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099