Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkFiberBundleMapper3D.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 
18 #ifndef FiberBundleMapper3D_H_HEADER_INCLUDED
19 #define FiberBundleMapper3D_H_HEADER_INCLUDED
20 
21 //#include <mitkBaseData.h> //?? necessary
22 #include <mitkVtkMapper.h>
23 #include <mitkFiberBundle.h>
24 
25 #include <vtkSmartPointer.h>
26 
27 class vtkPropAssembly;
28 class vtkPolyDataMapper;
29 class vtkLookupTable;
30 class vtkOpenGLActor;
31 
32 namespace mitk {
33 
34 //##Documentation
35 //## @brief Mapper for FiberBundle
36 //## @ingroup Mapper
37 
39 {
40 public:
41 
43  itkFactorylessNewMacro(Self)
44  itkCloneMacro(Self)
45 
46  //========== essential implementation for 3D mapper ========
47  const FiberBundle* GetInput();
48  virtual vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) override; //looks like depricated.. should be replaced bz GetViewProp()
49  static void SetDefaultProperties(DataNode* node, BaseRenderer* renderer = NULL, bool overwrite = false );
50  static void SetVtkMapperImmediateModeRendering(vtkMapper *mapper);
51  virtual void GenerateDataForRenderer(mitk::BaseRenderer* renderer) override;
52  //=========================================================
53 
55  {
56  public:
58  vtkSmartPointer<vtkActor> m_FiberActor;
60  vtkSmartPointer<vtkPolyDataMapper> m_FiberMapper;
61 
62  vtkSmartPointer<vtkPropAssembly> m_FiberAssembly;
63 
65  itk::TimeStamp m_LastUpdateTime;
67  FBXLocalStorage3D(); //if u copy&paste from this 2Dmapper, be aware that the implementation of this constructor is in the cpp file
68 
70  {
71  }
72  };
73 
76 
77 
78 protected:
79 
81  virtual ~FiberBundleMapper3D();
83 
84  void UpdateVtkObjects(); //??
85 
86 private:
87  vtkSmartPointer<vtkLookupTable> m_lut;
88  float m_TubeRadius;
89  int m_TubeSides;
90  int m_LineWidth;
91  float m_RibbonWidth;
92  bool m_Lighting;
93 };
94 
95 } // end namespace mitk
96 
97 
98 
99 
100 #endif /* FiberBundleMapper3D_H_HEADER_INCLUDED */
101 
vtkSmartPointer< vtkPropAssembly > m_FiberAssembly
Base class for mapper specific rendering ressources.
Definition: mitkMapper.h:200
itk::TimeStamp m_LastUpdateTime
Timestamp of last update of stored data.
static void SetDefaultProperties(DataNode *node, BaseRenderer *renderer=NULL, bool overwrite=false)
virtual vtkProp * GetVtkProp(mitk::BaseRenderer *renderer) override
Templated class for management of LocalStorage implementations in Mappers.
Organizes the rendering process.
vtkSmartPointer< vtkActor > m_FiberActor
Point Actor of a 3D render window.
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
virtual void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override
Generate the data needed for rendering into renderer.
Base class of all mappers, Vtk as well as OpenGL mappers.
Definition: mitkMapper.h:54
vtkSmartPointer< vtkPolyDataMapper > m_FiberMapper
Point Mapper of a 3D render window.
static void SetVtkMapperImmediateModeRendering(vtkMapper *mapper)
void InternalGenerateData(mitk::BaseRenderer *renderer)
Base Class for Fiber Bundles;.
mitkClassMacro(FiberBundleMapper3D, VtkMapper) static Pointer New()
FBXLocalStorage3D()
Constructor of the local storage. Do as much actions as possible in here to avoid double executions...
Mapper for FiberBundle.
mitk::LocalStorageHandler< FBXLocalStorage3D > m_LocalStorageHandler
This member holds all three LocalStorages for the 3D render window(s).
Class for nodes of the DataTree.
Definition: mitkDataNode.h:66