Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkMRMLSliceViewInteractorStyle.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkMRMLSliceViewInteractorStyle.h,v $
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or https://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
15
16#ifndef __vtkMRMLSliceViewInteractorStyle_h
17#define __vtkMRMLSliceViewInteractorStyle_h
18
19// VTK includes
20
21// MRML includes
22#include "vtkMRMLDisplayableManagerExport.h"
24
30class vtkTimerLog;
31
41class VTK_MRML_DISPLAYABLEMANAGER_EXPORT vtkMRMLSliceViewInteractorStyle :
43{
44public:
47 void PrintSelf(ostream& os, vtkIndent indent) override;
48
52 bool DelegateInteractionEventToDisplayableManagers(vtkEventData* inputEventData) override;
53
55
57 enum
58 {
59 None = 0,
61 Zoom = 2,
62 Rotate = 4, /* Rotate not currently used */
63 Blend = 8, /* fg to bg, labelmap to bg */
67 ShowSlice = 128,
68 AdjustLightbox = 256, /* not used */
70 SetCursorPosition = 1024, /* adjust cursor position in crosshair node as mouse is moved */
77 };
78
83 void SetActionEnabled(int actionsMask, bool enable = true);
86 bool GetActionEnabled(int actionsMask);
87
91 vtkGetObjectMacro(SliceLogic, vtkMRMLSliceLogic);
92
94
96
97protected:
100
101 static void SliceViewProcessEvents(vtkObject* object, unsigned long event, void* clientdata, void* calldata);
102
103 void SetMouseCursor(int cursor);
104
106
108
109private:
111 void operator=(const vtkMRMLSliceViewInteractorStyle&) = delete;
112};
113
114#endif
Superclass for displayable manager classes.
Displayable manager for the crosshair on slice (2D) views.
Displayable manager for window/level adjustment of volumes.
MRML node for representing segmentation display attributes.
Slicer logic class for slice manipulation.
static vtkMRMLSliceViewInteractorStyle * New()
static void SliceViewProcessEvents(vtkObject *object, unsigned long event, void *clientdata, void *calldata)
void SetActionEnabled(int actionsMask, bool enable=true)
bool DelegateInteractionEventToDisplayableManagers(vtkEventData *inputEventData) override
vtkMRMLCrosshairDisplayableManager * GetCrosshairDisplayableManager()
bool GetActionEnabled(int actionsMask)
void SetSliceLogic(vtkMRMLSliceLogic *SliceLogic)
Get/Set the SliceLogic.
vtkMRMLScalarBarDisplayableManager * GetScalarBarDisplayableManager()
void PrintSelf(ostream &os, vtkIndent indent) override
virtual bool DelegateInteractionEventToDisplayableManagers(unsigned long event)