Slicer  5.1
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLAnnotationROIDisplayableManager.h
Go to the documentation of this file.
1 /*=auto=========================================================================
2 
3  Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4 
5  See COPYRIGHT.txt
6  or http://www.slicer.org/copyright/copyright.txt for details.
7 
8  Program: 3D Slicer
9 
10  Module: $RCSfile: vtkMRMLAnnotationROIDisplayableManager.h,v $
11  Date: $Date: 2010/07/26 04:48:05 $
12  Version: $Revision: 1.5 $
13 
14  =========================================================================auto=*/
15 
16 #ifndef __vtkMRMLAnnotationROIDisplayableManager_h
17 #define __vtkMRMLAnnotationROIDisplayableManager_h
18 
19 // Annotation includes
21 
23 class vtkSlicerViewerWidget;
24 class vtkMRMLAnnotationROIDisplayNode;
27 class vtkTextWidget;
28 
30 class VTK_SLICER_ANNOTATIONS_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT
33 {
34 public:
35 
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
40 protected:
41 
42  vtkMRMLAnnotationROIDisplayableManager(){this->m_Focus="vtkMRMLAnnotationROINode";}
44 
46  void OnClickInRenderWindow(double x, double y, const char *associatedNodeID) override;
48  vtkAbstractWidget * CreateWidget(vtkMRMLAnnotationNode* node) override;
49 
51  void OnWidgetCreated(vtkAbstractWidget * widget, vtkMRMLAnnotationNode * node) override;
52 
54  void PropagateMRMLToWidget(vtkMRMLAnnotationNode* node, vtkAbstractWidget * widget) override;
55  virtual void PropagateMRMLToWidget2D(vtkMRMLAnnotationNode* node, vtkAbstractWidget * widget);
56 
58  void PropagateWidgetToMRML(vtkAbstractWidget * widget, vtkMRMLAnnotationNode* node) override;
59 
60  void OnMRMLSceneNodeRemoved(vtkMRMLNode* node) override;
61 
63  void OnMRMLSliceNodeModifiedEvent(vtkMRMLSliceNode * sliceNode) override;
64 
65 
67  void UpdatePosition(vtkAbstractWidget *widget, vtkMRMLNode *node) override;
68 
70  bool IsWidgetDisplayable(vtkMRMLSliceNode *sliceNode, vtkMRMLAnnotationNode* node) override;
71 
73  void SetParentTransformToWidget(vtkMRMLAnnotationNode *node, vtkAbstractWidget *widget) override;
74 
75 private:
76 
78  void operator=(const vtkMRMLAnnotationROIDisplayableManager&) = delete;
79 
80 };
81 
82 #endif
virtual void OnClickInRenderWindow(double x, double y, const char *associatedNodeID=nullptr)
Callback for click in RenderWindow.
virtual void SetParentTransformToWidget(vtkMRMLAnnotationNode *vtkNotUsed(node), vtkAbstractWidget *vtkNotUsed(widget))
Set mrml parent transform to widgets.
void OnMRMLSceneNodeRemoved(vtkMRMLNode *node) override
virtual bool IsWidgetDisplayable(vtkMRMLSliceNode *sliceNode, vtkMRMLAnnotationNode *node)
Check, if the widget is displayable in the current slice geometry.
MRML node for storing a slice through RAS space.
virtual void OnWidgetCreated(vtkAbstractWidget *widget, vtkMRMLAnnotationNode *node)
Gets called when widget was created.
virtual void PropagateWidgetToMRML(vtkAbstractWidget *widget, vtkMRMLAnnotationNode *node)
Propagate properties of widget to MRML node.
virtual vtkAbstractWidget * CreateWidget(vtkMRMLAnnotationNode *node)
Create a widget.
virtual void OnMRMLSliceNodeModifiedEvent(vtkMRMLSliceNode *sliceNode)
Handler for specific SliceView actions.
virtual void PropagateMRMLToWidget(vtkMRMLAnnotationNode *node, vtkAbstractWidget *widget)
Propagate properties of MRML node to widget.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void UpdatePosition(vtkAbstractWidget *vtkNotUsed(widget), vtkMRMLNode *vtkNotUsed(node))
Update just the position for the widget, implemented by subclasses.
static vtkMRMLAnnotationDisplayableManager * New()