diff --git a/Polygon_mesh_processing/examples/Polygon_mesh_processing/interpolated_corrected_curvatures.cpp b/Polygon_mesh_processing/examples/Polygon_mesh_processing/interpolated_corrected_curvatures.cpp index b804ae061cf..c8b972aca65 100644 --- a/Polygon_mesh_processing/examples/Polygon_mesh_processing/interpolated_corrected_curvatures.cpp +++ b/Polygon_mesh_processing/examples/Polygon_mesh_processing/interpolated_corrected_curvatures.cpp @@ -9,24 +9,12 @@ #include #include - namespace PMP = CGAL::Polygon_mesh_processing; typedef CGAL::Exact_predicates_inexact_constructions_kernel EpicKernel; typedef CGAL::Surface_mesh Mesh; typedef boost::graph_traits::face_descriptor face_descriptor; typedef boost::graph_traits::vertex_descriptor vertex_descriptor; -typedef std::unordered_map FaceMeasureMap_tag; -typedef std::unordered_map vertexMeasureMap_tag; -typedef std::unordered_map, - Eigen::Vector - >> -vertexPrincipleCurvatureMap_tag; - - int main(int argc, char* argv[]) { @@ -41,13 +29,31 @@ int main(int argc, char* argv[]) return EXIT_FAILURE; } + bool created = false; - vertexMeasureMap_tag mean_curvature_init, gaussian_curvature_init; - boost::associative_property_map - mean_curvature_map(mean_curvature_init), gaussian_curvature_map(gaussian_curvature_init); + Mesh::Property_map mean_curvature_map, gaussian_curvature_map; + boost::tie(mean_curvature_map, created) = g1.add_property_map("v:mean_curvature_map", 0); + assert(created); - vertexPrincipleCurvatureMap_tag principle_curvature_init; - boost::associative_property_map principle_curvature_map(principle_curvature_init); + boost::tie(gaussian_curvature_map, created) = g1.add_property_map("v:gaussian_curvature_map", 0); + assert(created); + + Mesh::Property_map, + Eigen::Vector + >> principle_curvature_map; + + boost::tie(principle_curvature_map, created) = g1.add_property_map, + Eigen::Vector + >>("v:principle_curvature_map", { 0, 0, + Eigen::Vector::Zero(), + Eigen::Vector::Zero() }); + assert(created); PMP::interpolated_corrected_mean_curvature( g1, @@ -64,9 +70,9 @@ int main(int argc, char* argv[]) for (vertex_descriptor v : vertices(g1)) { - auto PC = get(principle_curvature_map, v); - std::cout << v.idx() << ": HC = " << get(mean_curvature_map, v) - << ", GC = " << get(gaussian_curvature_map, v) << "\n" + auto PC = principle_curvature_map[v]; + std::cout << v.idx() << ": HC = " << mean_curvature_map[v] + << ", GC = " << gaussian_curvature_map[v] << "\n" << ", PC = [ " << std::get<0>(PC) << " , " << std::get<1>(PC) << " ]\n"; } }