void operator()( HDS& hds) {
				CGAL::Polyhedron_incremental_builder_3<HDS> B( hds, true);
				//start surface, number of halfedges is unknown (at least to me)
				B.begin_surface( vtkMesh->GetNumberOfVerts(),vtkMesh->GetNumberOfPolys(),0);
				typedef typename HDS::Vertex Vertex;
				typedef typename Vertex::Point Point;
				//add vertices to polyhedron
				for(vtkIdType i = 0; i < vtkMesh->GetNumberOfPoints(); i++)
				{
					double p[3];
					vtkMesh->GetPoint(i,p);
					B.add_vertex(Point(p[0],p[1],p[2]));
				}
				//add faces to polyhedron
				vtkIdType npts, *pts;
				vtkMesh->GetPolys()->InitTraversal();
				while(vtkMesh->GetPolys()->GetNextCell(npts,pts))
				{
					B.begin_facet();
					B.add_vertex_to_facet(pts[0]);
					B.add_vertex_to_facet(pts[1]);
					B.add_vertex_to_facet(pts[2]);
					B.end_facet();
				}
				B.end_surface();
			}