20 #ifndef LIBMESH_TREE_NODE_H 21 #define LIBMESH_TREE_NODE_H 31 #include <unordered_map> 52 template <
unsigned int N>
114 Real relative_tol = 0)
const;
121 Real relative_tol = 0)
const;
126 unsigned int level ()
const;
161 const std::set<subdomain_id_type> * allowed_subdomains =
nullptr,
171 const std::set<subdomain_id_type> * allowed_subdomains,
172 Real relative_tol)
const;
237 template <
unsigned int N>
245 target_bin_size_increase_level(10),
246 contains_ifems (false)
250 libmesh_assert (this->
active());
259 template <
unsigned int N>
266 for (std::size_t c=0; c<children.size(); c++)
272 template <
unsigned int N>
276 if (parent !=
nullptr)
277 return parent->level()+1;
287 #endif // LIBMESH_TREE_NODE_H unsigned int target_bin_size_increase_level
BoundingBox create_bounding_box(unsigned int c) const
A geometric point in (x,y,z) space associated with a DOF.
const TreeNode< N > * parent
bool bounds_point(const Point &p, Real relative_tol=0) const
unsigned int n_active_bins() const
The base class for all geometric element types.
std::vector< const Node * > nodes
void transform_nodes_to_elements(std::vector< std::vector< const Elem *>> &nodes_to_elem)
bool bounds_node(const Node *nd, Real relative_tol=0) const
static const Real TOLERANCE
std::vector< const Elem * > elements
bool insert(const Node *nd)
const Elem * find_element_in_children(const Point &p, const std::set< subdomain_id_type > *allowed_subdomains, Real relative_tol) const
const unsigned int tgt_bin_size
Base class for different Tree types.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void print_nodes(std::ostream &out=libMesh::out) const
unsigned int level() const
const Elem * find_element(const Point &p, const std::set< subdomain_id_type > *allowed_subdomains=nullptr, Real relative_tol=TOLERANCE) const
void set_bounding_box(const std::pair< Point, Point > &bbox)
OStreamProxy out(std::cout)
void print_elements(std::ostream &out=libMesh::out) const
A geometric point in (x,y,z) space.
std::vector< TreeNode< N > *> children
TreeNode(const MeshBase &m, unsigned int tbs, const TreeNode< N > *p=nullptr)