Wildmeshing Toolkit
Loading...
Searching...
No Matches
SplitAlternateFacetOptionData.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <array>
3
#include <
wmtk/autogen/Dart.hpp
>
4
#include <
wmtk/autogen/SimplexDart.hpp
>
5
namespace
wmtk
{
6
class
Mesh;
7
namespace
autogen {
8
class
SimplexDart;
9
}
10
}
// namespace wmtk
11
namespace
wmtk::operations::internal
{
12
class
SplitAlternateFacetOptionData
13
{
14
public
:
15
using
Dart
=
autogen::Dart
;
16
SplitAlternateFacetOptionData
(
17
const
Dart
& input_tuple,
18
const
std::array<int64_t, 2>&
new_facet_indices
);
19
20
Dart
input
;
21
22
// Stores {ear_global_id, M}
23
// where M is defined by:
24
// Let {G, O} be the input dart
25
// Let {Ge, Oe} be the left/0 or right/1 ear opposite
26
// Let R be such that Oe = R O
27
// We select an arbitrary dart that includes the right face
28
// {G,Oa} a dart that includes the ear face, and
29
// {Ge,Ob} a dart denoting a art on Ge whose D-1 subdart is equivalent
30
// Let M be Ob = M Oa.
31
// Note that for D-1 subdart encoded on G, M will return the equivalent D-1 subdart on Ge
32
//
33
std::array<int64_t, 2>
new_facet_indices
;
34
35
// Let d be a dart where every D-simplex for D <the input mesh dimension
36
// lies in left/index=0 (equivalently right/index=1) ear then
37
// returns a dart such that those simplices are preserved using the other face
38
//
39
// This is given by the definition of alts and applying
40
// Let {G, Od} be d
41
// We compute {G, M Od}
42
//
43
int64_t
new_gid
(
PrimitiveType
primitive_type, int8_t index)
const
;
44
45
46
private
:
47
// returns the indices of the ear boundary simplices
48
const
std::array<int8_t, 2>&
boundary_indices
(
PrimitiveType
pt)
const
;
49
};
50
}
// namespace wmtk::operations::internal
Dart.hpp
SimplexDart.hpp
wmtk::autogen::Dart
Definition
Dart.hpp:8
wmtk::operations::internal::SplitAlternateFacetOptionData
Definition
SplitAlternateFacetOptionData.hpp:13
wmtk::operations::internal::SplitAlternateFacetOptionData::new_gid
int64_t new_gid(PrimitiveType primitive_type, int8_t index) const
Definition
SplitAlternateFacetOptionData.cpp:107
wmtk::operations::internal::SplitAlternateFacetOptionData::input
Dart input
Definition
SplitAlternateFacetOptionData.hpp:20
wmtk::operations::internal::SplitAlternateFacetOptionData::new_facet_indices
std::array< int64_t, 2 > new_facet_indices
Definition
SplitAlternateFacetOptionData.hpp:33
wmtk::operations::internal::SplitAlternateFacetOptionData::boundary_indices
const std::array< int8_t, 2 > & boundary_indices(PrimitiveType pt) const
Definition
SplitAlternateFacetOptionData.cpp:91
wmtk::operations::internal
Definition
Mesh.hpp:59
wmtk
Definition
Accessor.hpp:6
wmtk::PrimitiveType
PrimitiveType
Definition
PrimitiveType.hpp:9
src
wmtk
operations
internal
SplitAlternateFacetOptionData.hpp
Generated by
1.9.8