Medical Imaging Interaction Toolkit  2018.4.99-4c24e3cb
Medical Imaging Interaction Toolkit
mitkAnnotationUtils.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 mitkAnnotationUtils_h
14 #define mitkAnnotationUtils_h
15 
16 #include <MitkCoreExports.h>
17 #include <memory>
18 #include <string>
19 #include <vector>
20 
21 class vtkObject;
22 
23 namespace mitk
24 {
25  class AbstractAnnotationRenderer;
26  class Annotation;
27  class BaseRenderer;
28 
34  {
35  public:
36  typedef std::vector<std::unique_ptr<AbstractAnnotationRenderer>> AnnotationRendererServices;
38  ~AnnotationUtils();
39 
46  static AbstractAnnotationRenderer *GetAnnotationRenderer(const std::string &arTypeID,
47  const std::string &rendererID);
48 
54  static void RegisterAnnotationRenderer(AbstractAnnotationRenderer *annotationRenderer);
55 
61  static std::vector<AbstractAnnotationRenderer *> GetAnnotationRenderer(const std::string &rendererID);
62 
68  static void UpdateAnnotationRenderer(const std::string &rendererID);
69 
75  static void BaseRendererChanged(BaseRenderer *renderer);
76 
82  static mitk::Annotation *GetAnnotation(const std::string &AnnotationID);
83 
84  private:
86  AnnotationUtils &operator=(const AnnotationUtils &);
87 
88  static void RenderWindowCallback(vtkObject *caller, unsigned long, void *, void *);
89  };
90 }
91 
92 #endif
#define MITKCORE_EXPORT
Organizes the rendering process.
DataCollection - Class to facilitate loading/accessing structured data.
std::vector< std::unique_ptr< AbstractAnnotationRenderer > > AnnotationRendererServices
Baseclass of Annotation layouters An AbstractAnnotationRenderer can be implemented to control a set o...
Base class for all Annotation This class is to be implemented in order to create Annotation which are...
The AnnotationUtils class provides static functions for accsessing registered AnnotationRenderers and...