Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

aglowav/tree02.hh
Go to the documentation of this file.
00001 /* Tree 02
00002  */
00003 
00004 #ifndef aglowavTree02_hh
00005 #define aglowavTree02_hh
00006 
00007 #include "basics/exceptions.hh"
00008 #include "cluster/tree03.hh"
00009 #include "aglowav/tree.hh"
00010 
00011 namespace aglowav {
00012 
00013   // **************************************************************** Tree02 **
00014 
00018   template<class BiClNode>
00019   class Tree02 : public BiTree<BiClNode>, public cluster::Tree<BiClNode> {
00020 
00021   public:
00023     typedef ClstBiTreeTraits<BiClNode> Traits;
00024     typedef typename Traits::F         F;
00025 
00030     Tree02(const concepts::Space<F>& spc, const cluster::BBall<F>& ball);
00031 
00033     ~Tree02() {destructor_(root_);  delete root_;}
00034 
00036     inline uint nclst() const {return nclst_;}
00038     inline uint nleaf() const {return nlf_;}
00040     inline const BiClNode* root() const {return root_;}
00041 
00042   private:
00044     BiClNode* constructor_(BiClNode* lfset,
00045          cluster::CebyCenter<BiClNode>& cby);
00047     void destructor_(BiClNode* nd);
00048 
00050     uint nlf_;
00052     uint nclst_;
00054     BiClNode* root_;
00055   };
00056 
00057 } // namespace aglowav
00058 
00059 #endif // aglowavTree02_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)