Medical Imaging Interaction Toolkit  2021.10.99-9c07a326
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 (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 SLICESCOORDINATOR_H_HEADER_INCLUDED_C1C55A2F
14 #define SLICESCOORDINATOR_H_HEADER_INCLUDED_C1C55A2F
15 
16 #include <MitkCoreExports.h>
17 #include <itkObject.h>
18 #include <mitkCommon.h>
19 #include <vector>
20 
21 namespace mitk
22 {
23  class SliceNavigationController;
24  class Action;
25  class StateEvent;
26 
27 #pragma GCC visibility push(default)
28  itkEventMacro(SliceRotationEvent, itk::AnyEvent);
29 #pragma GCC visibility pop
30 
41  class MITKCORE_EXPORT SlicesCoordinator : public itk::Object
42  {
43  public:
45  itkFactorylessNewMacro(Self);
46 
47  typedef std::vector<SliceNavigationController *> SNCVector;
50  void AddSliceController(SliceNavigationController *snc);
51 
53  void RemoveSliceController(SliceNavigationController *snc);
54 
55  /* Reset all Slices to central slice, no rotation */
56  // void ResetAllSlices();
57 
60  itkSetMacro(LinkPlanes, bool);
61  itkGetMacro(LinkPlanes, bool);
62  itkBooleanMacro(LinkPlanes);
63 
69  void ResetMouseCursor();
70 
71  protected:
74 
76  ~SlicesCoordinator() override;
77 
82  void SetMouseCursor(const char *xpm[], int hotspotX, int hotspotY);
83 
85  virtual void OnSliceControllerAdded(SliceNavigationController *snc);
86 
88  virtual void OnSliceControllerRemoved(SliceNavigationController *snc);
89 
91 
93 
95  };
96 
97 } // namespace
98 
99 #endif
std::vector< SliceNavigationController * > SNCVector
#define MITKCORE_EXPORT
itkEventMacro(BoundingShapeInteractionEvent, itk::AnyEvent)
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:45