Wildmeshing Toolkit
TetEdgeSwap.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
7 
18 class TetEdgeSwap : public Operation
19 {
20 public:
21  TetEdgeSwap(Mesh& m, int64_t collapse_index = 0);
22 
23  PrimitiveType primitive_type() const override { return PrimitiveType::Edge; }
24 
25  inline EdgeSplit& split() { return m_split; }
26  inline EdgeCollapse& collapse() { return m_collapse; }
27 
28 
29 protected:
30  std::vector<simplex::Simplex> unmodified_primitives(
31  const simplex::Simplex& simplex) const override;
32  std::vector<simplex::Simplex> execute(const simplex::Simplex& simplex) override;
33 
34 private:
38 };
39 
40 
41 } // namespace wmtk::operations::composite
Performs an edge swap, implemented as a combination of swap and collapse.
Definition: TetEdgeSwap.hpp:19
std::vector< simplex::Simplex > execute(const simplex::Simplex &simplex) override
returns an empty vector in case of failure
Definition: TetEdgeSwap.cpp:17
std::vector< simplex::Simplex > unmodified_primitives(const simplex::Simplex &simplex) const override
Returns all simplices that will be potentially affected by the operation.
PrimitiveType primitive_type() const override
Definition: TetEdgeSwap.hpp:23
TetEdgeSwap(Mesh &m, int64_t collapse_index=0)
Definition: TetEdgeSwap.cpp:10