Medical Imaging Interaction Toolkit  2026.06.00
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 
89  {
90  public:
92 
93  itkFactorylessNewMacro(Self);
94 
95  itkCloneMacro(Self);
96 
101  virtual const mitk::PointSet *GetInput();
102 
111  vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) override;
112 
117  void UpdateVtkTransform(mitk::BaseRenderer *renderer) override;
118 
125  static void SetDefaultProperties(mitk::DataNode *node, mitk::BaseRenderer *renderer = nullptr, bool overwrite = false);
126 
132 
134 
135  protected:
138 
141 
146  void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override;
147 
152  void ResetMapper(BaseRenderer *renderer) override;
153 
159  virtual void ApplyAllProperties(mitk::BaseRenderer *renderer, vtkActor *actor);
160 
166  virtual void CreateContour(vtkPoints *points, vtkCellArray *connections);
167 
169  virtual void CreateVTKRenderObjects();
170 
175 
178 
181 
183 
186 
190 
192 
193  // help for contour between points
195 
196  // variables to be able to log, how many inputs have been added to PolyDatas
199 
200  // variables to check if an update of the vtk objects is needed
203  };
204 
205 } // namespace mitk
206 
207 #endif
#define MITKCORE_EXPORT
Organizes the rendering process.
Central node class of the MITK data tree, associating a data object with properties and mappers.
Definition: mitkDataNode.h:72
Vtk-based 3D mapper for PointSet.
LocalStorageHandler< BaseLocalStorage > m_LSH
vtkSmartPointer< vtkPoints > m_VtkPoints
void ResetMapper(BaseRenderer *renderer) override
Resets the mapper by hiding the prop assembly.
vtkSmartPointer< vtkCellArray > m_VtkPointConnections
void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override
Generates the VTK rendering data for the given renderer.
virtual void CreateVTKRenderObjects()
Creates the VTK render objects (spheres, cubes, etc.) for each point.
void ReleaseGraphicsResources(mitk::BaseRenderer *renderer) override
Releases VTK graphics resources associated with the given renderer.
~PointSetVtkMapper3D() override
Destructor.
virtual void ApplyAllProperties(mitk::BaseRenderer *renderer, vtkActor *actor)
Applies color and opacity properties to the given actor.
vtkSmartPointer< vtkPolyDataMapper > m_VtkUnselectedPolyDataMapper
vtkSmartPointer< vtkTransformPolyDataFilter > m_VtkPointsTransformer
virtual const mitk::PointSet * GetInput()
Returns the PointSet input data object of this mapper.
mitkClassMacro(PointSetVtkMapper3D, VtkMapper)
vtkSmartPointer< vtkActor > m_ContourActor
vtkSmartPointer< vtkPolyDataMapper > m_VtkSelectedPolyDataMapper
void UpdateVtkTransform(mitk::BaseRenderer *renderer) override
Intentionally empty; transform is handled internally.
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)
Sets default properties for point set visualization in 3D.
vtkSmartPointer< vtkAppendPolyData > m_vtkTextList
virtual void CreateContour(vtkPoints *points, vtkCellArray *connections)
Creates a tube-based contour connecting the given points.
PointSetVtkMapper3D()
Constructor.
vtkProp * GetVtkProp(mitk::BaseRenderer *renderer) override
Returns the vtkPropAssembly containing all VTK actors for the given renderer.
vtkSmartPointer< vtkActor > m_UnselectedActor
vtkSmartPointer< vtkAppendPolyData > m_vtkSelectedPointList
Data structure which stores a set of points.
Definition: mitkPointSet.h:71
Base class of all VTK-based Mappers for displaying primitives using VTK functionality.
Definition: mitkVtkMapper.h:53
Find image slices visible on a given plane.
double ScalarType
Scalar type used throughout MITK for geometric computations.