#include <bvh_tree.hpp>
Collaboration diagram for moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >:Public Types | |
| typedef _Entity_handles | Entity_handles |
| typedef _Box | Box |
| typedef _Moab | Moab |
| typedef _Parametrizer | Parametrizer |
| typedef Entity_handles::value_type | Entity_handle |
Public Member Functions | |
| Bvh_tree (Entity_handles &_entities, Moab &_moab, Box &_bounding_box, Parametrizer &_entity_contains) | |
| Bvh_tree (Self &s) | |
| template<typename Box > | |
| std::size_t | bucket_index (const Box &box, const Box &interval, const std::size_t dim) const |
| template<typename Iterator , typename Bounding_box , typename Buckets > | |
| void | establish_buckets (const Iterator begin, const Iterator end, const Bounding_box &interval, Buckets &buckets) const |
| template<typename Box , typename Iterator > | |
| std::size_t | set_interval (Box &interval, const Iterator begin, const Iterator end) const |
| template<typename Splits , typename Buckets , typename Split_data > | |
| void | initialize_splits (Splits &splits, const Buckets &buckets, const Split_data &data) const |
| template<typename Iterator , typename Split_data > | |
| void | order_elements (const Iterator &begin, const Iterator &end, const Split_data &data) const |
| template<typename Iterator , typename Split_data > | |
| void | median_order (const Iterator &begin, const Iterator &end, Split_data &data) const |
| template<typename Splits , typename Split_data > | |
| void | choose_best_split (const Splits &splits, Split_data &data) const |
| template<typename Iterator , typename Split_data > | |
| void | find_split (const Iterator &begin, const Iterator &end, Split_data &data) const |
| template<typename Vector , typename Result > | |
| Result & | find (const Vector &point, const double tol, Result &result) const |
| template<typename Vector > | |
| Entity_handle | bruteforce_find (const Vector &point, const double tol) const |
Private Types | |
| typedef Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer > | Self |
| typedef std::pair< Box, Entity_handle > | Leaf_element |
| typedef _bvh::_Node< Box, Entity_handle > | Node |
| typedef std::vector< Node > | Nodes |
Private Member Functions | |
| template<typename Iterator > | |
| int | build_tree (const Iterator begin, const Iterator end, const int index, const Box &box, const int depth=0) |
| template<typename Vector , typename Node_index , typename Result > | |
| Result & | _find_point (const Vector &point, const Node_index &index, const double tol, Result &result) const |
Private Attributes | |
| const Entity_handles & | entity_handles_ |
| Nodes | tree_ |
| Moab & | moab |
| Box | bounding_box |
| Parametrizer & | entity_contains |
Definition at line 152 of file bvh_tree.hpp.
| typedef _Box moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Box |
Definition at line 157 of file bvh_tree.hpp.
| typedef Entity_handles::value_type moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Entity_handle |
Definition at line 160 of file bvh_tree.hpp.
| typedef _Entity_handles moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Entity_handles |
Definition at line 156 of file bvh_tree.hpp.
|
private |
Definition at line 165 of file bvh_tree.hpp.
| typedef _Moab moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Moab |
Definition at line 158 of file bvh_tree.hpp.
|
private |
Definition at line 166 of file bvh_tree.hpp.
|
private |
Definition at line 167 of file bvh_tree.hpp.
| typedef _Parametrizer moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Parametrizer |
Definition at line 159 of file bvh_tree.hpp.
|
private |
Definition at line 164 of file bvh_tree.hpp.
|
inline |
Definition at line 171 of file bvh_tree.hpp.
References moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::bounding_box, moab::common_tree::box_contains_box(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::build_tree(), moab::common_tree::construct_element_map(), moab::common_tree::construct_ordering(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::entity_handles_, and moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::tree_.
|
inline |
Definition at line 234 of file bvh_tree.hpp.
|
inlineprivate |
Definition at line 679 of file bvh_tree.hpp.
References moab::common_tree::box_contains_point(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::entity_contains, moab::index, and moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::tree_.
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::find().
|
inline |
Definition at line 761 of file bvh_tree.hpp.
References moab::common_tree::box_contains_point(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::entity_contains, and moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::tree_.
|
inline |
Definition at line 247 of file bvh_tree.hpp.
References center(), length(), and NUM_BUCKETS.
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::establish_buckets(), and moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::order_elements().
|
inlineprivate |
Definition at line 639 of file bvh_tree.hpp.
References moab::common_tree::assign_entities(), moab::common_tree::box_contains_box(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::find_split(), moab::index, SMAX, and moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::tree_.
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Bvh_tree().
|
inline |
Definition at line 498 of file bvh_tree.hpp.
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::find_split().
|
inline |
Definition at line 267 of file bvh_tree.hpp.
References moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::bounding_box, moab::common_tree::box_contains_box(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::bucket_index(), moab::index, NUM_DIM, and moab::common_tree::update_bounding_box().
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::find_split().
|
inline |
Definition at line 752 of file bvh_tree.hpp.
References moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::_find_point().
|
inline |
Definition at line 515 of file bvh_tree.hpp.
References moab::common_tree::box_contains_box(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::choose_best_split(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::establish_buckets(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::initialize_splits(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::median_order(), NUM_BUCKETS, NUM_DIM, NUM_SPLITS, moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::order_elements(), and moab::common_tree::update_bounding_box().
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::build_tree().
|
inline |
Definition at line 380 of file bvh_tree.hpp.
References moab::common_tree::box_contains_box(), NUM_DIM, moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::set_interval(), and moab::common_tree::update_bounding_box().
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::find_split().
|
inline |
Definition at line 451 of file bvh_tree.hpp.
References moab::common_tree::box_contains_box(), center(), moab::common_tree::compute_box_center(), and moab::common_tree::update_bounding_box().
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::find_split().
|
inline |
Definition at line 439 of file bvh_tree.hpp.
References moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::bucket_index(), and moab::index.
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::find_split().
|
inline |
Definition at line 355 of file bvh_tree.hpp.
References moab::GeomUtil::first(), and moab::common_tree::update_bounding_box().
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::initialize_splits().
|
private |
Definition at line 794 of file bvh_tree.hpp.
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Bvh_tree(), and moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::establish_buckets().
|
private |
Definition at line 795 of file bvh_tree.hpp.
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::_find_point(), and moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::bruteforce_find().
|
private |
Definition at line 791 of file bvh_tree.hpp.
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Bvh_tree().
|
private |
Definition at line 793 of file bvh_tree.hpp.
|
private |
Definition at line 792 of file bvh_tree.hpp.
Referenced by moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::_find_point(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::bruteforce_find(), moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::build_tree(), and moab::Bvh_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Bvh_tree().