Portage::SearchKDTree< D, on_what, SourceMeshType, TargetMeshType > Class Template Reference

A k-d tree search class that allows us to search for control volumes of entities from one mesh (source) that potentially overlap the control volume of an entity from the second mesh (target) More...

#include <search_kdtree.h>

Public Member Functions

 SearchKDTree ()=delete
 Default constructor (disabled) More...
 
 SearchKDTree (const SourceMeshType &source_mesh, const TargetMeshType &target_mesh)
 Builds the k-d tree for searching for intersection candidates. More...
 
std::vector< int > operator() (const int entityId) const
 Find the source mesh entities whose control volumes potentially overlap control volumes of a given target entity. More...
 

Detailed Description

template<int D, Entity_kind on_what, typename SourceMeshType, typename TargetMeshType>
class Portage::SearchKDTree< D, on_what, SourceMeshType, TargetMeshType >

A k-d tree search class that allows us to search for control volumes of entities from one mesh (source) that potentially overlap the control volume of an entity from the second mesh (target)

Template Parameters
DThe dimension of the problem space.
on_whatThe kind of entity we are doing a search on (NODE, CELL)
SourceMeshTypeThe mesh type of the source mesh.
TargetMeshTypeThe mesh type of the target mesh.

Constructor & Destructor Documentation

◆ SearchKDTree() [1/2]

template<int D, Entity_kind on_what, typename SourceMeshType , typename TargetMeshType >
Portage::SearchKDTree< D, on_what, SourceMeshType, TargetMeshType >::SearchKDTree ( )
delete

Default constructor (disabled)

◆ SearchKDTree() [2/2]

template<int D, Entity_kind on_what, typename SourceMeshType , typename TargetMeshType >
Portage::SearchKDTree< D, on_what, SourceMeshType, TargetMeshType >::SearchKDTree ( const SourceMeshType &  source_mesh,
const TargetMeshType &  target_mesh 
)
inline

Builds the k-d tree for searching for intersection candidates.

Parameters
[in]source_meshMesh in which we search for candidates
[in]target_meshMesh containing entity for which we search

Constructor for k-d tree for finding entities from a source mesh whose control volumes overlap the control volume of an entity of the target mesh.

Member Function Documentation

◆ operator()()

template<int D, Entity_kind on_what, typename SourceMeshType , typename TargetMeshType >
std::vector<int> Portage::SearchKDTree< D, on_what, SourceMeshType, TargetMeshType >::operator() ( const int  entityId) const
inline

Find the source mesh entities whose control volumes potentially overlap control volumes of a given target entity.

Parameters
[in]entityIdThe index of the cell in the target mesh for which we wish to find the candidate overlapping cells in the source mesh.
[in,out]candidatesPointer to a vector of potential candidate cells in the source mesh.

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