Medical Imaging Interaction Toolkit  2022.04.99-8b707dbd
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 VTKAnnotation_H
14 #define VTKAnnotation_H
15 
16 #include "mitkAnnotation.h"
17 #include <MitkAnnotationExports.h>
18 #include <vtkSmartPointer.h>
19 
20 class vtkProp;
21 
22 namespace mitk
23 {
29  {
30  public:
32  void Update(BaseRenderer *renderer) override;
33  void AddToBaseRenderer(BaseRenderer *renderer) override;
34  void AddToRenderer(BaseRenderer *renderer, vtkRenderer *vtkrenderer) override;
35  void RemoveFromRenderer(BaseRenderer *renderer, vtkRenderer *vtkrenderer) override;
36  void RemoveFromBaseRenderer(BaseRenderer *renderer) override;
37 
45  void Paint(BaseRenderer *renderer);
46 
47  protected:
53  virtual vtkProp *GetVtkProp(BaseRenderer *renderer) const = 0;
54  virtual void UpdateVtkAnnotation(BaseRenderer *renderer) = 0;
55 
57  explicit VtkAnnotation();
58 
60  ~VtkAnnotation() override;
61 
62  private:
65 
67  VtkAnnotation &operator=(const VtkAnnotation &);
68  };
69 
70 } // namespace mitk
71 #endif // Annotation_H
#define MITKANNOTATION_EXPORT
Organizes the rendering process.
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
The VtkAnnotation class is the base for all Annotation which are using the VTK framework to render th...
Base class for all Annotation This class is to be implemented in order to create Annotation which are...