Use Polyhedron_3 with isotropic_remeshing

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Use Polyhedron_3 with isotropic_remeshing

I recently switched from using Surface_mesh to using Polyhedron_3.
Now a call of isotropic_remeshing throws a compiler error.
A basic example is:

#include <iostream>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Polyhedron_3.h>
#include <CGAL/Polygon_mesh_processing/remesh.h>
#include <CGAL/Polygon_mesh_processing/triangulate_faces.h>

typedef CGAL::Simple_cartesian<double>  Kernel;
typedef Kernel::Point_3                 Point_3;
typedef CGAL::Polyhedron_3<Kernel>      Meshtype;
typedef Meshtype::Halfedge_handle       Halfedge_handle;

int main()
    Meshtype* plane = new Meshtype;
    Halfedge_handle h = plane->make_triangle(Point_3(0.0, 0.0, 0.0),
                                            Point_3(1.0, 1.0, 0.0),
                                            Point_3(0.0, 1.0, 0.0));

    //split triangle at (p1, p3) edge and insert p2.
    Halfedge_handle h_new = plane->split_edge(h->next());
    h_new->vertex()->point() = Point_3(1.0, 0.0, 0.0);

    CGAL::Polygon_mesh_processing::isotropic_remeshing (

    std::cout << plane->size_of_vertices();
    delete plane;


The compiler error is:
/usr/include/boost/property_map/shared_array_property_map.hpp:23:56: error:
no type named ‘key_type’ in ‘struct boost::property_traits<bool>’
   typedef typename property_traits<IndexMap>::key_type key_type;

I think it has something to do with the property map mechanism, but i have
no clue why it is working with surface_mesh and not with Polyhedron_3.
Any help would be appreciated.

Sent from:

You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to