Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
mitkPointSetVtkMapper3D.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 (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkPointSetVtkMapper3D_h
14 #define mitkPointSetVtkMapper3D_h
15 
16 #include "mitkBaseRenderer.h"
17 #include "mitkVtkMapper.h"
18 #include <MitkCoreExports.h>
19 #include <vtkSmartPointer.h>
20 
21 class vtkActor;
22 class vtkCellArray;
23 class vtkPropAssembly;
24 class vtkAppendPolyData;
25 class vtkPolyData;
26 class vtkTubeFilter;
27 class vtkPolyDataMapper;
28 class vtkTransformPolyDataFilter;
29 
30 namespace mitk
31 {
32  class PointSet;
33 
91  {
92  public:
94 
95  itkFactorylessNewMacro(Self);
96 
97  itkCloneMacro(Self);
98 
99  virtual const mitk::PointSet *GetInput();
100 
101  // overwritten from VtkMapper3D to be able to return a
102  // m_PointsAssembly which is much faster than a vtkAssembly
103  vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) override;
104  void UpdateVtkTransform(mitk::BaseRenderer *renderer) override;
105 
106  static void SetDefaultProperties(mitk::DataNode *node, mitk::BaseRenderer *renderer = nullptr, bool overwrite = false);
107 
108  /*
109  * \deprecatedSince{2013_12} Use ReleaseGraphicsResources(mitk::BaseRenderer* renderer) instead
110  */
111  DEPRECATED(void ReleaseGraphicsResources(vtkWindow *renWin));
112 
114 
116 
117  protected:
119 
121 
122  void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override;
123  void ResetMapper(BaseRenderer *renderer) override;
124  virtual void ApplyAllProperties(mitk::BaseRenderer *renderer, vtkActor *actor);
125  virtual void CreateContour(vtkPoints *points, vtkCellArray *connections);
126  virtual void CreateVTKRenderObjects();
127 
132 
135 
138 
140 
143 
147 
149 
150  // help for contour between points
152 
153  // variables to be able to log, how many inputs have been added to PolyDatas
156 
157  // variables to check if an update of the vtk objects is needed
160  };
161 
162 } // namespace mitk
163 
164 #endif
#define MITKCORE_EXPORT
Class for nodes of the DataTree.
Definition: mitkDataNode.h:64
Base class of all mappers, Vtk as well as OpenGL mappers.
Definition: mitkMapper.h:47
Vtk-based mapper for PointSet.
LocalStorageHandler< BaseLocalStorage > m_LSH
vtkSmartPointer< vtkPoints > m_VtkPoints
void ResetMapper(BaseRenderer *renderer) override
Reset the mapper (i.e., make sure that nothing is displayed) if no valid data is present....
vtkSmartPointer< vtkCellArray > m_VtkPointConnections
void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override
Generate the data needed for rendering into renderer.
virtual void CreateVTKRenderObjects()
void ReleaseGraphicsResources(mitk::BaseRenderer *renderer) override
Release vtk-based graphics resources that are being consumed by this mapper.
virtual void ApplyAllProperties(mitk::BaseRenderer *renderer, vtkActor *actor)
vtkSmartPointer< vtkPolyDataMapper > m_VtkUnselectedPolyDataMapper
vtkSmartPointer< vtkTransformPolyDataFilter > m_VtkPointsTransformer
virtual const mitk::PointSet * GetInput()
void ReleaseGraphicsResources(vtkWindow *renWin)
vtkSmartPointer< vtkActor > m_ContourActor
vtkSmartPointer< vtkPolyDataMapper > m_VtkSelectedPolyDataMapper
void UpdateVtkTransform(mitk::BaseRenderer *renderer) override
Set the vtkTransform of the m_Prop3D for the current time step of renderer.
vtkSmartPointer< vtkAppendPolyData > m_vtkUnselectedPointList
vtkSmartPointer< vtkCellArray > m_PointConnections
All connections between two points (used for contour drawing)
vtkSmartPointer< vtkActor > m_SelectedActor
vtkSmartPointer< vtkPropAssembly > m_PointsAssembly
vtkSmartPointer< vtkPoints > m_WorldPositions
All point positions, already in world coordinates.
static void SetDefaultProperties(mitk::DataNode *node, mitk::BaseRenderer *renderer=nullptr, bool overwrite=false)
vtkSmartPointer< vtkAppendPolyData > m_vtkTextList
virtual void CreateContour(vtkPoints *points, vtkCellArray *connections)
vtkProp * GetVtkProp(mitk::BaseRenderer *renderer) override
vtkSmartPointer< vtkActor > m_UnselectedActor
vtkSmartPointer< vtkAppendPolyData > m_vtkSelectedPointList
Data structure which stores a set of points.
Definition: mitkPointSet.h:72
Base class of all Vtk Mappers in order to display primitives by exploiting Vtk functionality.
Definition: mitkVtkMapper.h:48
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
#define DEPRECATED(func)
Definition: mitkCommon.h:175
Find image slices visible on a given plane.
double ScalarType