Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkBaseController.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 BASECONTROLLER_H_HEADER_INCLUDED_C1E745A3
18 #define BASECONTROLLER_H_HEADER_INCLUDED_C1E745A3
19 
20 #include "mitkEventStateMachine.h"
21 #include "mitkOperationActor.h"
22 #include "mitkStepper.h"
23 #include <MitkCoreExports.h>
24 #include <itkObjectFactory.h>
25 
26 namespace mitk
27 {
28  class BaseRenderer;
29 
30  //##Documentation
31  //## @brief Baseclass for renderer slice-/camera-control
32  //##
33  //## Tells the render (subclass of BaseRenderer) which slice (subclass
34  //## SliceNavigationController) or from which direction (subclass
35  //## CameraController) it has to render. Contains two Stepper for stepping
36  //## through the slices or through different camera views (e.g., for the
37  //## creation of a movie around the data), respectively, and through time, if
38  //## there is 3D+t data.
39  //## @note not yet implemented
40  //## @ingroup NavigationControl
41  class MITKCORE_EXPORT BaseController : public mitk::OperationActor, public itk::Object
42  {
43  public:
46  itkFactorylessNewMacro(Self)
47 
48 
49  // mitkNewMacro(Self);
50 
51  //##Documentation
52  //## @brief Get the Stepper through the slices
53  mitk::Stepper *GetSlice();
54 
55  //##Documentation
56  //## @brief Get the Stepper through the time
57  mitk::Stepper *GetTime();
58 
59  protected:
64 
68  virtual ~BaseController();
69 
70  virtual void ExecuteOperation(Operation *) override;
71 
72  //## @brief Stepper through the time
73  Stepper::Pointer m_Time;
74  //## @brief Stepper through the slices
75  Stepper::Pointer m_Slice;
76 
77  unsigned long m_LastUpdateTime;
78  };
79 
80 } // namespace mitk
81 
82 #endif /* BASECONTROLLER_H_HEADER_INCLUDED_C1E745A3 */
#define MITKCORE_EXPORT
Baseclass for renderer slice-/camera-control.
Base class of all Operation-classes.
Definition: mitkOperation.h:33
DataCollection - Class to facilitate loading/accessing structured data.
abstract class, that can be used by Undo to undo an operation.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
Helper class to step through a list.
Definition: mitkStepper.h:51