Page MenuHomePhabricator

VtkMapper2D/3D architecture refactoring
Closed, ResolvedPublic

Description

The MITK rendering pipeline supports VTK and openGL rendering. For this purpose we enable and disable openGL during the pipeline according to the corresponding mapper and perform a few other things mapper type specifically.

However, in the code is often a cast from the mapper to the base class VtkMapper3D in order to perform a VTK specific action. As a consequence, in most cases this does not work for VtkMapper2D mappers.

The task is to find out if a base class (e.g. mitkVtkMapper) of both VTK mapper types could replace the mitkVtkMapper3D casts in the code.

Event Timeline

Resetting all bugs without active assignee flag to "CONFIRMED". Change status to IN_PROGRESS if you are working on it.

Markus and I discussed this bug today:
-The complete Mapper hirachy should be changed to:
++mitkVtkMapper and mitkGlMapper inherit from mitkMapper
++vtkMapper2d and vtkMapper3d inherit from mitkVtkMapper => allows for mappers which can do both 3d and 2d. The interface should implement the VTK methods: MitkRenderTranslucentGeometry, etc. which are currently inside the imageVtkMapper2d and the vtkMapper3d

New remote branch pushed: bug-8150-VtkMapper2D3DarchitectureRefactoring

Approved core modification after talking to Daniel.

Is there a plan for renaming the other mapper classes in MITK to make it consistent with the new hierachy?

Do you intend to have a consistent naming scheme within the mapper structure, i.e.
to rename the single mappers in order to have either "GL" or "VTK" and either "2D" or "3D" in each mapper's name?

CountourMapper2D would become ContourGLMapper2D
PlanarFigureMapper3D would become PlanarFigureVtkMapper3D
etc.

There is no plan (yet) to rename the individual mappers.

Please do not introduce big changes or new features. Focus on stability, consistency and backwards compatibility.

[8b483d]: Merge branch 'bug-8150-Integration'

Merged commits:

2013-02-27 15:27:00 Sandy Engelhardt [e756e3]
Merge branch 'master' of mitk.org:MITK


2013-02-27 15:23:26 Sandy Engelhardt [65a997]
Merge branch 'bug-8150-VtkMapper2D3DarchitectureRefactoring'

Conflicts:
Core/Code/Rendering/mitkImageVtkMapper2D.cpp
Core/Code/Rendering/mitkImageVtkMapper2D.h
Core/Code/Rendering/mitkSurfaceVtkMapper3D.cpp
Core/Code/Rendering/mitkVtkPropRenderer.cpp
Modules/DiffusionImaging/Connectomics/Rendering/mitkConnectomicsNetworkMapper3D.h
Modules/DiffusionImaging/DiffusionCore/Rendering/mitkCompositeMapper.h
Modules/DiffusionImaging/DiffusionCore/Rendering/mitkVectorImageVtkGlyphMapper3D.h
Modules/DiffusionImaging/FiberTracking/Rendering/mitkFiberBundleXMapper3D.h
Modules/DiffusionImaging/FiberTracking/Rendering/mitkFiberBundleXThreadMonitorMapper3D.h
Modules/DiffusionImaging/Rendering/mitkConnectomicsNetworkMapper3D.cpp
Modules/DiffusionImaging/Rendering/mitkOdfVtkMapper2D.h
Modules/DiffusionImaging/Rendering/mitkOdfVtkMapper2D.txx


2013-02-27 11:06:22 Sandy Engelhardt [3f1958]
Replace function name ApplyColorAndOpacityProperties by ApplyAllProperties


2013-02-20 17:01:31 Sandy Engelhardt [74b1d3]
Adding documentation concerning the GLMapper coordinate system


2013-02-15 11:33:09 Sandy Engelhardt [c8711d]
Adding comments and private copy constructor and assignment operator


2013-02-15 10:17:33 Sandy Engelhardt [4ced6f]
Replace ApplyProperties() by ApplyColorAndOpacityProperties()


2013-02-12 13:03:17 Sandy Engelhardt [d4e7b7]
Deleted unneccessary comments


2013-02-12 10:59:45 Sandy Engelhardt [d8f9fc]
Use Deprecated Macro for typedefs


2013-02-11 14:28:51 Sandy Engelhardt [6e312e]
Set methods in Mapper.h as deprecated since they are only convenience methods

GetData(), GetColor(), GetVisiblity(), GetLevelWindow(), GetOpacity(),
IsVisible(), IsVtkbased(), GenerateData()


2013-01-24 14:42:20 Sandy Engelhardt [1ccf80]
Deleting uncommented function


2013-01-24 14:09:22 Sandy Engelhardt [53724b]
Update include information


2013-01-24 13:12:49 Peter Neher [b52b0a]
uncommented unused variables


2013-01-24 12:03:34 Sandy Engelhardt [f962b8]
Adding new files and removing deleting files to files.cmake


2013-01-24 11:23:17 Sandy Engelhardt [00f005]
Paste GenerateData() into GenerateDataForRenderer()


2013-01-24 11:20:22 Sandy Engelhardt [dde0a5]
Paste GenerateData() into GenerateDataForRenderer()


2013-01-24 11:14:50 Sandy Engelhardt [533dc3]
Paste GenerateData() into GenerateDataForRenderer()


2013-01-24 10:57:08 Sandy Engelhardt [9cc334]
Paste GenerateData() into GenerateDataForRenderer()


2013-01-24 09:15:32 Sandy Engelhardt [8c8852]
Paste GenerateData() into GenerateDataForRenderer()


