FDHTree.h

Go to the documentation of this file.
00001 /* $Id: FDHTree.h,v 1.2 2002/11/05 14:31:15 anonymous Exp $ */
00002 
00003 #ifndef __FDH_TREE_H
00004 #define __FDH_TREE_H
00005 
00006 #include <esg/Definitions.h>
00007 #include <esg/SceneGraphObject.h>
00008 #include <esg/spacesorting/BVH.h>
00009 #include <esg/geometry/FDH.h>
00010 #include <esg/geometry/BVList.h>
00011 
00012 namespace esg {
00013 
00014 class OGSCENE_EXPORT FDHTree : public BVH {
00015 protected:
00016     virtual bool       _enlarge_bv  (Geometry**, Geometry&);
00017     virtual Geometry*  _create_bv   (List<SceneGraphObject>&);
00018     virtual Geometry*  _create_bv   (Geometry&, Geometry&);
00019     virtual Geometry*  _create_bv   (SceneGraphObject&);
00020     virtual Geometry*  _create_bv   (const float*, unsigned);
00021     virtual BVList*    _create_list ();
00022 
00023     // Attributes _dirs and _fdhMat are not duplicated there because they
00024     // are constant.
00025     // Protected constructor is used instead for such purpose.
00026     virtual void _duplicate_attributes (const SDS&);
00027     
00028     const unsigned _dirs;          // Number of directions
00029     const float    (*_fdhMat)[3];  // FDH matrix
00030     
00031     FDHTree (unsigned d, const float (*m)[3]) : _dirs(d), _fdhMat(m) {}
00032     
00033 public:
00034     FDHTree (unsigned,            // leaf limit
00035              unsigned,            // depth limit
00036              const float(*)[3],   // FDH matrix
00037              const unsigned,      // number of directions
00038              bool,                // delay creation
00039              BVList::SplitStrategy
00040              );
00041     
00042     virtual SDS* clone () const;
00043 };
00044 
00045 }; // namespace
00046 
00047 #endif // __FDH_TREE_H

Generated on Wed Jun 28 12:24:28 2006 for esg by  doxygen 1.4.6