Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkAbstractOverlayLayouter.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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef ABSTRACTOVERLAYLAYOUTER_H
18 #define ABSTRACTOVERLAYLAYOUTER_H
19 
20 #include "mitkOverlay.h"
21 #include <MitkCoreExports.h>
22 #include <itkObject.h>
23 #include <mitkCommon.h>
24 
25 namespace mitk
26 {
27  class BaseRenderer;
28 
38  class MITKCORE_EXPORT AbstractOverlayLayouter : public itk::LightObject
39  {
40  public:
42 
43  void SetBaseRenderer(BaseRenderer *renderer);
44  BaseRenderer *GetBaseRenderer();
45 
49  void AddOverlay(Overlay *Overlay);
50 
52  void RemoveOverlay(Overlay *Overlay);
53 
55  std::string GetIdentifier() const;
56 
60  virtual void PrepareLayout() = 0;
61 
62  protected:
64  explicit AbstractOverlayLayouter();
65 
67  virtual ~AbstractOverlayLayouter();
68 
70  std::list<mitk::Overlay *> GetManagedOverlays() const;
71 
76  std::string m_Identifier;
77 
78  private:
80  mitk::BaseRenderer *m_BaseRenderer;
81 
83  std::list<mitk::Overlay *> m_ManagedOverlays;
84 
87 
90  };
91 
92 } // namespace mitk
93 #endif // ABSTRACTOVERLAYLAYOUTER_H
#define MITKCORE_EXPORT
Organizes the rendering process.
DataCollection - Class to facilitate loading/accessing structured data.
std::string m_Identifier
A unique identifier for one specific kind of layouter.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
Baseclass of Overlay layouters.
Base class for all overlays.
Definition: mitkOverlay.h:34