Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
mitkCrosshairVtkMapper2D.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 mitkCrosshairVtkMapper2D_h
14 #define mitkCrosshairVtkMapper2D_h
15 
16 #include <MitkCoreExports.h>
17 
18 #include <mitkBaseRenderer.h>
19 #include <mitkCrosshairData.h>
20 #include <mitkVtkMapper.h>
21 
22 #include <vtkSmartPointer.h>
23 
24 class vtkActor2D;
25 class vtkCellArray;
26 class vtkPropAssembly;
27 class vtkPolyDataMapper2D;
28 
29 namespace mitk
30 {
41  {
42  public:
43 
45  itkFactorylessNewMacro(Self);
46 
47  const CrosshairData* GetInput() const;
48 
50  void Update(mitk::BaseRenderer* renderer) override;
51 
52  vtkProp* GetVtkProp(BaseRenderer* renderer) override;
53 
54  static void SetDefaultProperties(DataNode* node, BaseRenderer* renderer = nullptr, bool overwrite = false);
55 
56  protected:
57 
60 
63  {
64  public:
65 
67  ~LocalStorage() override;
68 
69  // actor
73  };
74 
77 
78  /* \brief Applies the color and opacity properties and calls CreateVTKRenderObjects */
79  void GenerateDataForRenderer(BaseRenderer *renderer) override;
80 
82 
83  void DrawLine(Point3D p0, Point3D p1, vtkCellArray* lines, vtkPoints* points);
84 
86  void ApplyColorAndOpacityProperties2D(BaseRenderer* renderer, vtkActor2D* actor);
87 
88  const int defaultGapSize;
89  };
90 
91 }
92 
93 #endif
#define MITKCORE_EXPORT
Internal class holding the mapper, actor, etc. for each of the 2D render windows.
vtkSmartPointer< vtkPolyDataMapper2D > m_Mapper
vtkSmartPointer< vtkActor2D > m_CrosshairActor
vtkSmartPointer< vtkPropAssembly > m_CrosshairAssembly
Vtk-based 2D mapper for rendering a crosshair using vtk mapper.
void ApplyColorAndOpacityProperties2D(BaseRenderer *renderer, vtkActor2D *actor)
LocalStorageHandler< LocalStorage > m_LSH
The LocalStorageHandler holds all LocalStorages for the 2D render windows.
void Update(mitk::BaseRenderer *renderer) override
Checks whether this mapper needs to update itself and generate data.
void GenerateDataForRenderer(BaseRenderer *renderer) override
Generate the data needed for rendering into renderer.
mitkClassMacro(CrosshairVtkMapper2D, VtkMapper)
void DrawLine(Point3D p0, Point3D p1, vtkCellArray *lines, vtkPoints *points)
void CreateVtkCrosshair(BaseRenderer *renderer)
static void SetDefaultProperties(DataNode *node, BaseRenderer *renderer=nullptr, bool overwrite=false)
vtkProp * GetVtkProp(BaseRenderer *renderer) override
void ApplyAllProperties(BaseRenderer *renderer)
const CrosshairData * GetInput() const
Class for nodes of the DataTree.
Definition: mitkDataNode.h:64
Base class for mapper specific rendering resources.
Definition: mitkMapper.h:191
Base class of all mappers, Vtk as well as OpenGL mappers.
Definition: mitkMapper.h:47
Base class of all Vtk Mappers in order to display primitives by exploiting Vtk functionality.
Definition: mitkVtkMapper.h:48
Find image slices visible on a given plane.