Wildmeshing Toolkit
wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor > Class Template Reference

#include <MultiMeshSimplexVisitor.hpp>

Public Types

using MeshVariantTraits = wmtk::utils::metaprogramming::MeshVariantTraits
 
using NodeFunctor = typename MMVisitor::NodeFunctor
 
template<typename T >
using GetReturnType_t = typename MMVisitor::template GetReturnType_t< T >
 
using ReturnDataType = wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnCacheCustomComparator< NodeFunctor, MeshVariantTraits, wmtk::simplex::utils::MeshSimplexComparator, simplex::NavigatableSimplex >
 
using KeyType = std::conditional_t< HasReturnCache, typename ReturnDataType::KeyType, std::tuple< const Mesh * > >
 

Public Member Functions

 MultiMeshSimplexVisitorExecutor (const MMVisitor &v)
 
template<typename MeshType >
void execute (MeshType &&mesh, const simplex::NavigatableSimplex &simplex)
 

Public Attributes

ReturnDataType m_return_data
 
const MMVisitor & visitor
 
std::vector< std::tuple< KeyType, KeyType > > edge_events
 

Static Public Attributes

constexpr static int64_t cell_dimension = MMVisitor::cell_dimension
 
constexpr static bool HasReturnCache
 

Private Member Functions

template<typename MeshType_ >
void run (MeshType_ &&current_mesh, const simplex::NavigatableSimplex &simplex)
 

Detailed Description

template<typename MMVisitor>
class wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >

Definition at line 147 of file MultiMeshSimplexVisitor.hpp.

Member Typedef Documentation

◆ GetReturnType_t

template<typename MMVisitor >
template<typename T >
using wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::GetReturnType_t = typename MMVisitor::template GetReturnType_t<T>

Definition at line 154 of file MultiMeshSimplexVisitor.hpp.

◆ KeyType

template<typename MMVisitor >
using wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::KeyType = std:: conditional_t<HasReturnCache, typename ReturnDataType::KeyType, std::tuple<const Mesh*> >

Definition at line 173 of file MultiMeshSimplexVisitor.hpp.

◆ MeshVariantTraits

◆ NodeFunctor

template<typename MMVisitor >
using wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::NodeFunctor = typename MMVisitor::NodeFunctor

Definition at line 152 of file MultiMeshSimplexVisitor.hpp.

◆ ReturnDataType

Constructor & Destructor Documentation

◆ MultiMeshSimplexVisitorExecutor()

template<typename MMVisitor >
wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::MultiMeshSimplexVisitorExecutor ( const MMVisitor &  v)
inline

Definition at line 167 of file MultiMeshSimplexVisitor.hpp.

Member Function Documentation

◆ execute()

template<typename MMVisitor >
template<typename MeshType >
void wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::execute ( MeshType &&  mesh,
const simplex::NavigatableSimplex simplex 
)
inline

Definition at line 187 of file MultiMeshSimplexVisitor.hpp.

References wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::run().

Referenced by wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::execute_mesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run()

template<typename MMVisitor >
template<typename MeshType_ >
void wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::run ( MeshType_ &&  current_mesh,
const simplex::NavigatableSimplex simplex 
)
inlineprivate

Definition at line 200 of file MultiMeshSimplexVisitor.hpp.

References wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::cell_dimension, and wmtk::simplex::NavigatableSimplex::tuple().

Referenced by wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ cell_dimension

template<typename MMVisitor >
constexpr static int64_t wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::cell_dimension = MMVisitor::cell_dimension
staticconstexpr

◆ edge_events

template<typename MMVisitor >
std::vector<std::tuple<KeyType, KeyType> > wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::edge_events

◆ HasReturnCache

template<typename MMVisitor >
constexpr static bool wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::HasReturnCache
staticconstexpr
Initial value:
=
!wmtk::utils::metaprogramming::
all_return_void_v<NodeFunctor, MeshVariantTraits, simplex::Simplex>

Definition at line 163 of file MultiMeshSimplexVisitor.hpp.

◆ m_return_data

◆ visitor

template<typename MMVisitor >
const MMVisitor& wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::visitor

Definition at line 172 of file MultiMeshSimplexVisitor.hpp.


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