18 #ifndef __vtkMRMLMarkupsDisplayableManager3D_h 19 #define __vtkMRMLMarkupsDisplayableManager3D_h 22 #include "vtkSlicerMarkupsModuleMRMLDisplayableManagerExport.h" 32 #include <vtkHandleWidget.h> 33 #include <vtkSeedWidget.h> 36 class vtkSlicerViewerWidget;
38 class vtkAbstractWidget;
48 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
56 virtual void PropagateMRMLToWidget(
vtkMRMLMarkupsNode* node, vtkAbstractWidget * widget);
58 virtual void PropagateWidgetToMRML(vtkAbstractWidget * widget,
vtkMRMLMarkupsNode* node);
60 bool GetDisplayCoordinatesChanged(
double * displayCoordinates1,
double * displayCoordinates2);
63 bool GetWorldCoordinatesChanged(
double * worldCoordinates1,
double * worldCoordinates2);
66 void GetDisplayToWorldCoordinates(
double x,
double y,
double * worldCoordinates);
67 void GetDisplayToWorldCoordinates(
double * displayCoordinates,
double * worldCoordinates);
71 double *worldCoordinates,
double *localCoordinates);
100 virtual
void UpdateFromMRML() VTK_OVERRIDE;
102 virtual
void SetMRMLSceneInternal(
vtkMRMLScene* newScene) VTK_OVERRIDE;
106 virtual
void UpdateFromMRMLScene() VTK_OVERRIDE;
107 virtual
void OnMRMLSceneEndClose() VTK_OVERRIDE;
108 virtual
void OnMRMLSceneNodeAdded(
vtkMRMLNode* node) VTK_OVERRIDE;
109 virtual
void OnMRMLSceneNodeRemoved(
vtkMRMLNode* node) VTK_OVERRIDE;
112 virtual
void OnMRMLDisplayableNodeModifiedEvent(vtkObject* caller) VTK_OVERRIDE;
117 void SetAndObserveNodes();
120 void AddObserversToInteractionNode();
121 void RemoveObserversFromInteractionNode();
124 void OnMRMLMarkupsNodeModifiedEvent(
vtkMRMLNode* node);
125 void OnMRMLMarkupsNodeTransformModifiedEvent(
vtkMRMLNode* node);
126 void OnMRMLMarkupsNodeLockModifiedEvent(
vtkMRMLNode* node);
127 void OnMRMLMarkupsDisplayNodeModifiedEvent(
vtkMRMLNode *node);
128 void OnMRMLMarkupsPointModifiedEvent(
vtkMRMLNode *node,
int n);
131 virtual
void OnMRMLMarkupsNodeMarkupAddedEvent(
vtkMRMLMarkupsNode * vtkNotUsed(markupsNode),
int vtkNotUsed(
n)) {};
140 void OnClickInRenderWindowGetCoordinates();
142 virtual void OnClickInRenderWindow(
double x,
double y,
const char *associatedNodeID = NULL);
149 vtkAbstractWidget *vtkNotUsed(widget),
160 virtual void PlaceSeed(
double x,
double y);
162 vtkHandleWidget * GetSeed(
int index);
169 void GetWorldToDisplayCoordinates(
double r,
double a,
double s,
double * displayCoordinates);
170 void GetWorldToDisplayCoordinates(
double * worldCoordinates,
double * displayCoordinates);
173 void GetDisplayToViewportCoordinates(
double x,
double y,
double * viewportCoordinates);
174 void GetDisplayToViewportCoordinates(
double *displayCoordinates,
double * viewportCoordinates);
188 virtual bool IsCorrectDisplayableManager();
199 virtual bool IsManageable(
const char* nodeClassName);
211 vtkGetMacro(DisableInteractorStyleEventsProcessing,
int);
215 double LastClickWorldCoordinates[4];
223 int DisableInteractorStyleEventsProcessing;
virtual void UpdatePosition(vtkAbstractWidget *vtkNotUsed(widget), vtkMRMLNode *vtkNotUsed(node))
Update just the position for the widget, implemented by subclasses.
virtual void RemoveMRMLObservers()
Remove MRML observers.
virtual void SetParentTransformToWidget(vtkMRMLMarkupsNode *vtkNotUsed(node), vtkAbstractWidget *vtkNotUsed(widget))
Set mrml parent transform to widgets.
int Updating
Disable processing when updating is in progress.
virtual void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData) VTK_OVERRIDE
MRML node to represent a list of markups Markups nodes contains a list of markups that each contain a...
A set of MRML Nodes that supports serialization and undo/redo.
static vtkMRMLAbstractThreeDViewDisplayableManager * New()
Superclass for displayable manager classes.
virtual void OnMRMLMarkupsNodeMarkupRemovedEvent(vtkMRMLMarkupsNode *vtkNotUsed(markupsNode), int vtkNotUsed(n))
vtkMRMLMarkupsDisplayableManagerHelper * Helper
const char * Focus
Focus of this displayableManager is set to a specific markups type when inherited.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkMRMLMarkupsClickCounter * ClickCounter
Counter for clicks in Render Window.
Abstract Superclass for all specific types of MRML nodes.
virtual void OnMRMLMarkupsNodeNthMarkupModifiedEvent(vtkMRMLMarkupsNode *vtkNotUsed(node), int vtkNotUsed(n))
virtual void OnInteractorStyleEvent(int eventid)
virtual bool UpdateNthSeedPositionFromMRML(int vtkNotUsed(n), vtkAbstractWidget *vtkNotUsed(widget), vtkMRMLMarkupsNode *vtkNotUsed(markupsNode))