00001 #ifndef QUADTREE_CONCEPT_H
00002 #define QUADTREE_CONCEPT_H
00003
00004 #include "boost/concept/assert.hpp"
00005 #include "boost/concept/usage.hpp"
00006
00007 namespace za_co_codespot
00008 {
00009 namespace datastructures
00010 {
00011
00024 template <typename QuadtreeType, typename ValueType>
00025 struct QuadtreeConcept
00026 {
00027 public:
00028 BOOST_CONCEPT_USAGE(QuadtreeConcept)
00029 {
00030 QuadtreeType quadtree(mData, mWidth, mWidth, mThreshold);
00031
00032 unsigned int width(quadtree.getWidth());
00033 unsigned int height(quadtree.getHeight());
00034 ValueType value(quadtree(mCenter, mCenter));
00035 unsigned int level(quadtree.getLevel(mCenter, mCenter));
00036 unsigned int nodeCount(quadtree.getNodeCount());
00037 }
00038
00039 private:
00040 static const unsigned int mWidth = 10;
00041 static const unsigned int mCenter = 5;
00042
00043 ValueType mThreshold;
00044 ValueType mData[mWidth*mWidth];
00045 };
00046
00047 }
00048 }
00049
00050 #endif //QUADTREE_H