Wildmeshing Toolkit
|
#include <EdgeSplit.hpp>
Static Public Member Functions | |
static std::pair< Tuple, Tuple > | new_spine_edges (const Mesh &mesh, const Tuple &new_vertex) |
Private Attributes | |
std::vector< std::shared_ptr< const operations::BaseSplitNewAttributeStrategy > > | m_new_attr_strategies |
Additional Inherited Members | |
Protected Member Functions inherited from wmtk::operations::Operation | |
virtual bool | before (const simplex::Simplex &simplex) const |
virtual bool | after (const std::vector< simplex::Simplex > &unmods, const std::vector< simplex::Simplex > &mods) const |
void | apply_attribute_transfer (const std::vector< simplex::Simplex > &direct_mods) |
Protected Attributes inherited from wmtk::operations::Operation | |
std::function< double(const simplex::Simplex &)> | m_priority = nullptr |
invariants::InvariantCollection | m_invariants |
std::vector< std::shared_ptr< const operations::AttributeTransferStrategyBase > > | m_attr_transfer_strategies |
Definition at line 8 of file EdgeSplit.hpp.
wmtk::operations::EdgeSplit::EdgeSplit | ( | Mesh & | m | ) |
Definition at line 29 of file EdgeSplit.cpp.
References wmtk::Mesh::custom_attributes(), wmtk::multimesh::MultiMeshVisitor< NodeFunctor_ >::execute_from_root(), m_new_attr_strategies, and wmtk::operations::Operation::mesh().
bool wmtk::operations::EdgeSplit::attribute_new_all_configured | ( | ) | const |
Definition at line 17 of file EdgeSplit.cpp.
References wmtk::logger(), and m_new_attr_strategies.
void wmtk::operations::EdgeSplit::clear_attribute_new_strategies | ( | ) |
Definition at line 81 of file EdgeSplit.cpp.
References m_new_attr_strategies.
Referenced by wmtk::operations::AttributeTransferConfiguration::apply().
|
overridevirtual |
Implements wmtk::operations::Operation.
Definition at line 56 of file EdgeSplit.cpp.
References m_new_attr_strategies, wmtk::operations::Operation::mesh(), and wmtk::operations::utils::multi_mesh_edge_split_with_modified_simplices().
std::shared_ptr< const operations::BaseSplitNewAttributeStrategy > wmtk::operations::EdgeSplit::get_new_attribute_strategy | ( | const attribute::MeshAttributeHandle & | attribute | ) | const |
Definition at line 71 of file EdgeSplit.cpp.
References m_new_attr_strategies.
|
static |
Definition at line 122 of file EdgeSplit.cpp.
References wmtk::Edge, wmtk::operations::Operation::mesh(), wmtk::PE, PF, PT, wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.
|
inlineoverridevirtual |
Implements wmtk::operations::Operation.
Definition at line 13 of file EdgeSplit.hpp.
References wmtk::Edge.
void wmtk::operations::EdgeSplit::set_new_attribute_strategy | ( | const attribute::MeshAttributeHandle & | attribute, |
const std::shared_ptr< const operations::BaseSplitNewAttributeStrategy > & | other | ||
) |
Definition at line 85 of file EdgeSplit.cpp.
References m_new_attr_strategies.
Referenced by wmtk::operations::AttributeTransferConfiguration::apply(), wmtk::components::internal::edge_insertion(), wmtk::components::Marching::process(), wmtk::components::internal::RegularSpace::regularize_tags(), and set_new_attribute_strategy().
void wmtk::operations::EdgeSplit::set_new_attribute_strategy | ( | const attribute::MeshAttributeHandle & | attribute, |
const wmtk::operations::SplitBasicStrategy & | spine = wmtk::operations::SplitBasicStrategy::Default , |
||
const wmtk::operations::SplitRibBasicStrategy & | rib = wmtk::operations::SplitRibBasicStrategy::Default |
||
) |
Definition at line 99 of file EdgeSplit.cpp.
References wmtk::attribute::MeshAttributeHandle::handle(), and set_new_attribute_strategy().
|
overridevirtual |
Returns all simplices that will be potentially affected by the operation.
Implements wmtk::operations::Operation.
Definition at line 63 of file EdgeSplit.cpp.
|
private |
Definition at line 47 of file EdgeSplit.hpp.
Referenced by attribute_new_all_configured(), clear_attribute_new_strategies(), EdgeSplit(), execute(), get_new_attribute_strategy(), and set_new_attribute_strategy().