Slicer  5.0
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
vtkMRMLAnnotationFiducialDisplayableManager.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: vtkMRMLAnnotationFiducialDisplayableManager.h,v $
11  Date: $Date: 2010/07/26 04:48:05 $
12  Version: $Revision: 1.5 $
13 
14  =========================================================================auto=*/
15 
16 #ifndef __vtkMRMLAnnotationFiducialDisplayableManager_h
17 #define __vtkMRMLAnnotationFiducialDisplayableManager_h
18 
19 // Annotation includes
21 #include "vtkSlicerAnnotationsModuleMRMLDisplayableManagerExport.h"
22 
24 class vtkSlicerViewerWidget;
28 class vtkTextWidget;
29 
31 class VTK_SLICER_ANNOTATIONS_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT
34 {
35 public:
36 
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
41 protected:
42 
43  vtkMRMLAnnotationFiducialDisplayableManager(){this->m_Focus="vtkMRMLAnnotationFiducialNode";}
44  ~vtkMRMLAnnotationFiducialDisplayableManager() override = default;
45 
47  void OnClickInRenderWindow(double x, double y, const char *associatedNodeID) override;
49  vtkAbstractWidget * CreateWidget(vtkMRMLAnnotationNode* node) override;
50 
52  void OnWidgetCreated(vtkAbstractWidget * widget, vtkMRMLAnnotationNode * node) override;
53 
55  void PropagateMRMLToWidget(vtkMRMLAnnotationNode* node, vtkAbstractWidget * widget) override;
57  void PropagateWidgetToMRML(vtkAbstractWidget * widget, vtkMRMLAnnotationNode* node) override;
58 
60  virtual void AdditionnalInitializeStep();
62  void OnInteractorStyleEvent(int eventid) override;
63 
64  // respond to control point modified events
65  void UpdatePosition(vtkAbstractWidget *widget, vtkMRMLNode *node) override;
66 
67  std::map<vtkMRMLNode*, int> NodeGlyphTypes;
68 
69  // clean up when scene closes
70  void OnMRMLSceneEndClose() override;
71 
72 private:
73 
75  void operator=(const vtkMRMLAnnotationFiducialDisplayableManager&) = delete;
76 
77 };
78 
79 #endif
virtual void OnClickInRenderWindow(double x, double y, const char *associatedNodeID=nullptr)
Callback for click in RenderWindow.
void OnInteractorStyleEvent(int eventid) override
Respond to interactor style events.
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.
MRML node to represent a fiducial in the Annotations module - deprecated.
virtual vtkAbstractWidget * CreateWidget(vtkMRMLAnnotationNode *node)
Create a widget.
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()