Wildmeshing Toolkit
|
#include <TetCellSplit.hpp>
Protected Member Functions | |
std::vector< simplex::Simplex > | execute (const simplex::Simplex &simplex) override |
returns an empty vector in case of failure More... | |
std::vector< simplex::Simplex > | unmodified_primitives (const simplex::Simplex &simplex) const override |
Returns all simplices that will be potentially affected by the operation. More... | |
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) |
Private Attributes | |
EdgeSplit | m_split |
EdgeCollapse | m_collapse |
Additional Inherited Members | |
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 |
This class is used to split a tetrahedra into 4 parts, we did this by only using two atomic operations, EdgeSplit and EdgeCollapse in order to make our lib more reliable.
return tuple: the return tuple is the original tuple, arrowing to the new vertex, the face belongs to the original (original_vertex,new vertex,switch_vertex(original_vertex)) the tetrahedra is the most front one.
Definition at line 18 of file TetCellSplit.hpp.
wmtk::operations::composite::TetCellSplit::TetCellSplit | ( | Mesh & | m | ) |
Definition at line 8 of file TetCellSplit.cpp.
|
inline |
Definition at line 26 of file TetCellSplit.hpp.
References m_collapse.
|
overrideprotectedvirtual |
returns an empty vector in case of failure
Implements wmtk::operations::Operation.
Definition at line 14 of file TetCellSplit.cpp.
References wmtk::Edge, wmtk::simplex::Simplex::edge(), m_collapse, m_split, wmtk::operations::Operation::mesh(), wmtk::Mesh::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), wmtk::Vertex, and wmtk::simplex::Simplex::vertex().
|
inlineoverridevirtual |
Implements wmtk::operations::Operation.
Definition at line 23 of file TetCellSplit.hpp.
References wmtk::Tetrahedron.
|
inline |
Definition at line 25 of file TetCellSplit.hpp.
References m_split.
|
overrideprotectedvirtual |
Returns all simplices that will be potentially affected by the operation.
Implements wmtk::operations::Operation.
Definition at line 66 of file TetCellSplit.cpp.
|
private |
Definition at line 36 of file TetCellSplit.hpp.
Referenced by collapse(), and execute().
|
private |
Definition at line 35 of file TetCellSplit.hpp.