46 type(
mesh_t),
private,
pointer :: msh => null()
59 type(
mesh_t),
target,
intent(in) :: msh
60 real(kind=
dp),
intent(in),
optional :: padding
61 type(
hex_t),
allocatable :: elements(:)
67 call this%search_tree%init(msh%nelv)
70 allocate(elements(msh%nelv))
72 select type(el => msh%elements(i)%e)
80 if (
present(padding))
then
81 call this%search_tree%build(elements, padding)
83 call this%search_tree%build(elements)
88 if (this%search_tree%get_size() .ne. (msh%nelv))
then
89 call neko_error(
"Error building the search tree.")
98 if (
associated(this%msh))
then
112 call this%search_tree%query_overlaps(p, -1, overlaps)
Axis Aligned Bounding Box (aabb) Tree data structure.
Defines a hexahedron element.
Implements a mesh intersection detector.
subroutine intersect_detector_free(this)
Destroy an intersector detector.
subroutine intersect_detector_overlap(this, p, overlaps)
Computes the overlap between elements and a given point p.
subroutine intersect_detector_init(this, msh, padding)
Initialise an intersector detector for a given mesh msh.
integer, parameter, public dp
Implements a dynamic stack ADT.
Axis Aligned Bounding Box (aabb) Tree.
A point in with coordinates .