Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)