Skip to content

Commit 69fe7d7

Browse files
authored
Merge pull request #870 from wildmeshing/dzint/orig_tetwild
Add back all swap operations in TetWild.
2 parents 6073bbd + 5504630 commit 69fe7d7

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

components/tetwild/wmtk/components/tetwild/EdgeSwapping.cpp

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,25 @@ size_t TetWildMesh::swap_all_edges_all()
291291
time = timer.getElapsedTime();
292292
wmtk::logger().info("edge swap prepare time: {:.4}s", time);
293293
auto setup_and_execute = [&](auto& executor) {
294-
executor.renew_neighbor_tuples = wmtk::renewal_edges;
294+
// executor.renew_neighbor_tuples = wmtk::renewal_edges;
295+
executor.renew_neighbor_tuples =
296+
[](const TetMesh& m, const std::string& op, const std::vector<Tuple>& newt) {
297+
std::vector<std::pair<std::string, TetMesh::Tuple>> op_tups;
298+
std::vector<TetMesh::Tuple> new_edges;
299+
for (const TetMesh::Tuple& ti : newt) {
300+
for (auto j = 0; j < 6; j++) {
301+
new_edges.push_back(m.tuple_from_edge(ti.tid(m), j));
302+
}
303+
};
304+
wmtk::unique_edge_tuples(m, new_edges);
305+
op_tups.reserve(new_edges.size() * 3);
306+
for (const Tuple& loc : new_edges) {
307+
op_tups.emplace_back("edge_swap", loc);
308+
op_tups.emplace_back("edge_swap_44", loc);
309+
op_tups.emplace_back("edge_swap_56", loc);
310+
}
311+
return op_tups;
312+
};
295313
executor.priority = [&](auto& m, auto op, auto& t) { return m.get_length2(t); };
296314
executor.num_threads = NUM_THREADS;
297315
executor(*this, collect_all_ops);

0 commit comments

Comments
 (0)