Wildmeshing Toolkit
MultiMeshEdgeCollapseFunctor.cpp
Go to the documentation of this file.
1
2
#include "
MultiMeshEdgeCollapseFunctor.hpp
"
3
#include <
wmtk/EdgeMeshOperationExecutor.hpp
>
4
#include <
wmtk/TetMeshOperationExecutor.hpp
>
5
#include <
wmtk/TriMeshOperationExecutor.hpp
>
6
#include <
wmtk/operations/Operation.hpp
>
7
8
namespace
wmtk::operations::utils
{
9
10
void
MultiMeshEdgeCollapseFunctor::operator()
(
const
Mesh
&,
const
simplex::Simplex
&)
const
11
{
12
throw
std::runtime_error(
"Unimplemented!"
);
13
}
14
15
edge_mesh::EdgeOperationData
MultiMeshEdgeCollapseFunctor::operator()
(
16
EdgeMesh
& m,
17
const
simplex::Simplex
& s)
const
18
{
19
EdgeMesh::EdgeMeshOperationExecutor
exec(m, s.
tuple
());
20
exec.
collapse_edge
();
21
return
std::move(
static_cast<
edge_mesh::EdgeOperationData
&
>
(exec));
22
}
23
tri_mesh::EdgeOperationData
MultiMeshEdgeCollapseFunctor::operator()
(
24
TriMesh
& m,
25
const
simplex::Simplex
& s)
const
26
{
27
TriMesh::TriMeshOperationExecutor
exec(m, s.
tuple
());
28
exec.
collapse_edge
();
29
return
std::move(
static_cast<
tri_mesh::EdgeOperationData
&
>
(exec));
30
}
31
tet_mesh::EdgeOperationData
MultiMeshEdgeCollapseFunctor::operator()
(
32
TetMesh
& m,
33
const
simplex::Simplex
& s)
const
34
{
35
TetMesh::TetMeshOperationExecutor
exec(m, s.
tuple
());
36
exec.
collapse_edge
();
37
return
std::move(
static_cast<
tet_mesh::EdgeOperationData
&
>
(exec));
38
}
39
}
// namespace wmtk::operations::utils
EdgeMeshOperationExecutor.hpp
MultiMeshEdgeCollapseFunctor.hpp
Operation.hpp
TetMeshOperationExecutor.hpp
TriMeshOperationExecutor.hpp
wmtk::EdgeMesh::EdgeMeshOperationExecutor
Definition:
EdgeMeshOperationExecutor.hpp:8
wmtk::EdgeMesh::EdgeMeshOperationExecutor::collapse_edge
void collapse_edge()
Definition:
EdgeMeshOperationExecutor.cpp:194
wmtk::EdgeMesh
Definition:
EdgeMesh.hpp:16
wmtk::Mesh
Definition:
Mesh.hpp:106
wmtk::TetMesh::TetMeshOperationExecutor
Definition:
TetMeshOperationExecutor.hpp:8
wmtk::TetMesh::TetMeshOperationExecutor::collapse_edge
void collapse_edge()
split edge v1-v2
Definition:
TetMeshOperationExecutor.cpp:774
wmtk::TetMesh
Definition:
TetMesh.hpp:14
wmtk::TriMesh::TriMeshOperationExecutor
Definition:
TriMeshOperationExecutor.hpp:10
wmtk::TriMesh::TriMeshOperationExecutor::collapse_edge
void collapse_edge()
Definition:
TriMeshOperationExecutor.cpp:690
wmtk::TriMesh
Definition:
TriMesh.hpp:19
wmtk::operations::edge_mesh::EdgeOperationData
Definition:
EdgeOperationData.hpp:9
wmtk::operations::tet_mesh::EdgeOperationData
Definition:
EdgeOperationData.hpp:9
wmtk::operations::tri_mesh::EdgeOperationData
Definition:
EdgeOperationData.hpp:9
wmtk::operations::utils::MultiMeshEdgeCollapseFunctor::operator()
void operator()(const Mesh &, const simplex::Simplex &) const
Definition:
MultiMeshEdgeCollapseFunctor.cpp:10
wmtk::simplex::Simplex
Definition:
Simplex.hpp:22
wmtk::simplex::Simplex::tuple
const Tuple & tuple() const
Definition:
Simplex.hpp:53
wmtk::operations::utils
Definition:
EdgeMesh.hpp:10
src
wmtk
operations
utils
MultiMeshEdgeCollapseFunctor.cpp
Generated by
1.9.1