Wildmeshing Toolkit
|
#include <MultiMeshSimplexVisitor.hpp>
Public Types | |
using | MeshVariantTraits = wmtk::utils::metaprogramming::MeshVariantTraits |
using | NodeFunctor = NodeFunctor_ |
using | ReturnDataType = wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnCacheCustomComparator< NodeFunctor, MeshVariantTraits, wmtk::simplex::utils::MeshSimplexComparator, simplex::NavigatableSimplex > |
using | CacheType = ReturnDataType |
using | TypeHelper = wmtk::utils::metaprogramming::detail::ReferenceWrappedFunctorReturnType< NodeFunctor, MeshVariantTraits::AllReferenceTuple, wmtk::simplex::Simplex > |
template<typename MeshType > | |
using | GetReturnType_t = typename TypeHelper::template ReturnType< MeshType > |
using | Executor = MultiMeshSimplexVisitorExecutor< MultiMeshSimplexVisitor< cell_dimension, NodeFunctor > > |
Public Member Functions | |
MultiMeshSimplexVisitor (NodeFunctor &&f) | |
MultiMeshSimplexVisitor (std::integral_constant< int64_t, cell_dimension >, NodeFunctor &&f) | |
template<typename MeshType > | |
void | execute_mesh (MeshType &&mesh, const simplex::NavigatableSimplex &simplex) |
void | execute_from_root (Mesh &mesh, const simplex::NavigatableSimplex &simplex) |
const CacheType & | cache () const |
CacheType | take_cache () |
auto | node_events () const |
const auto & | edge_events () const |
Static Public Attributes | |
constexpr static int64_t | cell_dimension = cell_dimension_ |
constexpr static bool | HasReturnCache |
template<typename MeshType > | |
constexpr static bool | HasReturnValue_v = !std::is_void_v<GetReturnType_t<MeshType>> |
Protected Types | |
using | KeyType = std::conditional_t< HasReturnCache, typename ReturnDataType::KeyType, std::tuple< const Mesh * > > |
Protected Attributes | |
NodeFunctor | m_node_functor |
CacheType | m_cache |
std::vector< std::tuple< KeyType, KeyType > > | m_edge_events |
Friends | |
template<typename MMVisitor_ > | |
class | MultiMeshSimplexVisitorExecutor |
Definition at line 29 of file MultiMeshSimplexVisitor.hpp.
using wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::CacheType = ReturnDataType |
Definition at line 45 of file MultiMeshSimplexVisitor.hpp.
using wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::Executor = MultiMeshSimplexVisitorExecutor<MultiMeshSimplexVisitor<cell_dimension, NodeFunctor> > |
Definition at line 83 of file MultiMeshSimplexVisitor.hpp.
using wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::GetReturnType_t = typename TypeHelper::template ReturnType<MeshType> |
Definition at line 53 of file MultiMeshSimplexVisitor.hpp.
|
protected |
Definition at line 137 of file MultiMeshSimplexVisitor.hpp.
using wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::MeshVariantTraits = wmtk::utils::metaprogramming::MeshVariantTraits |
Definition at line 32 of file MultiMeshSimplexVisitor.hpp.
using wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::NodeFunctor = NodeFunctor_ |
Definition at line 33 of file MultiMeshSimplexVisitor.hpp.
Definition at line 39 of file MultiMeshSimplexVisitor.hpp.
using wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::TypeHelper = wmtk::utils::metaprogramming::detail::ReferenceWrappedFunctorReturnType< NodeFunctor, MeshVariantTraits::AllReferenceTuple, wmtk::simplex::Simplex> |
Definition at line 47 of file MultiMeshSimplexVisitor.hpp.
|
inline |
Definition at line 68 of file MultiMeshSimplexVisitor.hpp.
|
inline |
Definition at line 76 of file MultiMeshSimplexVisitor.hpp.
|
inline |
Definition at line 128 of file MultiMeshSimplexVisitor.hpp.
References wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::m_cache.
Referenced by wmtk::multimesh::MultiMeshSimplexEventVisitor< cell_dimension, Functor >::get_cached_return().
|
inline |
Definition at line 131 of file MultiMeshSimplexVisitor.hpp.
References wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::m_edge_events.
Referenced by wmtk::multimesh::MultiMeshSimplexEventVisitor< cell_dimension, Functor >::edge_events().
|
inline |
Definition at line 114 of file MultiMeshSimplexVisitor.hpp.
References wmtk::utils::metaprogramming::as_mesh_variant(), wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::execute_mesh(), wmtk::Mesh::get_multi_mesh_root(), wmtk::Mesh::is_valid(), wmtk::Mesh::map_to_root(), wmtk::simplex::NavigatableSimplex::tuple(), and wmtk::simplex::Simplex::tuple().
Referenced by wmtk::invariants::MultiMeshLinkConditionInvariant::before(), wmtk::MultiMeshMapValidInvariant::before(), wmtk::operations::utils::multi_mesh_edge_collapse(), and wmtk::operations::utils::multi_mesh_edge_split().
|
inline |
Definition at line 94 of file MultiMeshSimplexVisitor.hpp.
References wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::edge_events, wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::execute(), wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::HasReturnCache, wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::m_cache, wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::m_edge_events, and wmtk::multimesh::MultiMeshSimplexVisitorExecutor< MMVisitor >::m_return_data.
Referenced by wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::execute_from_root().
|
inline |
Definition at line 130 of file MultiMeshSimplexVisitor.hpp.
References wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::m_cache.
Referenced by wmtk::multimesh::MultiMeshSimplexEventVisitor< cell_dimension, Functor >::node_events().
|
inline |
Definition at line 129 of file MultiMeshSimplexVisitor.hpp.
References wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::m_cache.
|
friend |
Definition at line 82 of file MultiMeshSimplexVisitor.hpp.
|
staticconstexpr |
Definition at line 34 of file MultiMeshSimplexVisitor.hpp.
|
staticconstexpr |
Definition at line 36 of file MultiMeshSimplexVisitor.hpp.
Referenced by wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::execute_mesh().
|
staticconstexpr |
Definition at line 55 of file MultiMeshSimplexVisitor.hpp.
|
protected |
Definition at line 135 of file MultiMeshSimplexVisitor.hpp.
Referenced by wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::cache(), wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::execute_mesh(), wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::node_events(), and wmtk::multimesh::MultiMeshSimplexVisitor< cell_dimension_, NodeFunctor_ >::take_cache().
|
protected |
|
protected |
Definition at line 134 of file MultiMeshSimplexVisitor.hpp.