36 template <
unsigned int N>
38 unsigned int target_bin_size,
41 root(m,target_bin_size),
55 bool node_was_inserted =
58 libmesh_assert(node_was_inserted);
64 std::unordered_map<dof_id_type, std::vector<const Elem *>> nodes_to_elem;
67 root.transform_nodes_to_elements (nodes_to_elem);
77 bool elem_was_inserted =
80 libmesh_assert(elem_was_inserted);
91 bool elem_was_inserted =
94 libmesh_assert(elem_was_inserted);
99 libmesh_error_msg(
"Unknown build_type = " <<
build_type);
105 template <
unsigned int N>
108 root (other_tree.root),
109 build_type (other_tree.build_type)
111 libmesh_not_implemented();
119 template <
unsigned int N>
122 my_out <<
"Printing nodes...\n";
123 root.print_nodes(my_out);
128 template <
unsigned int N>
131 my_out <<
"Printing elements...\n";
132 root.print_elements(my_out);
137 template <
unsigned int N>
140 const std::set<subdomain_id_type> * allowed_subdomains,
141 Real relative_tol)
const 143 return root.find_element(p, allowed_subdomains, relative_tol);
148 template <
unsigned int N>
151 const std::set<subdomain_id_type> * allowed_subdomains,
152 Real relative_tol)
const 154 return this->find_element(p, allowed_subdomains, relative_tol);
virtual void print_nodes(std::ostream &my_out=libMesh::out) const override
const Elem * operator()(const Point &p, const std::set< subdomain_id_type > *allowed_subdomains=nullptr, Real relative_tol=TOLERANCE) const
virtual const Elem * find_element(const Point &p, const std::set< subdomain_id_type > *allowed_subdomains=nullptr, Real relative_tol=TOLERANCE) const override
Tree class templated on the number of leaves on each node.
The base class for all geometric element types.
virtual SimpleRange< element_iterator > active_element_ptr_range()=0
virtual SimpleRange< element_iterator > active_local_element_ptr_range()=0
virtual void print_elements(std::ostream &my_out=libMesh::out) const override
virtual SimpleRange< node_iterator > node_ptr_range()=0
Tree(const MeshBase &m, unsigned int target_bin_size, Trees::BuildType bt=Trees::NODES)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
BuildType
Base class for different Tree types.
A geometric point in (x,y,z) space.
const Trees::BuildType build_type