17 if (first_split_simplicies.empty())
return {};
18 assert(first_split_simplicies.size() == 1);
19 const Tuple first_split_ret = first_split_simplicies.front().tuple();
22 const auto second_split_simplicies =
24 if (second_split_simplicies.empty())
return {};
25 assert(second_split_simplicies.size() == 1);
26 const Tuple second_split_ret = second_split_simplicies.front().tuple();
32 if (third_split_simplicies.empty())
return {};
33 assert(third_split_simplicies.size() == 1);
34 const Tuple third_split_ret = third_split_simplicies.front().tuple();
45 const auto first_collapse_simplicies =
47 if (first_collapse_simplicies.empty())
return {};
48 assert(first_collapse_simplicies.size() == 1);
49 const Tuple first_collapse_ret = first_collapse_simplicies.front().tuple();
51 const Tuple second_collapse_input = first_collapse_ret;
52 const auto second_collapse_simplicies =
54 if (second_collapse_simplicies.empty())
return {};
55 assert(second_collapse_simplicies.size() == 1);
56 const Tuple second_collapse_ret = second_collapse_simplicies.front().tuple();
Tuple switch_tuples(const Tuple &tuple, const ContainerType &op_sequence) const
const Mesh & mesh() const
std::vector< simplex::Simplex > unmodified_primitives(const simplex::Simplex &simplex) const override
Returns all simplices that will be potentially affected by the operation.
std::vector< simplex::Simplex > execute(const simplex::Simplex &simplex) override
returns an empty vector in case of failure
const Tuple & tuple() const
static Simplex edge(const Mesh &m, const Tuple &t)
static Simplex vertex(const Mesh &m, const Tuple &t)