I'm facing the following problem:
I'm given a point cloud P and a subset of that point cloud B. The nodes b in B constitute the boundary of the (whole) point cloud P. (In fact, B is given as a closed, oriented circular tour). Now, I would like to compute the Voronoi diagram of P, intersected by B, and extract the Area of each (intersected) Voronoi polygon. Here is an illustration of the situation:

(source: 666kb.com)
Basically I would like to intersect the blue polygons with the green segments.
To my questions:
- Is there, by chance, a C library that solves this exact problem?
- If not, is there a better way to solve this problem then computing the Voronoi diagram using some Library, then explicitly intersecting the (green) segments with the polygons from the library output? Maybe by exploiting a constrained Delaunay triangulation?
PS: I know that this feat would probably be possible using CGAL. However, having never used CGAL, CGAL seems quite complex and adapting Example code such as this seems far from straight forward. Also, I would strongly prefer a solution in C.
So I decided to go against alpha shapes since I already know the exact boundary and do not want to fine tune the alpha value to avoid holes in the interior. Instead, I used Ante's comment to come up with an implementation in CGAL. If anyone is interested, it can be found [here][2]. My use of CGAL is probably really clumsy and one can tell that I'm coming from the C world, but it's a start. Test input can be found [here][3] (in.txt) and [here][4] (bnd_ind.txt). A visualization of the output (highlighted cut faces at the boundary) [![][1]][1]
(source: [666kb.com](http://666kb.com/i/csphx8ow43habobik.gif))
: