15#ifndef vtkMRMLAnnotationDisplayableManagerHelper_h
16#define vtkMRMLAnnotationDisplayableManagerHelper_h
19#include "vtkSlicerAnnotationsModuleMRMLDisplayableManagerExport.h"
29#include <vtkHandleWidget.h>
30#include <vtkLineWidget2.h>
31#include <vtkSeedWidget.h>
32#include <vtkSmartPointer.h>
38class VTK_SLICER_ANNOTATIONS_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT
46 void PrintSelf(ostream& os, vtkIndent indent)
override;
97 std::map<vtkMRMLAnnotationNode*, vtkAbstractWidget*>
Widgets;
100 typedef std::map<vtkMRMLAnnotationNode*, vtkAbstractWidget*>::iterator
WidgetsIt;
133 void PlaceSeed(
double x,
double y, vtkRenderWindowInteractor * interactor, vtkRenderer * renderer);
153 vtkSmartPointer<vtkSeedWidget> SeedWidget;
155 std::vector<vtkSmartPointer<vtkHandleWidget> > HandleWidgetList;
157 typedef std::vector<vtkSmartPointer<vtkHandleWidget> >::iterator HandleWidgetListIt;
38class VTK_SLICER_ANNOTATIONS_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT {
…};
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * > Widgets
Map of vtkWidget indexed using associated node ID.
void UpdateLockedAllWidgets(bool locked)
Lock/Unlock all widgets.
void RemoveWidgetAndNode(vtkMRMLAnnotationNode *node)
Remove a node, its widget and its intersection widget.
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * >::iterator WidgetUnderLineProjectionsIt
.. and its associated convenient typedef
vtkMRMLAnnotationDisplayableManagerHelper()
void UpdateVisible(vtkMRMLAnnotationNode *node, bool displayableInViewer=true)
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * >::iterator WidgetOverLineProjectionsIt
.. and its associated convenient typedef
~vtkMRMLAnnotationDisplayableManagerHelper() override
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * >::iterator WidgetsIt
.. and its associated convenient typedef
vtkAbstractWidget * GetOverLineProjectionWidget(vtkMRMLAnnotationNode *node)
...an its associated vtkAbstractWidget* for Slice projection representation
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * > WidgetUnderLineProjections
Map of vtkWidgets to reflect the Slice projection indexed using associated node ID.
vtkAbstractWidget * GetPointProjectionWidget(vtkMRMLAnnotationNode *node)
...an its associated vtkAbstractWidget* for Slice projection representation
vtkAbstractWidget * GetWidget(vtkMRMLAnnotationNode *node)
Get a vtkAbstractWidget* given a node.
void UpdateWidget(vtkMRMLAnnotationNode *node)
Update lock and visibility of a widget.
static vtkMRMLAnnotationDisplayableManagerHelper * New()
void RemoveAllWidgetsAndNodes()
Remove all widgets, intersection widgets, nodes.
void PlaceSeed(double x, double y, vtkRenderWindowInteractor *interactor, vtkRenderer *renderer)
Placement of seeds for widget placement.
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * >::iterator WidgetPointProjectionsIt
.. and its associated convenient typedef
vtkHandleWidget * GetSeed(int index)
Get a placed seed.
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * > WidgetPointProjections
Map of vtkWidgets to reflect the Slice projection indexed using associated node ID.
vtkMRMLAnnotationNode * GetAnnotationNodeFromDisplayNode(vtkMRMLAnnotationDisplayNode *displayNode)
Search the annotation node list and return the annotation node that has this display node.
void UpdateLockedAllWidgetsFromNodes()
Lock/Unlock all widgets based on the state of the nodes.
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * > WidgetOverLineProjections
Map of vtkWidgets to reflect the Slice projection indexed using associated node ID.
vtkAbstractWidget * GetIntersectionWidget(vtkMRMLAnnotationNode *node)
...an its associated vtkAbstractWidget* for Slice intersection representation
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * > WidgetIntersections
Map of vtkWidgets to reflect the Slice intersections indexed using associated node ID.
void RemoveSeeds()
Remove all placed seeds.
void UpdateLocked(vtkMRMLAnnotationNode *node)
Lock/Unlock a widget.
std::map< vtkMRMLAnnotationNode *, vtkAbstractWidget * >::iterator WidgetIntersectionsIt
.. and its associated convenient typedef
void PrintSelf(ostream &os, vtkIndent indent) override
void UpdateLockedAllWidgetsFromInteractionNode(vtkMRMLInteractionNode *interactionNode)
Lock/Unlock all widgets from interaction node.
std::vector< vtkMRMLAnnotationNode * > AnnotationNodeList
List of Nodes managed by the DisplayableManager.
std::vector< vtkMRMLAnnotationNode * >::iterator AnnotationNodeListIt
.. and its associated convenient typedef
vtkAbstractWidget * GetUnderLineProjectionWidget(vtkMRMLAnnotationNode *node)
...an its associated vtkAbstractWidget* for Slice projection representation