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

#include <aabb.h>

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

Public Member Functions

 BoxAABBTree (const std::vector< Box< DIMENSION > > &boxes)
 
- 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

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...
 

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::BoxAABBTree< DIMENSION >

Definition at line 258 of file aabb.h.

Constructor & Destructor Documentation

◆ BoxAABBTree()

template<index_t DIMENSION>
RINGMesh::BoxAABBTree< DIMENSION >::BoxAABBTree ( const std::vector< Box< DIMENSION > > &  boxes)
explicit

Definition at line 308 of file aabb.cpp.

Member Function Documentation

◆ get_point_hint_from_box()

template<index_t DIMENSION>
vecn< DIMENSION > RINGMesh::BoxAABBTree< 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 barycenter of the box

Implements RINGMesh::AABBTree< DIMENSION >.

Definition at line 315 of file aabb.cpp.


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