title: CGAL, Cropped voronoi diagram confined in a rectangle
body: <p>I'm using CGAL with Qt to draw Voronoi diagram. I used <code>CGAL::Voronoi_diagram_2&lt;DT,AT,AP&gt;</code>since I need the faces. This is the example code:</p>
  
  <pre><code>for(Face_iterator f = VD.faces_begin(); f != VD.faces_end(); f++)
      {
          Ccb_halfedge_circulator ec_start = (f)-&gt;ccb();
          Ccb_halfedge_circulator ec = ec_start;
          do {
              if (!ec-&gt;has_source())
              {
              }
              else
                  QpolyF &lt;&lt; QPointF(((Halfedge_handle)ec)-&gt;source()-&gt;point().x(), ((Halfedge_handle)ec)-&gt;source()-&gt;point().y());
          } while ( ++ec != ec_start );
          VectPolygon.push_back(QpolyF);
          QpolyF.clear();}
  </code></pre>
  
  <p>I need to clip the rays that has source or target in infinity. If I use the Cropped_voronoi_from_delaunay to generate voronoi it only gives the segments not the faces.    these are the typedefs:</p>
  
  <pre><code>typedef K::Line_2                                           Line_2;
  typedef CGAL::Delaunay_triangulation_2&lt;K&gt;                   Delaunay_triangulation_2;
  typedef Delaunay_triangulation_2::Face_iterator             dt_Face_iterator;
  typedef Delaunay_triangulation_2::Edge_circulator           dt_Edge_circulator;
  
  // typedefs for defining the adaptor
  typedef CGAL::Exact_predicates_inexact_constructions_kernel                  K;
  typedef CGAL::Delaunay_triangulation_2&lt;K&gt;                                    DT;
  typedef CGAL::Delaunay_triangulation_adaptation_traits_2&lt;DT&gt;                 AT;
  typedef CGAL::Delaunay_triangulation_caching_degeneracy_removal_policy_2&lt;DT&gt; AP;
  typedef CGAL::Voronoi_diagram_2&lt;DT,AT,AP&gt;                                    VD;
  
  
  // typedef for the result type of the point location
  typedef AT::Site_2                    Site_2;
  typedef AT::Point_2                   Point_2;
  
  typedef VD::Locate_result               Locate_result;
  typedef VD::Vertex_handle               Vertex_handle;
  typedef VD::Face_handle                 Face_handle;
  typedef VD::Face_iterator               Face_iterator;
  typedef VD::Halfedge_handle             Halfedge_handle;
  typedef VD::Ccb_halfedge_circulator     Ccb_halfedge_circulator;
  </code></pre>