MantisBT - VTK
View Issue Details
0002809VTK(No Category)public2006-02-01 12:012013-04-05 20:19
Ken Moreland 
Utkarsh Ayachit 
lowminoralways
closedfixed 
 
 
0002809: SNL: vtkPainter should pass poly data.
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.
No tags attached.
Issue History
2008-01-10 08:51Utkarsh AyachitStatustabled => @80@
2008-01-10 08:51Utkarsh AyachitResolutionopen => fixed
2008-01-10 08:51Utkarsh AyachitNote Added: 0010103
2011-01-13 17:00Source_changeset_attached => VTK master a2bd8391
2011-01-13 17:00Source_changeset_attached => VTK master 020ef709
2011-06-16 13:11Zack GalbreathCategory => (No Category)
2013-04-05 20:19Berk GeveciStatuscustomer review => closed

Notes
(0010103)
Utkarsh Ayachit   
2008-01-10 08:51   
BUG: Fixes BUG 0002809. vtkPainter now passes along a vtkDataObject. Restructured
the painter hierarchy to make those painters that don't really use polydata to
be subclasses of vtkPainter (they were made subclasses of vtkPolyDataPainter so
  that they could pass the polydata along the pipeline).

ENH: Added new vtkMultiGroupPolyDataMapper2 and vtkCompositePainter for
rendering composite datasets without using multiple mappers.
vtkMultiGroupPolyDataMapper2 will create a single display list for rendering all
blocks when display lists are enabled.

/cvsroot/ParaView3/ParaView3/VTK/Rendering/CMakeLists.txt,v <-- CMakeLists.txt
new revision: 1.271; previous revision: 1.270
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkChooserPainter.cxx,v <-- vtkChooserPainter.cxx
new revision: 1.5; previous revision: 1.4
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkClipPlanesPainter.h,v <-- vtkClipPlanesPainter.h
new revision: 1.3; previous revision: 1.2
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkCompositePainter.cxx,v <-- vtkCompositePainter.cxx
initial revision: 1.1
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkCompositePainter.h,v <-- vtkCompositePainter.h
initial revision: 1.1
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkDefaultPainter.cxx,v <-- vtkDefaultPainter.cxx
new revision: 1.5; previous revision: 1.4
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkDefaultPainter.h,v <-- vtkDefaultPainter.h
new revision: 1.6; previous revision: 1.5
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkDisplayListPainter.h,v <-- vtkDisplayListPainter.h
new revision: 1.3; previous revision: 1.2
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkIdentColoredPainter.cxx,v <-- vtkIdentColoredPainter.cxx
new revision: 1.24; previous revision: 1.23
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkLinesPainter.cxx,v <-- vtkLinesPainter.cxx
new revision: 1.4; previous revision: 1.3
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkMultiGroupPolyDataMapper2.cxx,v <-- vtkMultiGroupPolyDataMapper2.cxx
initial revision: 1.1
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkMultiGroupPolyDataMapper2.h,v <-- vtkMultiGroupPolyDataMapper2.h
initial revision: 1.1
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkOpenGLDisplayListPainter.cxx,v <-- vtkOpenGLDisplayListPainter.cxx
new revision: 1.5; previous revision: 1.4
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkOpenGLDisplayListPainter.h,v <-- vtkOpenGLDisplayListPainter.h
new revision: 1.3; previous revision: 1.2
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkOpenGLLightingPainter.cxx,v <-- vtkOpenGLLightingPainter.cxx
new revision: 1.4; previous revision: 1.3
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPainter.cxx,v <-- vtkPainter.cxx
new revision: 1.4; previous revision: 1.3
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPainter.h,v <-- vtkPainter.h
new revision: 1.5; previous revision: 1.4
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPainterPolyDataMapper.cxx,v <-- vtkPainterPolyDataMapper.cxx
new revision: 1.12; previous revision: 1.11
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPainterPolyDataMapper.h,v <-- vtkPainterPolyDataMapper.h
new revision: 1.11; previous revision: 1.10
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPointsPainter.cxx,v <-- vtkPointsPainter.cxx
new revision: 1.3; previous revision: 1.2
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPolyDataPainter.cxx,v <-- vtkPolyDataPainter.cxx
new revision: 1.4; previous revision: 1.3
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPolyDataPainter.h,v <-- vtkPolyDataPainter.h
new revision: 1.5; previous revision: 1.4
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPolygonsPainter.cxx,v <-- vtkPolygonsPainter.cxx
new revision: 1.3; previous revision: 1.2
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPrimitivePainter.cxx,v <-- vtkPrimitivePainter.cxx
new revision: 1.6; previous revision: 1.5
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkPrimitivePainter.h,v <-- vtkPrimitivePainter.h
new revision: 1.7; previous revision: 1.6
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkRenderer.cxx,v <-- vtkRenderer.cxx
new revision: 1.239; previous revision: 1.238
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkRenderer.h,v <-- vtkRenderer.h
new revision: 1.139; previous revision: 1.138
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkScalarsToColorsPainter.cxx,v <-- vtkScalarsToColorsPainter.cxx
new revision: 1.8; previous revision: 1.7
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkScalarsToColorsPainter.h,v <-- vtkScalarsToColorsPainter.h
new revision: 1.6; previous revision: 1.5
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkStandardPolyDataPainter.cxx,v <-- vtkStandardPolyDataPainter.cxx
new revision: 1.8; previous revision: 1.7
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkTStripsPainter.cxx,v <-- vtkTStripsPainter.cxx
new revision: 1.4; previous revision: 1.3