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
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