Portage::SearchDirectProductBase< ID_t, D, SourceMeshType, TargetMeshType > Class Template Reference

Definition of the SearchDirectProductBase class. More...

#include <search_direct_product.h>

Public Member Functions

 SearchDirectProductBase ()=delete
 Default constructor (disabled) More...
 
 SearchDirectProductBase (const SourceMeshType &source_mesh, const TargetMeshType &target_mesh)
 Constructor with meshes. More...
 
SearchDirectProductBaseoperator= (const SearchDirectProductBase &)=delete
 Assignment operator (disabled) More...
 
std::vector< ID_t > operator() (const int tgt_cell) const
 Search for source cells that intersect a given target cell. More...
 

Detailed Description

template<typename ID_t, int D, typename SourceMeshType, typename TargetMeshType>
class Portage::SearchDirectProductBase< ID_t, D, SourceMeshType, TargetMeshType >

Definition of the SearchDirectProductBase class.

The SearchDirectProductBase mesh does the search process for meshes subject to the following assumptions:

  • The source mesh is a static, axis-aligned, logically-rectangular mesh, with cell widths that are allowed to vary across the mesh.
  • The target mesh may be unstructured, but its wrapper must be able to provide an axis-aligned bounding box for any cell.

Unlike most searches, SearchDirectProductBase is additionally tempated on the ID type (e.g., global vs local IDs). Many applications will use a typedef that specialized to a specific ID type.

Constructor & Destructor Documentation

◆ SearchDirectProductBase() [1/2]

template<typename ID_t , int D, typename SourceMeshType , typename TargetMeshType >
Portage::SearchDirectProductBase< ID_t, D, SourceMeshType, TargetMeshType >::SearchDirectProductBase ( )
delete

Default constructor (disabled)

◆ SearchDirectProductBase() [2/2]

template<typename ID_t , int D, typename SourceMeshType , typename TargetMeshType >
Portage::SearchDirectProductBase< ID_t, D, SourceMeshType, TargetMeshType >::SearchDirectProductBase ( const SourceMeshType &  source_mesh,
const TargetMeshType &  target_mesh 
)

Constructor with meshes.

Parameters
[in]source_meshThe source mesh wrapper.
[in]target_meshThe target mesh wrapper.

Member Function Documentation

◆ operator()()

template<typename ID_t , int D, typename SourceMeshType , typename TargetMeshType >
std::vector< ID_t > Portage::SearchDirectProductBase< ID_t, D, SourceMeshType, TargetMeshType >::operator() ( const int  tgt_cell) const

Search for source cells that intersect a given target cell.

Parameters
[in]tgt_cellThe cell on the target mesh

Callable routine that takes a target cell and searches for overlapping cells on the source mesh. Returns the list of overlapping source mesh cells.

◆ operator=()

template<typename ID_t , int D, typename SourceMeshType , typename TargetMeshType >
SearchDirectProductBase& Portage::SearchDirectProductBase< ID_t, D, SourceMeshType, TargetMeshType >::operator= ( const SearchDirectProductBase< ID_t, D, SourceMeshType, TargetMeshType > &  )
delete

Assignment operator (disabled)


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