RINGMesh  Version 5.0.0
A programming library for geological model meshes
RINGMesh::VolumeAABBTree< DIMENSION > Class Template Reference

#include <aabb.h>

Inheritance diagram for RINGMesh::VolumeAABBTree< DIMENSION >:
RINGMesh::AABBTree< DIMENSION >

Public Member Functions

 VolumeAABBTree (const VolumeMesh< DIMENSION > &mesh)
 
index_t containing_cell (const vecn< DIMENSION > &query) const
 Gets the cell contining a point. More...
 
- Public Member Functions inherited from RINGMesh::AABBTree< DIMENSION >
index_t nb_bboxes () const
 
template<typename EvalDistance >
std::tuple< index_t, vecn< DIMENSION >, doubleclosest_element_box (const vecn< DIMENSION > &query, const EvalDistance &action) const
 Gets the closest element box to a point. More...
 
template<class EvalIntersection >
void compute_bbox_element_bbox_intersections (const Box< DIMENSION > &box, EvalIntersection &action) const
 
template<class EvalIntersection >
void compute_self_element_bbox_intersections (EvalIntersection &action) const
 

Private Member Functions

 ringmesh_template_assert_3d (DIMENSION)
 
vecn< DIMENSION > get_point_hint_from_box (const Box< DIMENSION > &box, index_t element_id) const override
 Gets an element point from its box. More...
 
index_t containing_cell_recursive (const vecn< DIMENSION > &query, index_t node_index, index_t box_begin, index_t box_end) const
 

Private Attributes

const VolumeMesh< DIMENSION > & mesh_
 

Additional Inherited Members

- Static Public Attributes inherited from RINGMesh::AABBTree< DIMENSION >
static const index_t ROOT_INDEX = 1
 
- Protected Member Functions inherited from RINGMesh::AABBTree< DIMENSION >
 AABBTree ()=default
 
virtual ~AABBTree ()=default
 
void initialize_tree (const std::vector< Box< DIMENSION > > &bboxes)
 Builds the tree. More...
 
bool is_leaf (index_t box_begin, index_t box_end) const
 
void get_recursive_iterators (index_t node_index, index_t box_begin, index_t box_end, index_t &middle_box, index_t &child_left, index_t &child_right) const
 
const Box< DIMENSION > & node (index_t i) const
 
Box< DIMENSION > & node (index_t i)
 
- Protected Attributes inherited from RINGMesh::AABBTree< DIMENSION >
std::vector< Box< DIMENSION > > tree_ {}
 
std::vector< index_t > mapping_morton_ {}
 

Detailed Description

template<index_t DIMENSION>
class RINGMesh::VolumeAABBTree< DIMENSION >

Definition at line 375 of file aabb.h.

Constructor & Destructor Documentation

◆ VolumeAABBTree()

template<index_t DIMENSION>
RINGMesh::VolumeAABBTree< DIMENSION >::VolumeAABBTree ( const VolumeMesh< DIMENSION > &  mesh)
explicit

Definition at line 423 of file aabb.cpp.

Member Function Documentation

◆ containing_cell()

template<index_t DIMENSION>
index_t RINGMesh::VolumeAABBTree< DIMENSION >::containing_cell ( const vecn< DIMENSION > &  query) const

Gets the cell contining a point.

Parameters
[in]querythe point to use
Returns
the cell index containing query, NO_ID if no cell is corresponding

Definition at line 450 of file aabb.cpp.

◆ containing_cell_recursive()

template<index_t DIMENSION>
index_t RINGMesh::VolumeAABBTree< DIMENSION >::containing_cell_recursive ( const vecn< DIMENSION > &  query,
index_t  node_index,
index_t  box_begin,
index_t  box_end 
) const
private

Definition at line 458 of file aabb.cpp.

◆ get_point_hint_from_box()

template<index_t DIMENSION>
vecn< DIMENSION > RINGMesh::VolumeAABBTree< DIMENSION >::get_point_hint_from_box ( const Box< DIMENSION > &  box,
index_t  element_id 
) const
overrideprivatevirtual

Gets an element point from its box.

In this case, the point is the first vertex of the element

Implements RINGMesh::AABBTree< DIMENSION >.

Definition at line 441 of file aabb.cpp.

◆ ringmesh_template_assert_3d()

template<index_t DIMENSION>
RINGMesh::VolumeAABBTree< DIMENSION >::ringmesh_template_assert_3d ( DIMENSION  )
private

Member Data Documentation

◆ mesh_

template<index_t DIMENSION>
const VolumeMesh< DIMENSION >& RINGMesh::VolumeAABBTree< DIMENSION >::mesh_
private

Definition at line 403 of file aabb.h.


The documentation for this class was generated from the following files: