diff --git a/Polyhedron/demo/Polyhedron/Polyhedron_demo_mesh_simplification_plugin.cpp b/Polyhedron/demo/Polyhedron/Polyhedron_demo_mesh_simplification_plugin.cpp index bdad534c43c..e6881669c49 100644 --- a/Polyhedron/demo/Polyhedron/Polyhedron_demo_mesh_simplification_plugin.cpp +++ b/Polyhedron/demo/Polyhedron/Polyhedron_demo_mesh_simplification_plugin.cpp @@ -68,8 +68,8 @@ void Polyhedron_demo_mesh_simplification_plugin::on_actionSimplify_triggered() namespace SMS = CGAL::Surface_mesh_simplification; SMS::Count_stop_predicate< Polyhedron > stop(nb_edges); // target #edges SMS::edge_collapse( *pMesh, stop, - CGAL::vertex_index_map(boost::get(CGAL::vertex_external_index,*pMesh)) - .edge_index_map(boost::get(CGAL::edge_external_index,*pMesh))); + CGAL::vertex_index_map(get(CGAL::vertex_external_index,*pMesh)) + .halfedge_index_map(get(CGAL::halfedge_external_index,*pMesh))); std::cout << "ok (" << time.elapsed() << " ms, " << pMesh->size_of_halfedges() / 2 << " edges)" << std::endl; diff --git a/Polyhedron/demo/Polyhedron/Scene_polyhedron_item.cpp b/Polyhedron/demo/Polyhedron/Scene_polyhedron_item.cpp index 82b13546f1b..76308e61bbe 100644 --- a/Polyhedron/demo/Polyhedron/Scene_polyhedron_item.cpp +++ b/Polyhedron/demo/Polyhedron/Scene_polyhedron_item.cpp @@ -28,8 +28,8 @@ Input_facets_AABB_tree* get_aabb_tree(Scene_polyhedron_item* item) Polyhedron* poly = item->polyhedron(); if(poly) { Input_facets_AABB_tree* tree = - new Input_facets_AABB_tree(poly->facets_begin(), - poly->facets_end(), + new Input_facets_AABB_tree(faces(*poly).first, + faces(*poly).second, *poly); item->setProperty(aabb_property_name, QVariant::fromValue(tree)); diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Detail/Edge_collapse.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Detail/Edge_collapse.h index 3e9e53ea8c7..e932cece521 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Detail/Edge_collapse.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Detail/Edge_collapse.h @@ -71,7 +71,8 @@ public: typedef typename GraphTraits::edges_size_type size_type ; typedef typename GraphTraits::edge_iterator edge_iterator ; - typedef typename ECM::Vertex::Point Point ; + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type Point; typedef typename GetCost ::result_type Cost_type ; typedef typename GetPlacement::result_type Placement_type ; diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Edge_collapse_visitor_base.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Edge_collapse_visitor_base.h index b8728964435..c9781387c6f 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Edge_collapse_visitor_base.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Edge_collapse_visitor_base.h @@ -38,7 +38,8 @@ struct Edge_collapse_visitor_base typedef typename GraphTraits::edges_size_type size_type ; typedef typename GraphTraits::vertex_descriptor vertex_descriptor ; - typedef typename ECM::Vertex::Point Point ; + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type Point; typedef typename Kernel_traits::Kernel Kernel ; typedef typename Kernel::FT FT ; diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_ratio_stop_predicate.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_ratio_stop_predicate.h index 23a9891b9e9..18bc0502e10 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_ratio_stop_predicate.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_ratio_stop_predicate.h @@ -50,7 +50,8 @@ public: typedef typename boost::graph_traits::edge_descriptor edge_descriptor ; typedef typename boost::graph_traits::edges_size_type size_type ; - typedef typename ECM::Vertex::Point Point ; + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type Point; typedef typename Kernel_traits::Kernel Kernel ; typedef typename Kernel::FT FT ; diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h index 09406683be4..c9c403db111 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h @@ -49,7 +49,8 @@ public: private : - typedef typename ECM::Vertex::Point Point ; + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type Point; typedef typename Kernel_traits::Kernel Kernel ; public : diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Detail/Lindstrom_Turk_core.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Detail/Lindstrom_Turk_core.h index 2da0d196935..0a637c9eefc 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Detail/Lindstrom_Turk_core.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Detail/Lindstrom_Turk_core.h @@ -41,7 +41,7 @@ namespace CGAL { namespace Surface_mesh_simplification { - template::Kernel > + template::type>::value_type>::Kernel > class LindstromTurkCore { public: @@ -61,7 +61,8 @@ public: typedef typename Kernel::Point_3 Point ; - typedef typename ECM::Vertex::Point ECM_Point ; + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type ECM_Point; typedef typename Kernel_traits::Kernel ECM_Kernel ; diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_cost.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_cost.h index 208e69a923c..eaf7ef3137b 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_cost.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_length_cost.h @@ -40,8 +40,9 @@ public: typedef Edge_profile Profile ; - typedef typename ECM::Vertex::Point Point ; - + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type Point; + typedef typename Kernel_traits::Kernel Kernel ; typedef typename Kernel::FT FT ; diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_profile.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_profile.h index 7685e662e00..6a5e401b9a7 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_profile.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Edge_profile.h @@ -44,7 +44,8 @@ public: typedef typename GraphTraits::vertex_descriptor vertex_descriptor ; typedef typename GraphTraits::halfedge_descriptor halfedge_descriptor ; - typedef typename ECM::Vertex::Point Point ; + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type Point; public: diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h index c5aaa6d5655..f81f462beae 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h @@ -36,7 +36,9 @@ public: typedef Edge_profile Profile ; - typedef typename ECM::Vertex::Point Point ; + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type Point; + typedef typename Kernel_traits::Kernel Kernel ; typedef typename Kernel::FT FT ; diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_placement.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_placement.h index 9b72b1649a5..87af1f46499 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_placement.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_placement.h @@ -36,8 +36,9 @@ public: typedef Edge_profile Profile ; - typedef typename ECM::Vertex::Point Point ; - + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type Point; + typedef optional result_type ; public: diff --git a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_placement.h b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_placement.h index d3147edca51..cee5e997b73 100644 --- a/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_placement.h +++ b/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Midpoint_placement.h @@ -36,8 +36,9 @@ public: typedef Edge_profile Profile ; - typedef typename ECM::Vertex::Point Point ; - + typedef typename boost::property_map::type Vertex_point_pmap; + typedef typename boost::property_traits::value_type Point; + typedef optional result_type ; public: