Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkPointSetVtkMapper2D.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 mitkPointSetVtkMapper2D_h
14 #define mitkPointSetVtkMapper2D_h
15 
16 #include <mitkBaseRenderer.h>
18 #include <mitkVtkMapper.h>
19 #include <MitkCoreExports.h>
21 
22 // VTK
23 #include <vtkSmartPointer.h>
24 class vtkActor;
25 class vtkPropAssembly;
26 class vtkPolyData;
27 class vtkPolyDataMapper;
28 class vtkGlyphSource2D;
29 class vtkGlyph3D;
30 class vtkFloatArray;
31 class vtkCellArray;
32 class vtkTextActor;
33 
34 namespace mitk
35 {
36  class PointSet;
37 
121  {
122  public:
124 
125  itkFactorylessNewMacro(Self);
126 
127  itkCloneMacro(Self);
128 
133  virtual const mitk::PointSet *GetInput() const;
134 
140  vtkProp *GetVtkProp(mitk::BaseRenderer *renderer) override;
141 
148  static void SetDefaultProperties(mitk::DataNode *node, mitk::BaseRenderer *renderer = nullptr, bool overwrite = false);
149 
152  {
153  public:
154  /* constructor */
156 
157  /* destructor */
158  ~LocalStorage() override;
159 
160  // points
164 
165  // scales
169 
170  // distances
172 
173  // lines
175 
176  // glyph source (provides different shapes for the points)
180 
181  // glyph
185 
186  // polydata
191 
192  // actor
198 
199  std::vector<vtkSmartPointer<vtkTextActor>> m_VtkTextLabelActors;
200  std::vector<vtkSmartPointer<vtkTextActor>> m_VtkTextDistanceActors;
201  std::vector<vtkSmartPointer<vtkTextActor>> m_VtkTextAngleActors;
202 
203  // mappers
208 
209  // propassembly
211  };
212 
215 
216  protected:
219 
222 
227  void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override;
228 
236  void ResetMapper(BaseRenderer *renderer) override;
237 
253 
254  // member variables holding the current value of the properties used in this mapper
255  bool m_ShowContour; // "show contour" property
256  bool m_CloseContour; // "close contour" property
257  bool m_ShowPoints; // "show points" property
258  bool m_ShowDistances; // "show distances" property
259  int m_DistancesDecimalDigits; // "distance decimal digits" property
260  bool m_ShowAngles; // "show angles" property
261  bool m_ShowDistantLines; // "show distant lines" property
262  int m_LineWidth; // "line width" property
263  int m_PointLineWidth; // "point line width" property
264  float m_Point2DSize; // "point 2D size" property
265  int m_IDShapeProperty; // ID for mitkPointSetShape Enumeration Property "Pointset.2D.shape"
266  bool m_FillShape; // "Pointset.2D.fill shape" property
267  float m_DistanceToPlane; // "Pointset.2D.distance to plane" property
268  bool m_FixedSizeOnScreen; // "Pointset.2D.fixed size on screen" property
269  int m_Resolution; // "Pointset.2D.resolution" property
270  bool m_KeepShapeWhenSelected; // "Pointset.2D.keep shape when selected" property
271  bool m_ShowSelectedContour; // "Pointset.2D.selected.show contour" property
272  };
273 
274 } // namespace mitk
275 
276 #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
Base class for mapper-specific rendering resources.
Definition: mitkMapper.h:181
Internal class holding the mapper, actor, etc. for each of the 3 2D render windows.
vtkSmartPointer< vtkPolyDataMapper > m_VtkUnselectedPolyDataMapper
vtkSmartPointer< vtkPoints > m_UnselectedPoints
vtkSmartPointer< vtkGlyphSource2D > m_SelectedContourGlyphSource2D
vtkSmartPointer< vtkPolyData > m_VtkContourPolyData
std::vector< vtkSmartPointer< vtkTextActor > > m_VtkTextAngleActors
vtkSmartPointer< vtkFloatArray > m_UnselectedScales
vtkSmartPointer< vtkGlyphSource2D > m_UnselectedGlyphSource2D
vtkSmartPointer< vtkTextActor > m_VtkTextActor
vtkSmartPointer< vtkFloatArray > m_SelectedScales
vtkSmartPointer< vtkGlyph3D > m_SelectedGlyph3D
std::vector< vtkSmartPointer< vtkTextActor > > m_VtkTextLabelActors
vtkSmartPointer< vtkPolyData > m_VtkUnselectedPointListPolyData
vtkSmartPointer< vtkGlyph3D > m_SelectedContourGlyph3D
vtkSmartPointer< vtkPolyData > m_VtkSelectedContourPointListPolyData
vtkSmartPointer< vtkGlyph3D > m_UnselectedGlyph3D
vtkSmartPointer< vtkActor > m_SelectedContourActor
vtkSmartPointer< vtkFloatArray > m_SelectedContourScales
std::vector< vtkSmartPointer< vtkTextActor > > m_VtkTextDistanceActors
vtkSmartPointer< vtkPolyDataMapper > m_VtkSelectedContourPolyDataMapper
vtkSmartPointer< vtkPolyData > m_VtkSelectedPointListPolyData
vtkSmartPointer< vtkPropAssembly > m_PropAssembly
vtkSmartPointer< vtkGlyphSource2D > m_SelectedGlyphSource2D
vtkSmartPointer< vtkPolyDataMapper > m_VtkSelectedPolyDataMapper
vtkSmartPointer< vtkPolyDataMapper > m_VtkContourPolyDataMapper
vtkSmartPointer< vtkFloatArray > m_DistancesBetweenPoints
vtkSmartPointer< vtkCellArray > m_ContourLines
Vtk-based 2D mapper for PointSet.
~PointSetVtkMapper2D() override
Destructor.
PointSetVtkMapper2D()
Constructor.
static void SetDefaultProperties(mitk::DataNode *node, mitk::BaseRenderer *renderer=nullptr, bool overwrite=false)
Sets default properties for point set visualization in 2D.
mitkClassMacro(PointSetVtkMapper2D, VtkMapper)
vtkProp * GetVtkProp(mitk::BaseRenderer *renderer) override
Returns the vtkPropAssembly containing all VTK actors for the given renderer.
virtual const mitk::PointSet * GetInput() const
Returns the PointSet input data object of this mapper.
void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override
Applies the color and opacity properties and calls CreateVTKRenderObjects.
mitk::LocalStorageHandler< LocalStorage > m_LSH
The LocalStorageHandler holds all (three) LocalStorages for the three 2D render windows.
virtual void CreateVTKRenderObjects(mitk::BaseRenderer *renderer)
Fills the VTK objects; only called when the point set has been changed.
void ResetMapper(BaseRenderer *renderer) override
Called in mitk::Mapper::Update to reset the mapper.
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.