cosmetic changes from the review

This commit is contained in:
Sébastien Loriot 2025-02-14 22:36:56 +01:00
parent 1aed5d6c9e
commit a67a43b4be
2 changed files with 528 additions and 527 deletions

View File

@ -68,7 +68,7 @@ int main(int argc, char* argv[])
std::cout << "Uniform QEM ACVD ...." << std::endl; std::cout << "Uniform QEM ACVD ...." << std::endl;
auto acvd_mesh_qem = smesh; auto acvd_mesh_qem = smesh;
PMP::approximated_centroidal_Voronoi_diagram_remeshing(acvd_mesh_qem, nb_clusters, params::use_qem_based_energy(true)); PMP::approximated_centroidal_Voronoi_diagram_remeshing(acvd_mesh_qem, nb_clusters, params::use_qem_based_energy(true));
CGAL::IO::write_polygon_mesh( stem +"_acvd_qem_"+ std::to_string(nb_clusters) + extension, acvd_mesh_qem); CGAL::IO::write_polygon_mesh(stem +"_acvd_qem_"+ std::to_string(nb_clusters) + extension, acvd_mesh_qem);
#endif #endif
#if 0 #if 0
@ -77,7 +77,8 @@ int main(int argc, char* argv[])
const double gradation_factor = 2; const double gradation_factor = 2;
Mesh adaptive_acvd_mesh = smesh; Mesh adaptive_acvd_mesh = smesh;
PMP::approximated_centroidal_Voronoi_diagram_remeshing(adaptive_acvd_mesh, nb_clusters, params::gradation_factor(gradation_factor)); PMP::approximated_centroidal_Voronoi_diagram_remeshing(adaptive_acvd_mesh, nb_clusters, params::gradation_factor(gradation_factor));
CGAL::IO::write_OFF("fandisk_acvd_adaptive_3000.off", adaptive_acvd_mesh);
CGAL::IO::write_OFF(stem +"_acvd_adaptative_"+ std::to_string(nb_clusters) + extension, acvd_mesh_qem, adaptive_acvd_mesh);
#endif #endif
std::cout << "Completed" << std::endl; std::cout << "Completed" << std::endl;

View File

