Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkFiberBundleMapper2D.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 FiberBundleMAPPER2D_H_HEADER_INCLUDED
18 #define FiberBundleMAPPER2D_H_HEADER_INCLUDED
19 
20 //MITK Rendering
21 #include <mitkCommon.h>
22 #include <mitkBaseRenderer.h>
23 //#include <MitkFiberTrackingExports.h>
24 
25 #include <mitkVtkMapper.h>
26 #include <mitkFiberBundle.h>
27 #include <vtkSmartPointer.h>
28 
29 
30 class vtkActor;
31 //class vtkPropAssembly; //lets see if we need it
32 class mitkBaseRenderer;
33 class vtkPolyDataMapper;
34 class vtkCutter;
35 class vtkPlane;
36 class vtkPolyData;
37 
38 
39 
40 namespace mitk {
41 
42 struct IShaderRepository;
43 
45 {
46 
47 public:
49  itkFactorylessNewMacro(Self)
50  itkCloneMacro(Self)
52 
53 
55  virtual void Update(mitk::BaseRenderer * renderer) override;
56 
57 
58  static void SetDefaultProperties(DataNode* node, BaseRenderer* renderer = NULL, bool overwrite = false );
59 
60 
61  //### methods of MITK-VTK rendering pipeline
62  virtual vtkProp* GetVtkProp(mitk::BaseRenderer* renderer) override;
63  //### end of methods of MITK-VTK rendering pipeline
64 
65 
67  {
68  public:
70  vtkSmartPointer<vtkActor> m_PointActor;
72  vtkSmartPointer<vtkPolyDataMapper> m_FiberMapper;
73  vtkSmartPointer<vtkPlane> m_SlicingPlane; //needed later when optimized 2D mapper
74  vtkSmartPointer<vtkPolyData> m_SlicedResult; //might be depricated in optimized 2D mapper
75 
77  itk::TimeStamp m_LastUpdateTime;
79  FBXLocalStorage(); //if u copy&paste from this 2Dmapper, be aware that the implementation of this constructor is in the cpp file
80 
82  {
83  }
84  };
85 
88 
89 
90 
91 protected:
93  virtual ~FiberBundleMapper2D();
94 
96  virtual void GenerateDataForRenderer(mitk::BaseRenderer*) override;
97 
99 
100 private:
101  vtkSmartPointer<vtkLookupTable> m_lut;
102 
103  int m_LineWidth;
104 };
105 
106 
107 }//end namespace
108 
109 #endif
Base class for mapper specific rendering ressources.
Definition: mitkMapper.h:200
itk::TimeStamp m_LastUpdateTime
Timestamp of last update of stored data.
void UpdateShaderParameter(mitk::BaseRenderer *)
static void SetDefaultProperties(DataNode *node, BaseRenderer *renderer=NULL, bool overwrite=false)
Templated class for management of LocalStorage implementations in Mappers.
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
vtkSmartPointer< vtkPolyDataMapper > m_FiberMapper
Point Mapper of a 2D render window.
FBXLocalStorage()
Constructor of the local storage. Do as much actions as possible in here to avoid double executions...
virtual void GenerateDataForRenderer(mitk::BaseRenderer *) override
vtkSmartPointer< vtkActor > m_PointActor
Point Actor of a 2D render window.
mitkClassMacro(FiberBundleMapper2D, VtkMapper)
Base Class for Fiber Bundles;.
mitk::LocalStorageHandler< FBXLocalStorage > m_LocalStorageHandler
This member holds all three LocalStorages for the three 2D render windows.
virtual vtkProp * GetVtkProp(mitk::BaseRenderer *renderer) override
virtual void Update(mitk::BaseRenderer *renderer) override
Checks whether this mapper needs to update itself and generate data.
Class for nodes of the DataTree.
Definition: mitkDataNode.h:66