Wildmeshing Toolkit
CollapseNewAttributeTopoInfo.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace wmtk::operations {
7 {
8 public:
10  using ReturnVariant = ReturnData::ReturnVariant;
11 
12  virtual ~CollapseNewAttributeTopoInfo() = default;
13 
14  // these virtuals are handled by per-mesh dimension code
15  // the sipmlices that were merged together
16  virtual std::vector<std::array<Tuple, 2>> merged_simplices(
17  const ReturnVariant& ret_data,
18  const Tuple& input_tuple,
19  PrimitiveType pt) const = 0;
20 
21  // these virtuals are handled by per-mesh dimension code
22  // the simplices that were created by merging simplices
23  virtual std::vector<Tuple> new_simplices(
24  const ReturnVariant& ret_data,
25  const Tuple& input_tuple,
26  PrimitiveType pt) const = 0;
27 
28  // set of faces whose one ring were modified
29  // SHOULD be safe to resurrect to a previous state
30  // std::vector<Tuple> output_modified_simplices(
31  // const ReturnVariant& ret_data,
32  // PrimitiveType pt,
33  // const Tuple& output_tuple) const = 0;
34 };
35 } // namespace wmtk::operations
virtual std::vector< std::array< Tuple, 2 > > merged_simplices(const ReturnVariant &ret_data, const Tuple &input_tuple, PrimitiveType pt) const =0
virtual std::vector< Tuple > new_simplices(const ReturnVariant &ret_data, const Tuple &input_tuple, PrimitiveType pt) const =0
wmtk::multimesh::operations::CollapseReturnData ReturnData
wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnCacheCustomComparator< wmtk::operations::utils::MultiMeshEdgeCollapseFunctor, wmtk::utils::metaprogramming::MeshVariantTraits, wmtk::simplex::utils::MeshSimplexComparator, simplex::NavigatableSimplex > CollapseReturnData