@ -126,7 +126,7 @@ void compute_qem_vertex(std::vector<std::vector<typename GT::Vector_3>> cluster_
template <typename GT> template <typename GT>
typename GT::Vector_3 compute_displacement(const Eigen::Matrix<typename GT::FT, 4, 4> quadric, const typename GT::Point_3& p, int& rank_deficiency) typename GT::Vector_3 compute_displacement(const Eigen::Matrix<typename GT::FT, 4, 4> quadric, const typename GT::Point_3& p, int& rank_deficiency)
{ {
typedef Eigen::Matrix<typename GT::FT, 3, 3> Matrix3d; using Matrix3d = Eigen::Matrix<typename GT::FT, 3, 3>;
int max_nb_of_singular_values_used = 3; int max_nb_of_singular_values_used = 3;
Matrix3d A; Matrix3d A;
@ -301,15 +301,15 @@ struct QEMClusterData {
#ifndef CGAL_ACVD_DOES_NOT_USE_INTERPOLATED_CORRECTED_CURVATURES #ifndef CGAL_ACVD_DOES_NOT_USE_INTERPOLATED_CORRECTED_CURVATURES
template <class TriangleMesh, class VPCDM, class NamedParameters> template <class TriangleMesh, class VPCDM, class NamedParameters>
void upsample_subdivision_property(TriangleMesh& pmesh, VPCDM vpcd_map, const NamedParameters& np) { void upsample_subdivision_property(TriangleMesh& pmesh, VPCDM vpcd_map, const NamedParameters& np) {
typedef typename GetGeomTraits<TriangleMesh, NamedParameters>::type GT; using GT = typename GetGeomTraits<TriangleMesh, NamedParameters>::type;
typedef typename boost::graph_traits<TriangleMesh>::vertex_descriptor Vertex_descriptor; using Vertex_descriptor = typename boost::graph_traits<TriangleMesh>::vertex_descriptor;
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor Halfedge_descriptor; using Halfedge_descriptor = typename boost::graph_traits<TriangleMesh>::halfedge_descriptor;
using parameters::choose_parameter; using parameters::choose_parameter;
using parameters::get_parameter; using parameters::get_parameter;
using parameters::is_default_parameter; using parameters::is_default_parameter;
typedef typename CGAL::GetVertexPointMap<TriangleMesh, NamedParameters>::type VPM; using VPM = typename CGAL::GetVertexPointMap<TriangleMesh, NamedParameters>::type;
VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point), VPM vpm = choose_parameter(get_parameter(np, internal_np::vertex_point),
get_property_map(CGAL::vertex_point, pmesh)); get_property_map(CGAL::vertex_point, pmesh));
@ -368,22 +368,22 @@ std::pair<
const NamedParameters& np = parameters::default_values() const NamedParameters& np = parameters::default_values()
) )
{ {
typedef typename GetGeomTraits<TriangleMesh, NamedParameters>::type GT; using GT = typename GetGeomTraits<TriangleMesh, NamedParameters>::type;
typedef typename Eigen::Matrix<typename GT::FT, 4, 4> Matrix4x4; using Matrix4x4 = typename Eigen::Matrix<typename GT::FT, 4, 4>;
typedef typename GetVertexPointMap<TriangleMesh, NamedParameters>::const_type Vertex_position_map; using Vertex_position_map = typename GetVertexPointMap<TriangleMesh, NamedParameters>::const_type;
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor Halfedge_descriptor; using Halfedge_descriptor = typename boost::graph_traits<TriangleMesh>::halfedge_descriptor;
typedef typename boost::graph_traits<TriangleMesh>::edge_descriptor Edge_descriptor; using Edge_descriptor = typename boost::graph_traits<TriangleMesh>::edge_descriptor;
typedef typename boost::graph_traits<TriangleMesh>::vertex_descriptor Vertex_descriptor; using Vertex_descriptor = typename boost::graph_traits<TriangleMesh>::vertex_descriptor;
typedef typename boost::graph_traits<TriangleMesh>::face_descriptor Face_descriptor; using Face_descriptor = typename boost::graph_traits<TriangleMesh>::face_descriptor;
typedef typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<int> >::type VertexClusterMap; using VertexClusterMap = typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<int> >::type;
typedef typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<bool> >::type VertexVisitedMap; using VertexVisitedMap = typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<bool> >::type;
typedef typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<typename GT::FT> >::type VertexWeightMap; using VertexWeightMap = typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<typename GT::FT> >::type;
typedef typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<Matrix4x4> >::type VertexQuadricMap; using VertexQuadricMap = typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<Matrix4x4> >::type;
#ifndef CGAL_ACVD_DOES_NOT_USE_INTERPOLATED_CORRECTED_CURVATURES #ifndef CGAL_ACVD_DOES_NOT_USE_INTERPOLATED_CORRECTED_CURVATURES
typedef typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<Principal_curvatures_and_directions<GT>> >::type Default_principal_map; using Default_principal_map = typename boost::property_map<TriangleMesh, CGAL::dynamic_vertex_property_t<Principal_curvatures_and_directions<GT>> >::type;
typedef typename internal_np::Lookup_named_param_def<internal_np::vertex_principal_curvatures_and_directions_map_t, using Vertex_principal_curvatures_and_directions_map =
NamedParameters, typename internal_np::Lookup_named_param_def<internal_np::vertex_principal_curvatures_and_directions_map_t,
Default_principal_map>::type Vertex_principal_curvatures_and_directions_map; NamedParameters, Default_principal_map>::type ;
#endif #endif
using parameters::choose_parameter; using parameters::choose_parameter;
using parameters::get_parameter; using parameters::get_parameter;
@ -1062,9 +1062,9 @@ std::pair<
} }
} }
static int kkk=-1; static int kkk=-1;
CGAL::IO::write_polygon_soup("/tmp/soup_"+std::to_string(++kkk)+".off", points, polygons); CGAL::IO::write_polygon_soup("/tmp/soup_"+std::to_string(++kkk)+".off", points, polygons);
dump_mesh_with_cluster_colors(pmesh, vertex_cluster_pmap, "/tmp/cluster_"+std::to_string(kkk)+".ply"); dump_mesh_with_cluster_colors(pmesh, vertex_cluster_pmap, "/tmp/cluster_"+std::to_string(kkk)+".ply");
std::vector<std::unordered_map<std::size_t, std::size_t> > edge_map(points.size()); std::vector<std::unordered_map<std::size_t, std::size_t> > edge_map(points.size());
for (const std::array<std::size_t, 3> & p : polygons) for (const std::array<std::size_t, 3> & p : polygons)