In my FEA application I need to compute the (still unstructured, i.e. possibly non-linear) surface of unstructured grids and this often is time consuming. I was looking for whether vtkUnstructuredGridGeometryFilter was SMP enabled but unfortunately it isn’t. However I also discovered that the fairly new vtkMarkBoundaryFilter.

Reading through the code I found out that 1 dimensional cells in a vtkUnstructuredGrid are treated in a different way than in vtkGeometryFilter and the likes: in vtkMarkBoundaryFilter the lines are only marked if their end-points are not connected to other points, whereas in vtkGeometryFilter etc the lines are copied unconditionally. Note that 0 dimensional cells are marked unconditionally.

It would be nice if the vtkMarkBoundaryFilter could support the geometry-filter behavior as well, e.g. by optionally defining a cell dimension below which all cells are included. Also it would be cool if the vtkUnstructuredGridGeometryFilter could be parallellized…