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
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