Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkSlicesCoordinator.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 SLICESCOORDINATOR_H_HEADER_INCLUDED_C1C55A2F
18 #define SLICESCOORDINATOR_H_HEADER_INCLUDED_C1C55A2F
19 
20 #include <MitkCoreExports.h>
21 #include <itkObject.h>
22 #include <mitkCommon.h>
23 #include <vector>
24 
25 namespace mitk
26 {
27  class SliceNavigationController;
28  class Action;
29  class StateEvent;
30 
31 #pragma GCC visibility push(default)
32  itkEventMacro(SliceRotationEvent, itk::AnyEvent);
33 #pragma GCC visibility pop
34 
45  class MITKCORE_EXPORT SlicesCoordinator : public itk::Object
46  {
47  public:
49  itkFactorylessNewMacro(Self)
50 
54  void AddSliceController(SliceNavigationController *snc);
55 
57  void RemoveSliceController(SliceNavigationController *snc);
58 
59  /* Reset all Slices to central slice, no rotation */
60  // void ResetAllSlices();
61 
64  itkSetMacro(LinkPlanes, bool);
65  itkGetMacro(LinkPlanes, bool);
66  itkBooleanMacro(LinkPlanes);
67 
73  void ResetMouseCursor();
74 
75  protected:
78 
80  virtual ~SlicesCoordinator();
81 
86  void SetMouseCursor(const char *xpm[], int hotspotX, int hotspotY);
87 
89  virtual void OnSliceControllerAdded(SliceNavigationController *snc);
90 
92  virtual void OnSliceControllerRemoved(SliceNavigationController *snc);
93 
94  SNCVector m_SliceNavigationControllers;
95 
96  bool m_LinkPlanes;
97 
98  bool m_MouseCursorSet;
99  };
100 
101 } // namespace
102 
103 #endif
std::vector< SliceNavigationController * > SNCVector
#define MITKCORE_EXPORT
STL namespace.
DataCollection - Class to facilitate loading/accessing structured data.
Controls the selection of the slice the associated BaseRenderer will display.
Coordinates a list of SliceNavigationControllers.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
itkEventMacro(ContourModelEvent, itk::AnyEvent)