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
vtkMRMLAbstractThreeDViewDisplayableManager.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 __vtkMRMLAbstractThreeDViewDisplayableManager_h
22#define __vtkMRMLAbstractThreeDViewDisplayableManager_h
23
24// MRMLDisplayableManager includes
26
27#include "vtkMRMLDisplayableManagerExport.h"
28
29class vtkMRMLViewNode;
30
35class VTK_MRML_DISPLAYABLEMANAGER_EXPORT vtkMRMLAbstractThreeDViewDisplayableManager :
37{
38public:
39
41 void PrintSelf(ostream& os, vtkIndent indent) override;
43
46
47
50 virtual int Pick3D(double vtkNotUsed(ras)[3]) { return 0; }
51
53 virtual const char* GetPickedNodeID() { return nullptr; }
54
56 static double GetViewScaleFactorAtPosition(vtkRenderer* renderer, double positionWorld[3],
57 vtkMRMLInteractionEventData* interactionEventData = nullptr);
58
59protected:
60
63
64 void OnMRMLDisplayableNodeModifiedEvent(vtkObject* caller) override;
65
68
69 virtual void PassThroughInteractorStyleEvent(int eventid);
70
71private:
72
74 void operator=(const vtkMRMLAbstractThreeDViewDisplayableManager&) = delete;
75};
76
77#endif
static double GetViewScaleFactorAtPosition(vtkRenderer *renderer, double positionWorld[3], vtkMRMLInteractionEventData *interactionEventData=nullptr)
Get the view scale factor at a given position in world coordinates for a 3D view renderer.
static vtkMRMLAbstractThreeDViewDisplayableManager * New()
virtual void OnMRMLViewNodeModifiedEvent()
Could be overloaded in DisplayableManager subclass.
virtual void PassThroughInteractorStyleEvent(int eventid)
void PrintSelf(ostream &os, vtkIndent indent) override
vtkMRMLViewNode * GetMRMLViewNode()
Get MRML ViewNode.
virtual const char * GetPickedNodeID()
Get the MRML ID of the picked node, returns empty string if no pick.
void OnMRMLDisplayableNodeModifiedEvent(vtkObject *caller) override
MRML node to represent a 3D view.