18 return a.input.global_id() < b.input.global_id();
21 const int64_t& facet_id) ->
bool {
22 return value.input.global_id() < facet_id;
28 m_data.emplace_back(m, input_tuple);
43 -> AltData::const_iterator
45 assert(std::is_sorted(m_data.begin(), m_data.end(), sort_op));
46 auto it = std::lower_bound(m_data.begin(), m_data.end(), input_facet, sort_int_op);
47 auto end = m_data.cend();
52 if (it != end && it->input.global_id() != input_facet) {
59 auto it = get_alternative_data_it(t.m_global_cid);
60 assert(it != m_data.cend());
75 auto map = [&data](
const size_t index) ->
Tuple {
77 const int8_t& local_boundary_index = data.local_boundary_indices[index];
90 std::array<Tuple, 2> r{{map(0), map(1)}};
103 assert(!alts[0].is_null() || !alts[1].is_null());
104 if (!alts[0].is_null()) {
static const SimplexDart & get_singleton(wmtk::PrimitiveType simplex_type)
Dart dart_from_tuple(const wmtk::Tuple &t) const
AltData::const_iterator get_alternative_data_it(const int64_t &input_facet) const
const Data & get_alternatives_data(const Tuple &t) const
CollapseAlternateFacetData()
~CollapseAlternateFacetData()
CollapseAlternateFacetOptionData Data
void add(const Mesh &m, const Tuple &input_tuple)
std::array< Tuple, 2 > get_alternatives(const PrimitiveType mesh_pt, const Tuple &t, const PrimitiveType simplex_dimension) const
Tuple get_alternative(const PrimitiveType mesh_pt, const Tuple &t, const PrimitiveType simplex_dimension) const
int8_t find_local_dart_action(PrimitiveType pt, const Tuple &source, const Tuple &target)