40 std::function<std::array<VecType, 2>(
const VecType&,
const std::bitset<2>&)>;
61 std::vector<wmtk::attribute::MeshAttributeHandle>
targets() const final
override
67 std::
string name() const final override;
78 wmtk::attribute::Accessor<T>& accessor,
79 const
Tuple& input_simplex,
80 const
std::array<
Tuple, 2>& split_simplices) const;
83 wmtk::attribute::Accessor<T>& accessor,
84 const
std::array<
Tuple, 2>& input_ears,
85 const
Tuple& final_simplex) const;
89 const
std::string_view& = {});
92 const std::string_view& = {});
virtual void update(Mesh &m, const ReturnData &ret_data, const OperationInOutData &op_data) const =0
wmtk::multimesh::operations::SplitReturnData ReturnData
wmtk::multimesh::operations::OperationInOutData OperationInOutData
void update_handle_mesh(Mesh &m) override
wmtk::attribute::MeshAttributeHandle m_handle
bool invalid_state() const final override
void update(Mesh &m, const ReturnData &ret_data, const OperationInOutData &op_data) const final override
std::string name() const final override
std::vector< wmtk::attribute::MeshAttributeHandle > targets() const final override
std::function< VecType(const VecType &, const VecType &, const std::bitset< 2 > &)> SplitRibFuncType
void set_rib_strategy(SplitRibFuncType &&f)
std::unique_ptr< SplitNewAttributeTopoInfo > m_topo_info
void assign_split_ribs(wmtk::attribute::Accessor< T > &accessor, const std::array< Tuple, 2 > &input_ears, const Tuple &final_simplex) const
static SplitFuncType standard_split_strategy(SplitBasicStrategy optype, const std::string_view &={})
SplitNewAttributeStrategy(const wmtk::attribute::MeshAttributeHandle &h)
ReturnData::ReturnVariant ReturnVariant
PrimitiveType primitive_type() const override
void set_strategy(SplitFuncType &&f)
void assign_split(wmtk::attribute::Accessor< T > &accessor, const Tuple &input_simplex, const std::array< Tuple, 2 > &split_simplices) const
SplitRibFuncType m_split_rib_op
bool matches_attribute(const attribute::MeshAttributeHandle &) const override
static SplitRibFuncType standard_split_rib_strategy(SplitRibBasicStrategy optype, const std::string_view &={})
std::function< std::array< VecType, 2 >(const VecType &, const std::bitset< 2 > &)> SplitFuncType
wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnCacheCustomComparator< wmtk::operations::utils::MultiMeshEdgeSplitFunctor, wmtk::utils::metaprogramming::MeshVariantTraits, wmtk::simplex::utils::MeshSimplexComparator, simplex::NavigatableSimplex > SplitReturnData
std::map< const Mesh *, std::vector< std::tuple< simplex::NavigatableSimplex, wmtk::Tuple > >> OperationInOutData
Vector< T, Eigen::Dynamic > VectorX