typedef CGAL::Cartesian<double> Kernel; typedef CGAL::Polyhedron_3<Kernel> Polyhedron; int main() { Polyhedron mesh; std::ifstream stream("mesh.off"); stream >> mesh; auto it_face = mesh.facets_begin(); auto it_face_end = mesh.facets_end(); int face_number=0; for(;it_face!=it_face_end;++it_face){ std::cout << "Face " << face_number << std::endl; auto halfedge = it_face->halfedge(); auto const halfedge_end = halfedge; do{ const auto p = halfedge->vertex()->point(); std::cout << p << std::endl; halfedge = halfedge->next(); }while(halfedge != halfedge_end); face_number++; } }