29 #ifndef __RegionTree_H
30 #define __RegionTree_H 1
36 #include <boost/shared_ptr.hpp>
39 #include <feel/feelcore/feel.hpp>
40 #include <feel/feelcore/traits.hpp>
68 typedef std::deque<box_index_type> box_container_type;
69 typedef std::vector<const box_index_type*> pbox_container_type;
70 typedef std::set<const box_index_type*> pbox_set_type;
106 return M_boxes.size();
141 void findIntersectingBoxes(
const node_type& bmin,
const node_type& bmax, pbox_set_type& boxlst );
142 void findContainingBoxes(
const node_type& bmin,
const node_type& bmax, pbox_set_type& boxlst );
143 void findContainedBoxes(
const node_type& bmin,
const node_type& bmax, pbox_set_type& boxlst );
144 void findBoxesAtPoint(
const node_type& P, pbox_set_type& boxlst );
146 void findIntersectingBoxes(
const node_type& bmin,
const node_type& bmax, std::vector<size_type>& idvec );
147 void findContainingBoxes(
const node_type& bmin,
const node_type& bmax, std::vector<size_type>& idvec );
148 void findContainedBoxes(
const node_type& bmin,
const node_type& bmax, std::vector<size_type>& idvec );
149 void findBoxesAtPoint(
const node_type& P, std::vector<size_type>& idvec );
164 RegionTree(
const RegionTree& ) {}
169 static void toIdVector( pbox_set_type
const& bs, std::vector<size_type>& idvec );
171 element_base* M_root;
173 box_container_type M_boxes;