RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
#include <aabb.h>
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 >, double > | closest_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_ {} |
|
explicit |
index_t RINGMesh::VolumeAABBTree< DIMENSION >::containing_cell | ( | const vecn< DIMENSION > & | query | ) | const |
|
private |
|
overrideprivatevirtual |
Gets an element point from its box.
In this case, the point is the first vertex of the element
Implements RINGMesh::AABBTree< DIMENSION >.
|
private |
|
private |