fix the mesh_simplification_plugin

This commit is contained in:
Andreas Fabri 2014-05-27 17:10:43 +02:00
parent c552dce7c6
commit de34478f85
12 changed files with 29 additions and 18 deletions

View File

@ -68,8 +68,8 @@ void Polyhedron_demo_mesh_simplification_plugin::on_actionSimplify_triggered()
namespace SMS = CGAL::Surface_mesh_simplification; namespace SMS = CGAL::Surface_mesh_simplification;
SMS::Count_stop_predicate< Polyhedron > stop(nb_edges); // target #edges SMS::Count_stop_predicate< Polyhedron > stop(nb_edges); // target #edges
SMS::edge_collapse( *pMesh, stop, SMS::edge_collapse( *pMesh, stop,
CGAL::vertex_index_map(boost::get(CGAL::vertex_external_index,*pMesh)) CGAL::vertex_index_map(get(CGAL::vertex_external_index,*pMesh))
.edge_index_map(boost::get(CGAL::edge_external_index,*pMesh))); .halfedge_index_map(get(CGAL::halfedge_external_index,*pMesh)));
std::cout << "ok (" << time.elapsed() << " ms, " std::cout << "ok (" << time.elapsed() << " ms, "
<< pMesh->size_of_halfedges() / 2 << " edges)" << std::endl; << pMesh->size_of_halfedges() / 2 << " edges)" << std::endl;

View File

@ -28,8 +28,8 @@ Input_facets_AABB_tree* get_aabb_tree(Scene_polyhedron_item* item)
Polyhedron* poly = item->polyhedron(); Polyhedron* poly = item->polyhedron();
if(poly) { if(poly) {
Input_facets_AABB_tree* tree = Input_facets_AABB_tree* tree =
new Input_facets_AABB_tree(poly->facets_begin(), new Input_facets_AABB_tree(faces(*poly).first,
poly->facets_end(), faces(*poly).second,
*poly); *poly);
item->setProperty(aabb_property_name, item->setProperty(aabb_property_name,
QVariant::fromValue<void*>(tree)); QVariant::fromValue<void*>(tree));

View File

@ -71,7 +71,8 @@ public:
typedef typename GraphTraits::edges_size_type size_type ; typedef typename GraphTraits::edges_size_type size_type ;
typedef typename GraphTraits::edge_iterator edge_iterator ; typedef typename GraphTraits::edge_iterator edge_iterator ;
typedef typename ECM::Vertex::Point Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type Point;
typedef typename GetCost ::result_type Cost_type ; typedef typename GetCost ::result_type Cost_type ;
typedef typename GetPlacement::result_type Placement_type ; typedef typename GetPlacement::result_type Placement_type ;

View File

@ -38,7 +38,8 @@ struct Edge_collapse_visitor_base
typedef typename GraphTraits::edges_size_type size_type ; typedef typename GraphTraits::edges_size_type size_type ;
typedef typename GraphTraits::vertex_descriptor vertex_descriptor ; typedef typename GraphTraits::vertex_descriptor vertex_descriptor ;
typedef typename ECM::Vertex::Point Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type Point;
typedef typename Kernel_traits<Point>::Kernel Kernel ; typedef typename Kernel_traits<Point>::Kernel Kernel ;
typedef typename Kernel::FT FT ; typedef typename Kernel::FT FT ;

View File

@ -50,7 +50,8 @@ public:
typedef typename boost::graph_traits<ECM>::edge_descriptor edge_descriptor ; typedef typename boost::graph_traits<ECM>::edge_descriptor edge_descriptor ;
typedef typename boost::graph_traits<ECM>::edges_size_type size_type ; typedef typename boost::graph_traits<ECM>::edges_size_type size_type ;
typedef typename ECM::Vertex::Point Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type Point;
typedef typename Kernel_traits<Point>::Kernel Kernel ; typedef typename Kernel_traits<Point>::Kernel Kernel ;
typedef typename Kernel::FT FT ; typedef typename Kernel::FT FT ;

View File

@ -49,7 +49,8 @@ public:
private : private :
typedef typename ECM::Vertex::Point Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type Point;
typedef typename Kernel_traits<Point>::Kernel Kernel ; typedef typename Kernel_traits<Point>::Kernel Kernel ;
public : public :

View File

@ -41,7 +41,7 @@ namespace CGAL {
namespace Surface_mesh_simplification namespace Surface_mesh_simplification
{ {
template<class ECM_, class Kernel_ = typename Kernel_traits< typename ECM_::Vertex::Point>::Kernel > template<class ECM_, class Kernel_ = typename Kernel_traits<typename boost::property_traits<typename boost::property_map<ECM_, CGAL::vertex_point_t>::type>::value_type>::Kernel >
class LindstromTurkCore class LindstromTurkCore
{ {
public: public:
@ -61,7 +61,8 @@ public:
typedef typename Kernel::Point_3 Point ; typedef typename Kernel::Point_3 Point ;
typedef typename ECM::Vertex::Point ECM_Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type ECM_Point;
typedef typename Kernel_traits<ECM_Point>::Kernel ECM_Kernel ; typedef typename Kernel_traits<ECM_Point>::Kernel ECM_Kernel ;

View File

@ -40,7 +40,8 @@ public:
typedef Edge_profile<ECM> Profile ; typedef Edge_profile<ECM> Profile ;
typedef typename ECM::Vertex::Point Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type Point;
typedef typename Kernel_traits<Point>::Kernel Kernel ; typedef typename Kernel_traits<Point>::Kernel Kernel ;

View File

@ -44,7 +44,8 @@ public:
typedef typename GraphTraits::vertex_descriptor vertex_descriptor ; typedef typename GraphTraits::vertex_descriptor vertex_descriptor ;
typedef typename GraphTraits::halfedge_descriptor halfedge_descriptor ; typedef typename GraphTraits::halfedge_descriptor halfedge_descriptor ;
typedef typename ECM::Vertex::Point Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type Point;
public: public:

View File

@ -36,7 +36,9 @@ public:
typedef Edge_profile<ECM> Profile ; typedef Edge_profile<ECM> Profile ;
typedef typename ECM::Vertex::Point Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type Point;
typedef typename Kernel_traits<Point>::Kernel Kernel ; typedef typename Kernel_traits<Point>::Kernel Kernel ;
typedef typename Kernel::FT FT ; typedef typename Kernel::FT FT ;

View File

@ -36,7 +36,8 @@ public:
typedef Edge_profile<ECM> Profile ; typedef Edge_profile<ECM> Profile ;
typedef typename ECM::Vertex::Point Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type Point;
typedef optional<Point> result_type ; typedef optional<Point> result_type ;

View File

@ -36,7 +36,8 @@ public:
typedef Edge_profile<ECM> Profile ; typedef Edge_profile<ECM> Profile ;
typedef typename ECM::Vertex::Point Point ; typedef typename boost::property_map<ECM, CGAL::vertex_point_t>::type Vertex_point_pmap;
typedef typename boost::property_traits<Vertex_point_pmap>::value_type Point;
typedef optional<Point> result_type ; typedef optional<Point> result_type ;