Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkVtkAnnotation.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 mitkVtkAnnotation_h
14 #define mitkVtkAnnotation_h
15 
16 #include <mitkAnnotation.h>
17 #include <MitkAnnotationExports.h>
18 #include <vtkSmartPointer.h>
19 
20 class vtkProp;
21 
22 namespace mitk
23 {
33  {
34  public:
36 
41  void Update(BaseRenderer *renderer) override;
42 
47  void AddToBaseRenderer(BaseRenderer *renderer) override;
48 
54  void AddToRenderer(BaseRenderer *renderer, vtkRenderer *vtkrenderer) override;
55 
61  void RemoveFromRenderer(BaseRenderer *renderer, vtkRenderer *vtkrenderer) override;
62 
67  void RemoveFromBaseRenderer(BaseRenderer *renderer) override;
68 
77  void Paint(BaseRenderer *renderer);
78 
79  protected:
87  virtual vtkProp *GetVtkProp(BaseRenderer *renderer) const = 0;
88  virtual void UpdateVtkAnnotation(BaseRenderer *renderer) = 0;
89 
91  explicit VtkAnnotation();
92 
94  ~VtkAnnotation() override;
95 
96  private:
99 
101  VtkAnnotation &operator=(const VtkAnnotation &);
102  };
103 
104 } // namespace mitk
105 #endif
#define MITKANNOTATION_EXPORT
Base class for all Annotation objects.
Organizes the rendering process.
Base class for all annotations that use the VTK framework for rendering.
void AddToRenderer(BaseRenderer *renderer, vtkRenderer *vtkrenderer) override
Add this annotation's vtkProp to a specific vtkRenderer.
VtkAnnotation()
explicit constructor which disallows implicit conversions
void Update(BaseRenderer *renderer) override
Update the annotation for the given renderer.
void Paint(BaseRenderer *renderer)
Force an immediate paint of this annotation.
virtual vtkProp * GetVtkProp(BaseRenderer *renderer) const =0
Create the VTK prop representing this annotation.
void AddToBaseRenderer(BaseRenderer *renderer) override
Add this annotation's vtkProp to the given BaseRenderer.
virtual void UpdateVtkAnnotation(BaseRenderer *renderer)=0
~VtkAnnotation() override
virtual destructor in order to derive from this class
mitkClassMacro(VtkAnnotation, Annotation)
void RemoveFromBaseRenderer(BaseRenderer *renderer) override
Remove this annotation's vtkProp from the given BaseRenderer.
void RemoveFromRenderer(BaseRenderer *renderer, vtkRenderer *vtkrenderer) override
Remove this annotation's vtkProp from a specific vtkRenderer.
Find image slices visible on a given plane.