#include <element_tree.hpp>
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 | |
Element_tree (Entity_handles &_entities, Moab &_moab, Box &_bounding_box, Parametrizer &_entity_contains) | |
Element_tree (Self &s) | |
template<typename Vector , typename Result > | |
Result & | find (const Vector &point, Result &result) const |
Private Types | |
typedef Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer > | Self |
typedef std::pair< Box, Entity_handle > | Leaf_element |
typedef _element_tree::_Node< Entity_handles, std::vector< Leaf_element > > | Node |
typedef common_tree::_Element_data< Box, std::bitset< NUM_DIM *MAX_ITERATIONS *2 > > | Element_data |
typedef std::vector< Node > | Nodes |
typedef std::tr1::unordered_map< Entity_handle, Element_data > | Element_map |
typedef std::vector< typename Element_map::iterator > | Element_list |
typedef _element_tree::_Partition_data< Box > | Partition_data |
Private Member Functions | |
template<typename Iterator , typename Split_data > | |
void | compute_split (Iterator &begin, Iterator &end, Split_data &split_data, bool iteration=false) |
template<typename Split_data > | |
bool | update_split_line (Split_data &data) const |
template<typename Iterator , typename Split_data , typename Directions > | |
void | determine_split (Iterator &begin, Iterator &end, Split_data &data, const Directions &directions) |
template<typename Iterator , typename Node_index , typename Directions , typename Partition_data > | |
void | build_tree (Iterator begin, Iterator end, const Node_index node, const Directions &directions, Partition_data &_data, int &depth, const bool is_middle=false) |
template<typename Vector , typename Node_index , typename Result > | |
Result & | _find_point (const Vector &point, const Node_index &index, Result &result) const |
Private Attributes | |
const Entity_handles & | entity_handles_ |
Nodes | tree_ |
Moab & | moab |
Box | bounding_box |
Parametrizer | entity_contains |
Definition at line 231 of file element_tree.hpp.
typedef _Box moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Box |
Definition at line 237 of file element_tree.hpp.
|
private |
Definition at line 249 of file element_tree.hpp.
|
private |
Definition at line 253 of file element_tree.hpp.
|
private |
Definition at line 252 of file element_tree.hpp.
typedef Entity_handles::value_type moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Entity_handle |
Definition at line 240 of file element_tree.hpp.
typedef _Entity_handles moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Entity_handles |
Definition at line 236 of file element_tree.hpp.
|
private |
Definition at line 245 of file element_tree.hpp.
typedef _Moab moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Moab |
Definition at line 238 of file element_tree.hpp.
|
private |
Definition at line 246 of file element_tree.hpp.
|
private |
Definition at line 250 of file element_tree.hpp.
typedef _Parametrizer moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Parametrizer |
Definition at line 239 of file element_tree.hpp.
|
private |
Definition at line 254 of file element_tree.hpp.
|
private |
Definition at line 244 of file element_tree.hpp.
|
inline |
Definition at line 258 of file element_tree.hpp.
References moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::bounding_box, moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::build_tree(), moab::common_tree::construct_element_map(), moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::entity_handles_, and moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::tree_.
|
inline |
Definition at line 287 of file element_tree.hpp.
|
inlineprivate |
Definition at line 543 of file element_tree.hpp.
References moab::common_tree::box_contains_point(), moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::entity_contains, and moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::tree_.
Referenced by moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::find().
|
inlineprivate |
Definition at line 470 of file element_tree.hpp.
References moab::common_tree::assign_entities(), children, moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::determine_split(), dim, ELEMENTS_PER_LEAF, entities, EPSILON, and moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::tree_.
Referenced by moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Element_tree().
|
inlineprivate |
Definition at line 295 of file element_tree.hpp.
References dim, left_line, moab::common_tree::print_vector(), right_line, and split.
Referenced by moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::determine_split().
|
inlineprivate |
Definition at line 401 of file element_tree.hpp.
References moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::compute_split(), left_rightline, moab::common_tree::print_vector(), right_leftline, and moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::update_split_line().
Referenced by moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::build_tree().
|
inline |
Definition at line 591 of file element_tree.hpp.
References moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::_find_point().
|
inlineprivate |
Definition at line 360 of file element_tree.hpp.
Referenced by moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::determine_split().
|
private |
Definition at line 606 of file element_tree.hpp.
Referenced by moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Element_tree().
|
private |
Definition at line 607 of file element_tree.hpp.
Referenced by moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::_find_point().
|
private |
Definition at line 603 of file element_tree.hpp.
Referenced by moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Element_tree().
|
private |
Definition at line 605 of file element_tree.hpp.
|
private |
Definition at line 604 of file element_tree.hpp.
Referenced by moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::_find_point(), moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::build_tree(), and moab::Element_tree< _Entity_handles, _Box, _Moab, _Parametrizer >::Element_tree().