A good solution not general however is to transform your 3D data to 2D by a geometrical transformation - apply vtkDelaunay 2D which is fast and robust and then transform again the result to 3D.<br><br>E.g. Points in a surface of a cylinder. You can map the points in a 2D surface (Distance, Height from a starting point)<br>
then 2D triangulation will result to 2D cells (triangles or 4sided polygons).<br><br>Copy the original points in a new grid, copy the cells from the 2D triangulation (remember that you can do that because the indexes of the points in the 3D and the transformed dataset are the same) and construct a new 3D dataset which has cells only to the cylindrical surface.<br>
<br>The choice of the transformation will be different in a case by case basis. <br>We usually transform to a plane with good results.<br><br>