Wildmeshing Toolkit
Loading...
Searching...
No Matches
SplitAlternateFacetOptionData.hpp
Go to the documentation of this file.
1#pragma once
2#include <array>
5namespace wmtk {
6class Mesh;
7namespace autogen {
8class SimplexDart;
9}
10} // namespace wmtk
13{
14public:
17 const Dart& input_tuple,
18 const std::array<int64_t, 2>& new_facet_indices);
19
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
46private:
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
int64_t new_gid(PrimitiveType primitive_type, int8_t index) const
const std::array< int8_t, 2 > & boundary_indices(PrimitiveType pt) const