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
vtkMRMLAbstractSliceViewDisplayableManager.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Copyright (c) Kitware Inc.
6
7 See COPYRIGHT.txt
8 or http://www.slicer.org/copyright/copyright.txt for details.
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 This file was originally developed by Jean-Christophe Fillion-Robin, Kitware Inc.
17 and was partially funded by NIH grant 3P41RR013218-12S1
18
19==============================================================================*/
20
21#ifndef __vtkMRMLAbstractSliceViewDisplayableManager_h
22#define __vtkMRMLAbstractSliceViewDisplayableManager_h
23
24// MRMLDisplayableManager includes
26
27#include "vtkMRMLDisplayableManagerExport.h"
28
30
35class VTK_MRML_DISPLAYABLEMANAGER_EXPORT vtkMRMLAbstractSliceViewDisplayableManager :
37{
38public:
39
41
43 void PrintSelf(ostream& os, vtkIndent indent) override;
46
49
53 void ConvertDeviceToXYZ(double x, double y, double xyz[3]);
54
57 static void ConvertDeviceToXYZ(vtkRenderWindowInteractor * interactor,
58 vtkMRMLSliceNode * sliceNode, double x, double y, double xyz[3]);
59
62 static void ConvertDeviceToXYZ(vtkRenderer * renderer,
63 vtkMRMLSliceNode * sliceNode, double x, double y, double xyz[3]);
64
65
69 void ConvertRASToXYZ(double ras[3], double xyz[3]);
70
73 static void ConvertRASToXYZ(vtkMRMLSliceNode * sliceNode, double ras[3], double xyz[3]);
74
78 void ConvertXYZToRAS(double xyz[3], double ras[3]);
79
82 static void ConvertXYZToRAS(vtkMRMLSliceNode * sliceNode, double xyz[3], double ras[3]);
83
84protected:
85
88
89 void OnMRMLDisplayableNodeModifiedEvent(vtkObject* caller) override;
90
93
94private:
95
97 void operator=(const vtkMRMLAbstractSliceViewDisplayableManager&) = delete;
98};
99
100#endif
static void ConvertDeviceToXYZ(vtkRenderer *renderer, vtkMRMLSliceNode *sliceNode, double x, double y, double xyz[3])
static void ConvertXYZToRAS(vtkMRMLSliceNode *sliceNode, double xyz[3], double ras[3])
void ConvertRASToXYZ(double ras[3], double xyz[3])
vtkMRMLSliceNode * GetMRMLSliceNode()
Get MRML SliceNode.
static void ConvertDeviceToXYZ(vtkRenderWindowInteractor *interactor, vtkMRMLSliceNode *sliceNode, double x, double y, double xyz[3])
virtual void OnMRMLSliceNodeModifiedEvent()
Could be overloaded if DisplayableManager subclass.
void OnMRMLDisplayableNodeModifiedEvent(vtkObject *caller) override
void ConvertXYZToRAS(double xyz[3], double ras[3])
void ConvertDeviceToXYZ(double x, double y, double xyz[3])
static void ConvertRASToXYZ(vtkMRMLSliceNode *sliceNode, double ras[3], double xyz[3])
void PrintSelf(ostream &os, vtkIndent indent) override
static vtkMRMLAbstractSliceViewDisplayableManager * New()
MRML node for storing a slice through RAS space.