Medical Imaging Interaction Toolkit
2023.12.00
Medical Imaging Interaction Toolkit
mitkInteractionSchemeSwitcher.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 mitkInteractionSchemeSwitcher_h
14
#define mitkInteractionSchemeSwitcher_h
15
16
#include "
MitkCoreExports.h
"
17
18
#include "
mitkInteractionEventHandler.h
"
19
20
#include <itkObject.h>
21
22
namespace
mitk
23
{
24
#pragma GCC visibility push(default)
25
28
itkEventMacroDeclaration
(InteractionSchemeChangedEvent, itk::AnyEvent);
29
#pragma GCC visibility pop
30
31
/***********************************************************************
32
*
33
* \brief Class that offers a convenient way to switch between different
34
* interaction schemes.
35
*
36
* This class offers the possibility to switch between the different
37
* interaction schemes that are available:
38
*
39
* - MITKStandard : The original MITK interaction scheme
40
* - MITKRotationUncoupled : A modified MITK interaction scheme with rotation
41
* - MITKRotationCoupled : A modified MTIK interaction scheme with coupled rotation
42
* - MITKSwivel : A modified MITK interaction scheme with plane swiveling
43
*
44
* - PACS : An alternative interaction scheme that behaves more like a
45
* PACS workstation
46
* - left mouse button : behavior depends on current PACS scheme
47
* Always enabled:
48
* - middle mouse button : fast scrolling
49
* - right mouse button : level-window
50
* - ctrl + right button : zooming
51
* - shift+ right button : panning
52
*
53
* There are 6 different PACS schemes.
54
* Each scheme defines the interaction that is performed on a left
55
* mouse button click:
56
* - PACSBase : No interaction on a left mouse button click
57
- This scheme serves as a base for other PACS schemes and defines the right
58
and middle mouse button clicks, which are available in every PACS scheme.
59
* - PACSStandard : Sets the cross position for the MPR
60
* - PACSLevelWindow : Sets the level window
61
* - PACSPan : Moves the slice
62
* - PACSScroll : Scrolls through the slices stepwise
63
* - PACSZoom : Zooms into / out of the slice
64
*
65
* When the interaction scheme is changed, this class sets the corresponding
66
* interaction .xml-files for a given interaction event handler.
67
*
68
***********************************************************************/
69
70
class
MITKCORE_EXPORT
InteractionSchemeSwitcher
:
public
itk::Object
71
{
72
public
:
73
mitkClassMacroItkParent
(
InteractionSchemeSwitcher
, itk::Object);
74
itkFactorylessNewMacro(
Self
);
75
76
// enum of the different interaction schemes that are available
77
enum
InteractionScheme
78
{
79
MITKStandard = 0,
80
MITKRotationUncoupled,
81
MITKRotationCoupled,
82
MITKSwivel,
83
PACSBase,
84
PACSStandard,
85
PACSLevelWindow,
86
PACSPan,
87
PACSScroll,
88
PACSZoom
89
};
90
106
void
SetInteractionScheme(
mitk::InteractionEventHandler
* interactionEventHandler,
InteractionScheme
interactionScheme);
107
108
protected
:
109
110
InteractionSchemeSwitcher
();
111
~
InteractionSchemeSwitcher
()
override
;
112
113
};
114
}
// namespace mitk
115
116
#endif
mitk::InteractionEventHandler
Definition:
mitkInteractionEventHandler.h:40
mitk::InteractionSchemeSwitcher::InteractionScheme
InteractionScheme
Definition:
mitkInteractionSchemeSwitcher.h:114
mitk::InteractionSchemeSwitcher
Definition:
mitkInteractionSchemeSwitcher.h:70
mitkClassMacroItkParent
#define mitkClassMacroItkParent(className, SuperClassName)
Definition:
mitkCommon.h:45
mitk
Find image slices visible on a given plane.
Definition:
RenderingTests.dox:1
mitkInteractionEventHandler.h
MitkCoreExports.h
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition:
MitkCoreExports.h:15
mitk::itkEventMacroDeclaration
itkEventMacroDeclaration(BoundingShapeInteractionEvent, itk::AnyEvent)
src
MITK
Modules
Core
include
mitkInteractionSchemeSwitcher.h
Generated on Thu Nov 30 2023 15:58:53 for Medical Imaging Interaction Toolkit by
1.8.17