As in SetAmbient(1), SetDiffuse(0), SetShading(0). Not really. I will try triangulating the surfaces using a new Triangulate2D filter (supports only structured data) and will try to map only the points on valid triangles. That should probably help a lot. The filter is very specific, but does everything in a single pass. Do you think this is too specific for the community. This is the result of fast triangulation (2D). It is two orders of magnitude faster than vtkDelaunay2D, so perhaps I should consider brushing up the code.
Surface-scanner-acquired data sets are quite common and they much more than a just an unstructured point cloud, so it would be useful to have VTK filters for processing and visualizing them.
Comparing your triangulation to Delaunay is not relevant, as you would never use Delaunay triangulation for building a rectangular grid. Instead, one would simply define a set of cells corresponding to an MxN rectangular grid. It would be very simple and efficient, because the cell connectivity would never need to be updated, just the 3D point coordinates are changing. Although generating the cells is really simple, it would still be convenient to have it in a filter. You could also consider having a data structure for this kind of data (similar to structured grid, but for polygonal mesh), but it may not worth the trouble.
It may be tempting to create a single filter that can do most of the processing steps - depth to structured point cloud, structured point cloud to polygonal mesh, with blanking, hole filling, normal computation, etc. This could certainly have somewhat faster than doing it in several filters, but the filter would be large and complex, and the design would be somewhat of a departure from VTK’s modular design.
I have a very complex filter doing thresholding, triangulation, edge detection and island removal. Just thought it would be nice to have the triangulation in a single filter supporting streaming and composite datasets. I know it is wrong to compare it with vtkDelaunay2D but it is the only option right now unless you implement your own filter, I guess
It takes only a few lines of Python code to generate the cells for a rectangular grid. While streaming, the cells don’t need to be modified, you would only update the point coordinates. Still, it would be still useful to create a filter for this for convenience.