2013-01-24 09:09:25 Sandy Engelhardt [c2ccfb]
Insert GenerateData() into GenerateDataForRenderer()


2013-01-24 08:51:41 Sandy Engelhardt [36a1e2]
Include GenerateData() into GenerateDataForRenderer()


2013-01-23 11:56:57 Sandy Engelhardt [56ce97]
Merge GenerateData() with GenerateDataForRenderer()


2013-01-23 11:52:48 Sandy Engelhardt [cd29bc]
Merge GenerateData() with GenerateDataForRenderer()


2013-01-23 10:20:50 Sandy Engelhardt [4bafe8]
Merge GenerateData() with GenerateDataForRenderer()


2013-01-23 10:14:34 Sandy Engelhardt [f4c7e9]
Replace GenerateData() by GenerateDataForRenderer()


2013-01-22 14:34:00 Sandy Engelhardt [114580]
Port existing VTK mappers to one base class


2013-01-21 17:16:24 Sandy Engelhardt [a6d9b8]
Porting all GLMapper2D to new base class GLMapper


2013-01-21 13:46:39 Sandy Engelhardt [00de40]
Adding comments in order to obtain a more detailed documentation


2013-01-18 14:49:49 Sandy Engelhardt [5f857e]
Deleted old cpp base class files


2013-01-18 12:07:29 Sandy Engelhardt [20a942]
Unify comment style in Mapper.h and add comments


2013-01-18 11:32:37 Sandy Engelhardt [71d925]
introduce typedefs to map old classes to new classes

replace old mapper base classes in mitkVtkPropRenderer and
vtkMitkRenderProp by new GL/VTKMapper


2013-01-10 15:31:27 Sandy Engelhardt [ef6775]
Adding base class for all GLMappers

This class will be parent class for all current GLMappers


2013-01-10 14:38:26 Sandy Engelhardt [33f5b6]
Adding new base class for all VTK Mapper

Refactoring the Mapper class architecture by introducing a new class for
all existing VTK Mappers. The designated child classes must still be
adjusted in order to inherit from this class.

New remote branch pushed: bug-8150-Integration

[82e7d7]: Merge branch 'bug-8150-Integration'

Merged commits:

2013-02-27 16:36:22 Sandy Engelhardt [864463]
COMP:Bugfix in mitkToFSurfaceVtkMapper 3D (wrong function call)

[d86f46]: Merge branch 'bug-8150-Integration'

Merged commits:

2013-02-27 16:49:30 Sandy Engelhardt [aa08d2]
COMP: Fixing other method call

[ca4bdf]: Merge branch 'bug-8150-MapperMerge-CompErrors-Linux'

Merged commits:

2013-02-27 17:29:48 Jan Hering [7bb5ba]
Removed unused parameters in Mappers

  • was causing compiler errors on gcc >= 4.6.3

New remote branch pushed: bug-8150-VtkMapper2D3DNewArchitecture-Introduce-DeprecatedSince

[a21e1c]: Merge branch 'bug-8150-VtkMapper2D3DNewArchitecture-Introduce-Deprecat

Merged commits:

2013-03-01 14:52:04 Sandy Engelhardt [2d67d6]
Replace @deprecated by @deprecatedSince{2013_03} in mapper architecture

New remote branch pushed: bug-8150-FixOpenGLRendering

[65b326]: Merge branch 'bug-8150-FixOpenGLRendering'

Merged commits:

2013-03-19 11:23:50 Sandy Engelhardt [56cc34]
Bugfix OpenGL renders only once and LineWidth is per default 1.0

New remote branch pushed: bug-8150-FixOpenGLRenderingII

[a4eaeb]: Merge branch 'bug-8150-FixOpenGLRenderingII'

Merged commits:

2013-03-19 11:31:09 Sandy Engelhardt [95a8c4]
Fix OpenGL Rendering, uncommented variable

New remote branch pushed: bug-8150-Comments

[b01b4f]: Merge branch 'bug-8150-Comments'

Merged commits:

2013-03-21 10:40:02 Sandy Engelhardt [5e3fe9]
adjusted doxygen deprecated comment

New remote branch pushed: bug-8150-RenewDocumentation

[1a2f15]: Merge branch 'bug-8150-RenewDocumentation'

Merged commits:

2013-03-22 11:36:10 Sandy Engelhardt [c65f33]
Changed Rendering concept page (Mapper section and sequence diagram)

[1ec241]: Merge branch 'bug-8150-Mapper-Performance'

Merged commits:

2013-04-12 16:30:43 Sandy Engelhardt [46ec04]
Merge branch 'bug-14932-generatedata-performance' into bug-8150-Mapper-Performance


2013-04-12 16:22:07 Sandy Engelhardt [3e9481]
Missing export macro in BaseStorage


2013-04-10 16:57:15 Eric Heim [533b5c]
added update changes to mitkUnstructuredGridMapper2D


2013-04-10 16:49:07 Eric Heim [b6a726]
added update time and changed VectorImageVtkGlyphMapper3D


2013-04-10 16:34:00 Eric Heim [2b0e91]
added update changes to various mappers


2013-04-10 16:21:44 Eric Heim [1bf586]
added update changes to mitkFiberBundleXThreadMonitorMapper3D


2013-04-10 16:04:07 Eric Heim [b17a27]
added update changes to mitkGeometrymapper2d


2013-04-10 15:47:35 Eric Heim [7d9a83]
update generate data issues fixed in mitkvtkpointsetmapper3d