SNL: vtkPainter should pass poly data.
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
Painter are designed to be chained together in a rudimentary pipeline. Painters pass data down the pipeline. vtkPolyDataPainters also pass a vtkPolyData.
The issue is if a painter that is not a vtkPolyDataPainter is inserted into this pipeline, it will not pass the vtkPolyData.
There may be good reason to do this. For example, a painter may redirect rendering to a texture for use in multi-pass rendering. Such a painter has little to do with poly data so should inherit directly from vtkPainter. Other existing painters that currently inherit from vtkPolyDataPainter also don't really deal with poly data. vtkDisplayListPainter and vtkClipPlanesPainter are examples.
A good solution would be to have a vtkPainter hold a vtkDataSet as the thing to draw. A vtkPolyDataPainter could then cast that to a vtkPolyData. Since the vtkPainter holds the data, it can pass it.
Another solution is to put the poly data in the Information held by the vtkPainter. It would automatically be passed down the pipeline. The issue here is that it complicates painters that change the data, like vtkScalarsToColorsPainter.