Loading src/MeshImprovement.cpp +14 −14 Original line number Diff line number Diff line Loading @@ -597,21 +597,21 @@ void floatTetWild::output_info(Mesh& mesh, const AABBWrapper& tree) { // cout << "#t = " << cnt_t << "(" << tets.size() << ")" << endl; //quality // Scalar max_energy, avg_energy; // get_max_avg_energy(mesh, max_energy, avg_energy); // cout << "max_energy = " << max_energy << endl; // cout << "avg_energy = " << avg_energy << endl; Scalar max_energy, avg_energy; get_max_avg_energy(mesh, max_energy, avg_energy); cout << "max_energy = " << max_energy << endl; cout << "avg_energy = " << avg_energy << endl; // for (int i = 0; i < tets.size(); i++) { // if (tets[i].is_removed) // continue; // Scalar q = get_quality(mesh, i); // if (abs(tets[i].quality - q)/tets[i].quality > 0.01) { // cout << "tets[i].quality != get_quality(mesh,i)" << endl; // cout << tets[i].quality << " - " << q << " = " << tets[i].quality - q << endl; // //pausee(); // } // } for (int i = 0; i < tets.size(); i++) { if (tets[i].is_removed) continue; Scalar q = get_quality(mesh, i); if (abs(tets[i].quality - q) / tets[i].quality > 0.01) { cout << "tets[i].quality != get_quality(mesh,i)" << endl; cout << tets[i].quality << " - " << q << " = " << tets[i].quality - q << endl; // pausee(); } } if(mesh.params.log_level > 1) { output_surface(mesh, mesh.params.output_path+"_"+mesh.params.postfix+"_opt"); Loading src/TriangleInsertion.cpp +12 −8 Original line number Diff line number Diff line Loading @@ -320,15 +320,18 @@ void floatTetWild::insert_triangles_aux(const std::vector<Vector3> &input_vertic ///// //build b_tree using b_edges tree.init_tmp_b_mesh_and_tree(input_vertices, input_faces, b_edges1, mesh, b_edges2); if (!is_again) { // if (!is_again) { // for (auto &t:mesh.tets) { // if(t.quality == 0) // t.quality = get_quality(mesh, t); // } // } for (auto &t:mesh.tets) { if(t.quality == 0) if (!t.is_removed) t.quality = get_quality(mesh, t); } } if(std::count(is_face_inserted.begin(), is_face_inserted.end(), false) == 0) { if (std::count(is_face_inserted.begin(), is_face_inserted.end(), false) == 0) mesh.is_input_all_inserted = true; } logger().info("#b_edge1 = {}, #b_edges2 = {}", b_edges1.size(), b_edges2.size()); // ///fortest Loading Loading @@ -617,6 +620,7 @@ void floatTetWild::simplify_subdivision_result(int insert_f_id, int input_v_size static const bool is_check_quality = true; auto v1_conn_tets = mesh.tet_vertices[v1_id].conn_tets; for (int t_id: mesh.tet_vertices[v1_id].conn_tets) { // if(mesh.tets[t_id].quality == 0) mesh.tets[t_id].quality = get_quality(mesh, t_id); } int result = collapse_an_edge(mesh, v_ids[0], v_ids[1], tree, new_edges, _ts, _tet_tss, Loading Loading
src/MeshImprovement.cpp +14 −14 Original line number Diff line number Diff line Loading @@ -597,21 +597,21 @@ void floatTetWild::output_info(Mesh& mesh, const AABBWrapper& tree) { // cout << "#t = " << cnt_t << "(" << tets.size() << ")" << endl; //quality // Scalar max_energy, avg_energy; // get_max_avg_energy(mesh, max_energy, avg_energy); // cout << "max_energy = " << max_energy << endl; // cout << "avg_energy = " << avg_energy << endl; Scalar max_energy, avg_energy; get_max_avg_energy(mesh, max_energy, avg_energy); cout << "max_energy = " << max_energy << endl; cout << "avg_energy = " << avg_energy << endl; // for (int i = 0; i < tets.size(); i++) { // if (tets[i].is_removed) // continue; // Scalar q = get_quality(mesh, i); // if (abs(tets[i].quality - q)/tets[i].quality > 0.01) { // cout << "tets[i].quality != get_quality(mesh,i)" << endl; // cout << tets[i].quality << " - " << q << " = " << tets[i].quality - q << endl; // //pausee(); // } // } for (int i = 0; i < tets.size(); i++) { if (tets[i].is_removed) continue; Scalar q = get_quality(mesh, i); if (abs(tets[i].quality - q) / tets[i].quality > 0.01) { cout << "tets[i].quality != get_quality(mesh,i)" << endl; cout << tets[i].quality << " - " << q << " = " << tets[i].quality - q << endl; // pausee(); } } if(mesh.params.log_level > 1) { output_surface(mesh, mesh.params.output_path+"_"+mesh.params.postfix+"_opt"); Loading
src/TriangleInsertion.cpp +12 −8 Original line number Diff line number Diff line Loading @@ -320,15 +320,18 @@ void floatTetWild::insert_triangles_aux(const std::vector<Vector3> &input_vertic ///// //build b_tree using b_edges tree.init_tmp_b_mesh_and_tree(input_vertices, input_faces, b_edges1, mesh, b_edges2); if (!is_again) { // if (!is_again) { // for (auto &t:mesh.tets) { // if(t.quality == 0) // t.quality = get_quality(mesh, t); // } // } for (auto &t:mesh.tets) { if(t.quality == 0) if (!t.is_removed) t.quality = get_quality(mesh, t); } } if(std::count(is_face_inserted.begin(), is_face_inserted.end(), false) == 0) { if (std::count(is_face_inserted.begin(), is_face_inserted.end(), false) == 0) mesh.is_input_all_inserted = true; } logger().info("#b_edge1 = {}, #b_edges2 = {}", b_edges1.size(), b_edges2.size()); // ///fortest Loading Loading @@ -617,6 +620,7 @@ void floatTetWild::simplify_subdivision_result(int insert_f_id, int input_v_size static const bool is_check_quality = true; auto v1_conn_tets = mesh.tet_vertices[v1_id].conn_tets; for (int t_id: mesh.tet_vertices[v1_id].conn_tets) { // if(mesh.tets[t_id].quality == 0) mesh.tets[t_id].quality = get_quality(mesh, t_id); } int result = collapse_an_edge(mesh, v_ids[0], v_ids[1], tree, new_edges, _ts, _tet_tss, Loading