20#ifndef LIBMESH_TREE_BASE_H
21#define LIBMESH_TREE_BASE_H
24#include "libmesh/reference_counted_object.h"
25#include "libmesh/id_types.h"
26#include "libmesh/libmesh_common.h"
104 const std::set<subdomain_id_type> * allowed_subdomains =
nullptr,
114 std::set<const Elem *> & candidate_elements,
115 const std::set<subdomain_id_type> * allowed_subdomains =
nullptr,
This is the base class from which all geometric element types are derived.
This is the MeshBase class.
A Point defines a location in LIBMESH_DIM dimensional Real space.
This class implements reference counting.
This is the base class for trees, it allows pointer usage of trees.
virtual void print_elements(std::ostream &out_stream=libMesh::out) const =0
Prints the nodes.
const MeshBase & mesh
Constant reference to a mesh.
virtual const Elem * find_element(const Point &p, const std::set< subdomain_id_type > *allowed_subdomains=nullptr, Real relative_tol=TOLERANCE) const =0
virtual ~TreeBase()=default
Destructor.
virtual void print_nodes(std::ostream &out_stream=libMesh::out) const =0
Prints the nodes.
virtual void find_elements(const Point &p, std::set< const Elem * > &candidate_elements, const std::set< subdomain_id_type > *allowed_subdomains=nullptr, Real relative_tol=TOLERANCE) const =0
Fills candidate_elements with any elements containing the specified point p, optionally restricted to...
virtual unsigned int n_active_bins() const =0
TreeBase(const MeshBase &m)
Constructor.
BuildType
enum defining how to build the tree.
The libMesh namespace provides an interface to certain functionality in the library.
static constexpr Real TOLERANCE
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real