Wildmeshing Toolkit
TriEdgeSwap.hpp
Go to the documentation of this file.
1 
2 #pragma once
3 
6 
40 class TriEdgeSwap : public Operation
41 {
42 public:
43  TriEdgeSwap(Mesh& m);
44 
45  PrimitiveType primitive_type() const override { return PrimitiveType::Edge; }
46 
47  inline EdgeSplit& split() { return m_split; }
48  inline EdgeCollapse& collapse() { return m_collapse; }
49 
50 protected:
51  std::vector<simplex::Simplex> unmodified_primitives(
52  const simplex::Simplex& simplex) const override;
53  std::vector<simplex::Simplex> execute(const simplex::Simplex& simplex) override;
54 
55 private:
58 };
59 
60 } // namespace wmtk::operations::composite
Performs an edge swap, implemented as a combination of swap and collapse.
Definition: TriEdgeSwap.hpp:41
std::vector< simplex::Simplex > unmodified_primitives(const simplex::Simplex &simplex) const override
Returns all simplices that will be potentially affected by the operation.
Definition: TriEdgeSwap.cpp:72
PrimitiveType primitive_type() const override
Definition: TriEdgeSwap.hpp:45
std::vector< simplex::Simplex > execute(const simplex::Simplex &simplex) override
returns an empty vector in case of failure
Definition: TriEdgeSwap.cpp:14