This non-linear subdivision stuff is a real problem for vtkGeometryFilter / vtkDataSetSurfaceFilter - it throws a plateful of spaghetti into the mix (the design needs significant rework IMO). Spiros, if possible we should find a way to isolate this code into a helper method etc. We may have to give up some performance for these higher-order cells, or create a specialized filter for them, so that for the 99% of code that does not use them we get the performance we need out of these geometry filters.