Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
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 : public vtkMRMLViewInteractorStyle
42{
43public:
46 void PrintSelf(ostream& os, vtkIndent indent) override;
47
51 bool DelegateInteractionEventToDisplayableManagers(vtkEventData* inputEventData) override;
52
54
56 enum
57 {
58 None = 0,
60 Zoom = 2,
61 Rotate = 4, /* Rotate not currently used */
62 Blend = 8, /* fg to bg, labelmap to bg */
66 ShowSlice = 128,
67 AdjustLightbox = 256, /* not used */
69 SetCursorPosition = 1024, /* adjust cursor position in crosshair node as mouse is moved */
75 };
76
81 void SetActionEnabled(int actionsMask, bool enable = true);
84 bool GetActionEnabled(int actionsMask);
85
89 vtkGetObjectMacro(SliceLogic, vtkMRMLSliceLogic);
90
92
94
95protected:
98
99 static void SliceViewProcessEvents(vtkObject* object, unsigned long event, void* clientdata, void* calldata);
100
101 void SetMouseCursor(int cursor);
102
104
106
107private:
109 void operator=(const vtkMRMLSliceViewInteractorStyle&) = delete;
110};
111
112#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)