Wildmeshing Toolkit
|
#include <EdgeCollapse.hpp>
Private Attributes | |
std::vector< std::shared_ptr< const operations::BaseCollapseNewAttributeStrategy > > | m_new_attr_strategies |
Additional Inherited Members | |
Protected Member Functions inherited from wmtk::operations::Operation | |
virtual bool | before (const simplex::Simplex &simplex) 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 7 of file EdgeCollapse.hpp.
wmtk::operations::EdgeCollapse::EdgeCollapse | ( | Mesh & | m | ) |
Definition at line 26 of file EdgeCollapse.cpp.
References wmtk::Mesh::custom_attributes(), wmtk::multimesh::MultiMeshVisitor< NodeFunctor_ >::execute_from_root(), wmtk::Mesh::is_free(), m_new_attr_strategies, and wmtk::operations::Operation::mesh().
|
finaloverridevirtual |
Reimplemented from wmtk::operations::Operation.
Definition at line 132 of file EdgeCollapse.cpp.
References wmtk::operations::Operation::after(), and wmtk::operations::Operation::mesh().
bool wmtk::operations::EdgeCollapse::attribute_new_all_configured | ( | ) | const |
Definition at line 14 of file EdgeCollapse.cpp.
References wmtk::logger(), and m_new_attr_strategies.
void wmtk::operations::EdgeCollapse::clear_attribute_new_strategies | ( | ) |
Definition at line 87 of file EdgeCollapse.cpp.
References m_new_attr_strategies.
Referenced by wmtk::operations::AttributeTransferConfiguration::apply().
|
overridevirtual |
returns an empty vector in case of failure
Implements wmtk::operations::Operation.
Definition at line 56 of file EdgeCollapse.cpp.
References m_new_attr_strategies, wmtk::operations::Operation::mesh(), and wmtk::operations::utils::multi_mesh_edge_collapse_with_modified_simplices().
std::shared_ptr< const operations::BaseCollapseNewAttributeStrategy > wmtk::operations::EdgeCollapse::get_new_attribute_strategy | ( | const attribute::MeshAttributeHandle & | attribute | ) | const |
Definition at line 79 of file EdgeCollapse.cpp.
References m_new_attr_strategies.
|
inlineoverridevirtual |
Implements wmtk::operations::Operation.
Definition at line 13 of file EdgeCollapse.hpp.
References wmtk::Edge.
Referenced by wmtk::operations::composite::TetEdgeSwap::execute(), and wmtk::operations::composite::TriEdgeSwap::execute().
void wmtk::operations::EdgeCollapse::set_new_attribute_strategy | ( | const attribute::MeshAttributeHandle & | attribute, |
const std::shared_ptr< const operations::BaseCollapseNewAttributeStrategy > & | other | ||
) |
Definition at line 92 of file EdgeCollapse.cpp.
References wmtk::Mesh::is_free(), wmtk::logger(), m_new_attr_strategies, and wmtk::attribute::MeshAttributeHandle::mesh().
Referenced by wmtk::operations::AttributeTransferConfiguration::apply(), wmtk::components::internal::edge_insertion(), wmtk::components::internal::RegularSpace::regularize_tags(), and set_new_attribute_strategy().
void wmtk::operations::EdgeCollapse::set_new_attribute_strategy | ( | const attribute::MeshAttributeHandle & | attribute, |
const wmtk::operations::CollapseBasicStrategy & | strategy = wmtk::operations::CollapseBasicStrategy::Default |
||
) |
Definition at line 111 of file EdgeCollapse.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 64 of file EdgeCollapse.cpp.
References wmtk::operations::Operation::mesh(), wmtk::Mesh::parent_scope(), wmtk::simplex::Simplex::tuple(), wmtk::Vertex, and wmtk::simplex::Simplex::vertex().
|
private |
Definition at line 44 of file EdgeCollapse.hpp.
Referenced by attribute_new_all_configured(), clear_attribute_new_strategies(), EdgeCollapse(), execute(), get_new_attribute_strategy(), and set_new_attribute_strategy().