title: How to get polygon faces from CGAL convex hull
body: <p>I use the 3D convex hull estimator implementation in <code>CGAL</code> to compute the convex polyhedron of a set of points. below shows the code:</p>
  
  <pre><code>#include &lt;CGAL/Exact_predicates_inexact_constructions_kernel.h&gt;
  #include &lt;CGAL/point_generators_3.h&gt;
  #include &lt;CGAL/algorithm.h&gt;
  #include &lt;CGAL/Polyhedron_3.h&gt;
  #include &lt;CGAL/convex_hull_3.h&gt;
  #include &lt;vector&gt;
  #include &lt;iostream&gt;
  
  typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
  typedef Kernel::Point_3 Point_3;
  typedef CGAL::Polyhedron_3&lt;Kernel&gt; Polyhedron;
  typedef Polyhedron::Facet_iterator Facet_iterator;
  typedef Polyhedron::Halfedge_around_facet_circulator Halfedge_facet_circulator;
  
  int main()
  {
    std::vector&lt;Point_3&gt; points;
  
    points.push_back(Point_3(2.0f, 3.535533905932738f, 3.535533905932737f));
    points.push_back(Point_3(4.0f, 2.0f, 0.0f));
    points.push_back(Point_3(0.0f, 2.0f, 0.0f));
    points.push_back(Point_3(1.0f, 0.0f, 0.0f));
    points.push_back(Point_3(4.0f, 1.414213562373095f, 1.414213562373095f));
    points.push_back(Point_3(0.0f, 1.414213562373095f, 1.414213562373095f));
    points.push_back(Point_3(3.0f, 0.0f, 0.0f));
    points.push_back(Point_3(2.0f, 5.0f, 0.0f));
  
    Polyhedron P;
  
    CGAL::convex_hull_3(points.begin(), points.end(), P);
  
    std::cout &lt;&lt; "- Number of vertices  = " &lt;&lt; P.size_of_vertices()    &lt;&lt; std::endl;
    std::cout &lt;&lt; "- Number of edges     = " &lt;&lt; P.size_of_halfedges()/2 &lt;&lt; std::endl;
    std::cout &lt;&lt; "- Number of faces     = " &lt;&lt; P.size_of_facets()      &lt;&lt; std::endl;
  
    for ( Facet_iterator i = P.facets_begin(); i != P.facets_end(); ++i)
    {
      Halfedge_facet_circulator j = i-&gt;facet_begin();
      CGAL_assertion( CGAL::circulator_size(j) &gt;= 3);
      std::cout &lt;&lt; CGAL::circulator_size(j) &lt;&lt; ' ';
      do{
        std::cout &lt;&lt; ' ' &lt;&lt; std::distance(P.vertices_begin(), j-&gt;vertex());
      }while ( ++j != i-&gt;facet_begin());
  
      std::cout &lt;&lt; std::endl;
    }
    return 0;
  }
  </code></pre>
  
  <p>However, the output is a triangulation of faces of the polyhedron:
  <img src="https://i.stack.imgur.com/XcvdP.png" alt="enter image description here"></p>
  
  <p>Is there a way to force <code>CGAL</code> to represent a face with a polygon not a set of triangles?</p>