00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef GEOS_IDX_QUADTREE_ROOT_H
00017 #define GEOS_IDX_QUADTREE_ROOT_H
00018
00019 #include <geos/index/quadtree/NodeBase.h>
00020 #include <geos/geom/Coordinate.h>
00021
00022
00023 namespace geos {
00024 namespace geom {
00025 class Envelope;
00026 }
00027 namespace index {
00028 namespace quadtree {
00029 class Node;
00030 }
00031 }
00032 }
00033
00034 namespace geos {
00035 namespace index {
00036 namespace quadtree {
00037
00045 class Root: public NodeBase {
00046
00047
00048 private:
00049
00050 static geom::Coordinate origin;
00051
00057 void insertContained(Node *tree, const geom::Envelope *itemEnv, void* item);
00058
00059 public:
00060
00061 Root() {}
00062
00063 virtual ~Root() {}
00064
00068 void insert(const geom::Envelope *itemEnv, void* item);
00069
00070 protected:
00071
00072 bool isSearchMatch(const geom::Envelope* ) { return true; }
00073
00074 };
00075
00076 }
00077 }
00078 }
00079
00080 #endif // GEOS_IDX_QUADTREE_ROOT_H
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091