Wildmeshing Toolkit
multi_mesh_edge_split.hpp
Go to the documentation of this file.
1 #pragma once
2 #include <memory>
5 
6 namespace wmtk {
7 class Mesh;
8 class Tuple;
9 
10 namespace invariants {
11 class InvariantCollection;
12 }
13 namespace operations::utils {
14 
15 
16 // Initializes any invariants for splitting (which is None by default, but enabling a pattern
17 // with other operations)
18 // TODO: it seems like this is never used?
19 std::shared_ptr<invariants::InvariantCollection> multimesh_edge_split_invariants(const Mesh& m);
20 
23  Mesh& mesh,
25  const std::vector<std::shared_ptr<const operations::BaseSplitNewAttributeStrategy>>&
26  new_attr_strategies);
27 
28 
29 std::vector<simplex::Simplex> multi_mesh_edge_split_with_modified_simplices(
30  Mesh& mesh,
31  const simplex::Simplex& simplex,
32  const std::vector<std::shared_ptr<const operations::BaseSplitNewAttributeStrategy>>&
33  new_attr_strategies);
34 
35 } // namespace operations::utils
36 } // namespace wmtk
wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnCacheCustomComparator< wmtk::operations::utils::MultiMeshEdgeSplitFunctor, wmtk::utils::metaprogramming::MeshVariantTraits, wmtk::simplex::utils::MeshSimplexComparator, simplex::NavigatableSimplex > SplitReturnData
SplitReturnData multi_mesh_edge_split(Mesh &mesh, const simplex::NavigatableSimplex &t, const std::vector< std::shared_ptr< const operations::BaseSplitNewAttributeStrategy >> &new_attr_strategies)
std::shared_ptr< invariants::InvariantCollection > multimesh_edge_split_invariants(const Mesh &m)
std::vector< simplex::Simplex > multi_mesh_edge_split_with_modified_simplices(Mesh &mesh, const simplex::Simplex &simplex, const std::vector< std::shared_ptr< const operations::BaseSplitNewAttributeStrategy >> &new_attr_strategies)
wmtk::multimesh::operations::SplitReturnData SplitReturnData
Definition: Accessor.hpp:6