In the MITK rendering concept, Mappers are responsible for actually rendering data onto the screen. More...
![]() |
Classes | |
class | mitk::Geometry2DDataMapper2D |
OpenGL-based mapper to display a Geometry2D in a 2D window. More... | |
class | mitk::Geometry2DDataVtkMapper3D |
Vtk-based mapper to display a Geometry2D in a 3D windowUses a Geometry2DDataToSurfaceFilter object to create a vtkPolyData representation of a given Geometry2D instance. Geometry2D may either contain a common flat plane or a curved plane (ThinPlateSplineCurvedGeometry). More... | |
class | mitk::GLMapper2D |
Base class of all OpenGL-based 2D-Mappers. More... | |
class | mitk::ImageMapperGL2D |
Mapper to resample and display 2D slices of a 3D image. More... | |
class | mitk::Mapper |
Base class of all mappers, 2D as well as 3D. More... | |
class | mitk::Mapper2D |
Base class of all Mappers for 2D display. More... | |
class | mitk::Mapper3D |
Base class of all mappers for 3D display. More... | |
class | mitk::PointSetGLMapper2D |
OpenGL-based mapper to display a mitk::PointSet in a 2D window. More... | |
class | mitk::PointSetVtkMapper3D |
Vtk-based mapper for PointSet. More... | |
class | mitk::SurfaceVtkMapper3D |
Vtk-based mapper for Surface. More... | |
class | mitk::VolumeDataVtkMapper3D |
Vtk-based mapper for VolumeData. More... | |
class | mitk::VtkMapper2D |
Base class of all vtk-based 2D-Mappers. More... | |
class | mitk::VtkMapper3D |
Base class of all vtk-based 3D-Mappers. More... | |
class | mitk::CompositeMapper |
Composite pattern for combination of different mappers. More... | |
class | mitk::DiffusionImageMapper< TPixelType > |
Mapper for raw diffusion weighted images. More... | |
class | mitk::OdfVtkMapper2D< TPixelType, NrOdfDirections > |
Base class of all vtk-based 2D-Mappers. More... | |
class | mitk::ContourMapper2D |
OpenGL-based mapper to display a mitk::Contour object in a 2D render window. More... | |
class | mitk::ContourSetMapper2D |
OpenGL-based mapper to display a mitk::Contour object in a 2D render window. More... | |
class | mitk::ContourSetVtkMapper3D |
Vtk-based mapper for mitk::Contour. More... | |
class | mitk::ContourVtkMapper3D |
Vtk-based mapper for mitk::Contour. More... | |
class | mitk::GPUVolumeMapper3D |
Vtk-based mapper for VolumeData. More... | |
class | mitk::LineMapper2D |
OpenGL-based mapper to display Lines. More... | |
class | mitk::LineVtkMapper3D |
Vtk-based mapper to draw Lines from PointSet. More... | |
class | mitk::MeshMapper2D |
OpenGL-based mapper to display a mesh in a 2D window. More... | |
class | mitk::MeshVtkMapper3D |
Vtk-based mapper for PointList. More... | |
class | mitk::SplineVtkMapper3D |
Vtk-based mapper for Splines. More... | |
class | mitk::UnstructuredGridVtkMapper3D |
Vtk-based mapper for UnstructuredGrid. More... | |
class | mitk::PlanarFigureMapper2D |
OpenGL-based mapper to render display sub-class instances of mitk::PlanarFigure. More... |
In the MITK rendering concept, Mappers are responsible for actually rendering data onto the screen.
Mappers differ in the type of data they are capable of rendering (e.g. volume data, polygonal data) and the mode of how data is rendered (e.g. 2D or 3D). For example, the ImageMapperGL2D renders volume data in a 2D view, i.e. it extracts a slice of the volume (as determined by the Geometry of the associated Renderer) and displays it as a 2D plane. All Mapper classes are arranged in a class hierarchy according to these criterions.
Mapper objects are owned by the DataNode which contains the data they have to render. An overview over this composition is given in the section Renderer and RenderWindow Classes. Each DataNode can have (and usually has) multiple Mappers attached, each responsible for different modes of rendering. In most cases this would be one 2D Mapper and one 3D Mapper, but other Mappers are possible, too. Which Mapper of a DataNode to use is determined by an ID; the Renderer of a 2D window would for example ask the DataNode to return an appropriate 2D Mapper.
More details can be found in the section on Rendering in MITK by means of the QT-VTK widget.
The need to Update() a Mapper can be justified by property changes in the associated data items. However, property changes are not uniformly taken into account when deciding on whether to execute Update() or not. The changes are data specific and difficult to generalize. As an effect, many Update() calls are not really necessary and might slow down the rendering process significantly. One solution to this problem might be a mechanism which allows Mappers to register themselves to relevant data properties, so as to be notified whenever a change occurs. If no modification did occur since the last Update(), and the data itself has remained unchanged, no re-initialization (of the rendering pipeline for example) needs to be performed.