Loading src/MeshImprovement.cpp +19 −11 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ #include <igl/Timer.h> #include <igl/winding_number.h> #include <floattetwild/MshLoader.h> #include <geogram/mesh/mesh_AABB.h> //#define USE_FWN true void floatTetWild::init(Mesh &mesh, AABBWrapper& tree) { Loading Loading @@ -245,7 +248,12 @@ void floatTetWild::optimization(const std::vector<Vector3> &input_vertices, cons ///apply sizing field if(mesh.params.background_mesh != "") { apply_sizingfield(mesh, tree); PyMesh::MshLoader mshLoader(mesh.params.background_mesh); Eigen::VectorXd V_in = mshLoader.get_nodes(); Eigen::VectorXi T_in = mshLoader.get_elements(); Eigen::VectorXd values = mshLoader.get_node_field("values"); if (V_in.rows() != 0 && T_in.rows() != 0 && values.rows() != 0) apply_sizingfield(V_in, T_in, values, mesh, tree); } } Loading Loading @@ -1192,18 +1200,18 @@ void floatTetWild::output_surface(Mesh& mesh, const std::string& filename) { igl::writeSTL(filename + ".stl", Eigen::MatrixXd(V_sf), Eigen::MatrixXi(F_sf)); } #include <floattetwild/MshLoader.h> #include <geogram/mesh/mesh_AABB.h> void floatTetWild::apply_sizingfield(Mesh& mesh, AABBWrapper& tree) { void floatTetWild::apply_sizingfield(const Eigen::VectorXd& V_in, const Eigen::VectorXi& T_in, const Eigen::VectorXd& values, Mesh& mesh, AABBWrapper& tree) { auto &tet_vertices = mesh.tet_vertices; auto &tets = mesh.tets; PyMesh::MshLoader mshLoader(mesh.params.background_mesh); Eigen::VectorXd V_in = mshLoader.get_nodes(); Eigen::VectorXi T_in = mshLoader.get_elements(); Eigen::VectorXd values = mshLoader.get_node_field("values"); if (V_in.rows() == 0 || T_in.rows() == 0 || values.rows() == 0) return; // PyMesh::MshLoader mshLoader(mesh.params.background_mesh); // Eigen::VectorXd V_in = mshLoader.get_nodes(); // Eigen::VectorXi T_in = mshLoader.get_elements(); // Eigen::VectorXd values = mshLoader.get_node_field("values"); // if (V_in.rows() == 0 || T_in.rows() == 0 || values.rows() == 0) // return; logger().debug("Applying sizing field..."); Loading src/MeshImprovement.h +1 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ namespace floatTetWild { void manifold_edges(Mesh& mesh); void manifold_vertices(Mesh& mesh); void apply_sizingfield(Mesh& mesh, AABBWrapper& tree); void apply_sizingfield(const Eigen::VectorXd& V_in, const Eigen::VectorXi& T_in, const Eigen::VectorXd& values, Mesh& mesh, AABBWrapper& tree); void output_info(Mesh& mesh, const AABBWrapper& tree); void check_envelope(Mesh& mesh, const AABBWrapper& tree); Loading Loading
src/MeshImprovement.cpp +19 −11 Original line number Diff line number Diff line Loading @@ -27,6 +27,9 @@ #include <igl/Timer.h> #include <igl/winding_number.h> #include <floattetwild/MshLoader.h> #include <geogram/mesh/mesh_AABB.h> //#define USE_FWN true void floatTetWild::init(Mesh &mesh, AABBWrapper& tree) { Loading Loading @@ -245,7 +248,12 @@ void floatTetWild::optimization(const std::vector<Vector3> &input_vertices, cons ///apply sizing field if(mesh.params.background_mesh != "") { apply_sizingfield(mesh, tree); PyMesh::MshLoader mshLoader(mesh.params.background_mesh); Eigen::VectorXd V_in = mshLoader.get_nodes(); Eigen::VectorXi T_in = mshLoader.get_elements(); Eigen::VectorXd values = mshLoader.get_node_field("values"); if (V_in.rows() != 0 && T_in.rows() != 0 && values.rows() != 0) apply_sizingfield(V_in, T_in, values, mesh, tree); } } Loading Loading @@ -1192,18 +1200,18 @@ void floatTetWild::output_surface(Mesh& mesh, const std::string& filename) { igl::writeSTL(filename + ".stl", Eigen::MatrixXd(V_sf), Eigen::MatrixXi(F_sf)); } #include <floattetwild/MshLoader.h> #include <geogram/mesh/mesh_AABB.h> void floatTetWild::apply_sizingfield(Mesh& mesh, AABBWrapper& tree) { void floatTetWild::apply_sizingfield(const Eigen::VectorXd& V_in, const Eigen::VectorXi& T_in, const Eigen::VectorXd& values, Mesh& mesh, AABBWrapper& tree) { auto &tet_vertices = mesh.tet_vertices; auto &tets = mesh.tets; PyMesh::MshLoader mshLoader(mesh.params.background_mesh); Eigen::VectorXd V_in = mshLoader.get_nodes(); Eigen::VectorXi T_in = mshLoader.get_elements(); Eigen::VectorXd values = mshLoader.get_node_field("values"); if (V_in.rows() == 0 || T_in.rows() == 0 || values.rows() == 0) return; // PyMesh::MshLoader mshLoader(mesh.params.background_mesh); // Eigen::VectorXd V_in = mshLoader.get_nodes(); // Eigen::VectorXi T_in = mshLoader.get_elements(); // Eigen::VectorXd values = mshLoader.get_node_field("values"); // if (V_in.rows() == 0 || T_in.rows() == 0 || values.rows() == 0) // return; logger().debug("Applying sizing field..."); Loading
src/MeshImprovement.h +1 −1 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ namespace floatTetWild { void manifold_edges(Mesh& mesh); void manifold_vertices(Mesh& mesh); void apply_sizingfield(Mesh& mesh, AABBWrapper& tree); void apply_sizingfield(const Eigen::VectorXd& V_in, const Eigen::VectorXi& T_in, const Eigen::VectorXd& values, Mesh& mesh, AABBWrapper& tree); void output_info(Mesh& mesh, const AABBWrapper& tree); void check_envelope(Mesh& mesh, const AABBWrapper& tree); Loading