Wildmeshing Toolkit
Loading...
Searching...
No Matches
TriEdgeSwap.hpp
Go to the documentation of this file.
1
2
#pragma once
3
4
#include <
wmtk/operations/EdgeCollapse.hpp
>
5
#include <
wmtk/operations/EdgeSplit.hpp
>
6
7
namespace
wmtk::operations::composite
{
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
:
56
EdgeSplit
m_split
;
57
EdgeCollapse
m_collapse
;
58
};
59
60
}
// namespace wmtk::operations::composite
EdgeCollapse.hpp
EdgeSplit.hpp
wmtk::Mesh
Definition
Mesh.hpp:95
wmtk::operations::EdgeCollapse
Definition
EdgeCollapse.hpp:8
wmtk::operations::EdgeSplit
Definition
EdgeSplit.hpp:9
wmtk::operations::Operation
Definition
Operation.hpp:24
wmtk::operations::composite::TriEdgeSwap
Performs an edge swap, implemented as a combination of swap and collapse.
Definition
TriEdgeSwap.hpp:41
wmtk::operations::composite::TriEdgeSwap::unmodified_primitives
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
wmtk::operations::composite::TriEdgeSwap::primitive_type
PrimitiveType primitive_type() const override
Definition
TriEdgeSwap.hpp:45
wmtk::operations::composite::TriEdgeSwap::collapse
EdgeCollapse & collapse()
Definition
TriEdgeSwap.hpp:48
wmtk::operations::composite::TriEdgeSwap::m_collapse
EdgeCollapse m_collapse
Definition
TriEdgeSwap.hpp:57
wmtk::operations::composite::TriEdgeSwap::m_split
EdgeSplit m_split
Definition
TriEdgeSwap.hpp:56
wmtk::operations::composite::TriEdgeSwap::execute
std::vector< simplex::Simplex > execute(const simplex::Simplex &simplex) override
returns an empty vector in case of failure
Definition
TriEdgeSwap.cpp:14
wmtk::operations::composite::TriEdgeSwap::split
EdgeSplit & split()
Definition
TriEdgeSwap.hpp:47
wmtk::simplex::Simplex
Definition
Simplex.hpp:22
wmtk::operations::composite
Definition
ProjectOperation.cpp:8
wmtk::PrimitiveType
PrimitiveType
Definition
PrimitiveType.hpp:9
wmtk::PrimitiveType::Edge
@ Edge
src
wmtk
operations
composite
TriEdgeSwap.hpp
Generated by
1.9.8