Search code examples
c++boostcgal

CGAL & Boost - vertex_iterator & vertex_descriptor


For deformation of triangle meshes CGAL uses vertex_iterator & vertex_descriptor from boost. I want to get the x, y, z values of the vertex that boost iterator / descriptor pointing to.

How to get those x, y, z values of the point/vertex?

The vertex_iterator / vertex_descriptor are different from CGAL's which I'm used to but I don't quite get the boost implementation.

Does anyone know how to get the co-ordinates of the point using boost's vertex_iterator / vertex_descriptor?

In the following snippet you are getting a vertex descriptor.

// Add another control vertex which requires another call to preprocess.

vertex_descriptor control_3 = *CGAL::cpp11::next(vb, 92);
deform_mesh.insert_control_vertex(control_3);

Can I get Point_3 using this descriptor? If so how?


Solution

  • If it is a CGAL::Polyhedron_3 you call control_3->point(). If it is a CGAL::Surface_mesh sm you call sm.point(control_point).