Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkUnstructuredGridVtkMapper3D.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef _MITK_UNSTRUCTURED_GRID_VTK_MAPPER_3D_H_
18 #define _MITK_UNSTRUCTURED_GRID_VTK_MAPPER_3D_H_
19 
20 #include "MitkMapperExtExports.h"
21 #include "mitkBaseRenderer.h"
22 #include "mitkCommon.h"
23 #include "mitkUnstructuredGrid.h"
24 #include "mitkVtkMapper.h"
25 
26 #include <vtkActor.h>
27 #include <vtkAssembly.h>
28 #include <vtkDataSetTriangleFilter.h>
29 #include <vtkVolume.h>
30 
32 #include <vtkUnstructuredGridVolumeRayCastMapper.h>
33 
34 #include <vtkProjectedTetrahedraMapper.h>
35 #include <vtkUnstructuredGridVolumeZSweepMapper.h>
36 
37 namespace mitk
38 {
39  //##Documentation
40  //## @brief Vtk-based mapper for UnstructuredGrid
41  //##
42  //## @ingroup Mapper
44  {
45  public:
47 
48  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
49 
50  virtual const mitk::UnstructuredGrid *GetInput();
51 
52  virtual vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) override;
53 
54  static void SetDefaultProperties(mitk::DataNode *node, mitk::BaseRenderer *renderer = NULL, bool overwrite = false);
55 
56  void ApplyProperties(vtkActor * /*actor*/, mitk::BaseRenderer *renderer) override;
57 
59 
60  protected:
62 
63  virtual ~UnstructuredGridVtkMapper3D();
64 
65  virtual void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override;
66  virtual void ResetMapper(BaseRenderer * /*renderer*/) override;
67 
68  void SetProperties(mitk::BaseRenderer *renderer);
69 
70  vtkAssembly *m_Assembly;
71  vtkActor *m_Actor;
72  vtkActor *m_ActorWireframe;
73  vtkVolume *m_Volume;
74 
75  vtkDataSetTriangleFilter *m_VtkTriangleFilter;
76 
79 
80  vtkUnstructuredGridVolumeRayCastMapper *m_VtkVolumeRayCastMapper;
81  vtkProjectedTetrahedraMapper *m_VtkPTMapper;
82  vtkUnstructuredGridVolumeZSweepMapper *m_VtkVolumeZSweepMapper;
83  };
84 
85 } // namespace mitk
86 
87 #endif /* _MITK_UNSTRUCTURED_GRID_VTK_MAPPER_3D_H_ */
#define MITKMAPPEREXT_EXPORT
Organizes the rendering process.
DataCollection - Class to facilitate loading/accessing structured data.
Base class of all Vtk Mappers in order to display primitives by exploiting Vtk functionality.
Definition: mitkVtkMapper.h:53
Base class of all mappers, Vtk as well as OpenGL mappers.
Definition: mitkMapper.h:54
vtkUnstructuredGridVolumeZSweepMapper * m_VtkVolumeZSweepMapper
LocalStorageHandler< BaseLocalStorage > m_LSH
Vtk-based mapper for UnstructuredGrid.
vtkProjectedTetrahedraMapper * m_VtkPTMapper
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
vtkUnstructuredGridVolumeRayCastMapper * m_VtkVolumeRayCastMapper
Class for storing unstructured grids (vtkUnstructuredGrid)
Class for nodes of the DataTree.
Definition: mitkDataNode.h:66