@@ -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