#include <vtkSlicerAnnotationRulerManager.h>
Public Member Functions | |
| void | AddDistanceWidget (vtkMRMLAnnotationRulerNode *rulerNode) |
| void | AddLineDiaplayNodeID (vtkMRMLAnnotationRulerNode *rulerNode) |
| virtual void | AddMRMLObservers () |
| alternative method to propagate events generated in GUI to logic / mrml | |
| void | AddPointDiaplayNodeID (vtkMRMLAnnotationRulerNode *rulerNode) |
| void | AddSeedWidget (vtkMRMLAnnotationRulerNode *rulerNode) |
| void | AddTextDiaplayNodeID (vtkMRMLAnnotationRulerNode *rulerNode) |
| vtkCamera * | GetActiveCamera () |
| get the currently active camera | |
| vtkMeasurementsDistanceWidgetClass * | GetDistanceWidget (const char *nodeID) |
| std::string | GetLineDisplayNodeID (const char *nodeID) |
| std::string | GetPointDisplayNodeID (const char *nodeID) |
| std::string | GetRulerNodeIDFromLineDisplayNode (const char *nodeID) |
| std::string | GetRulerNodeIDFromPointDisplayNode (const char *nodeID) |
| std::string | GetRulerNodeIDFromTextDisplayNode (const char *nodeID) |
| vtkSlicerSeedWidgetClass * | GetSeedWidget (const char *nodeID) |
| std::string | GetTextDisplayNodeID (const char *nodeID) |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| virtual void | ProcessMRMLEvents (vtkObject *caller, unsigned long event, void *callData) |
| alternative method to propagate events generated in GUI to logic / mrml | |
| void | RemoveDistanceWidget (vtkMRMLAnnotationRulerNode *rulerNode) |
| void | RemoveDistanceWidgets () |
| void | RemoveLineDisplayNodeID (vtkMRMLAnnotationRulerNode *rulerNode) |
| virtual void | RemoveMRMLObservers () |
| remove observers on node | |
| void | RemovePointDisplayNodeID (vtkMRMLAnnotationRulerNode *rulerNode) |
| void | RemoveSeedWidget (vtkMRMLAnnotationRulerNode *rulerNode) |
| void | RemoveTextDisplayNodeID (vtkMRMLAnnotationRulerNode *rulerNode) |
| void | SetRulerNodeID (char *id) |
| Set the fid list id, and update the widgets. | |
| virtual void | SetViewerWidget (vtkSlicerViewerWidget *viewerWidget) |
| void | Update3DWidgetsFromMRML () |
| check scene to make sure that have a widget for each ruler node, and no extra widgets... | |
| void | UpdateCamera () |
| Update the camera. | |
| void | UpdateDistanceMeasurement (vtkMRMLAnnotationRulerNode *rulerNode) |
| void | UpdateRulerWidgetInteractors () |
| Update the interactors on all the widgets. | |
| vtkGetObjectMacro (ViewerWidget, vtkSlicerViewerWidget) | |
| Get/set the viewer widget so can add a the ruler widget to it. | |
| vtkGetStringMacro (RulerNodeID) | |
| Getting the mrml ruler node id. | |
| vtkTypeRevisionMacro (vtkSlicerAnnotationRulerManager, vtkSlicerWidget) | |
Static Public Member Functions | |
| static vtkSlicerAnnotationRulerManager * | New () |
Public Attributes | |
| std::map< std::string, vtkMeasurementsDistanceWidgetClass * > | DistanceWidgets |
| encapsulated 3d widgets for each ruler node | |
| std::map< std::string, std::string > | LineDisplayNodes |
| encapsulated line display node for each ruler node | |
| std::map< std::string, std::string > | PointDisplayNodes |
| encapsulated point display node for each ruler node | |
| std::map< std::string, vtkSlicerSeedWidgetClass * > | SeedWidgets |
| encapsulated 3d widgets for each seed node | |
| std::map< std::string, std::string > | TextDisplayNodes |
| encapsulated text display node for each ruler node | |
Protected Member Functions | |
| void | Update3DWidget (vtkMRMLAnnotationRulerNode *rulerNode) |
| void | Update3DWidgetVisibility (vtkMRMLAnnotationRulerNode *activeRulerNode) |
| update the visibility of the 3d widget associated with the passed node | |
| void | UpdateDisplayNode (vtkMRMLAnnotationRulerNode *rulerNode) |
| update the display nodes for rulerNode | |
| void | UpdateInteractionModeAtEndInteraction () |
| void | UpdateInteractionModeAtStartInteraction () |
| void | UpdateLineDisplayProperty (vtkMRMLAnnotationLineDisplayNode *node) |
| update the point property passed by the point display node | |
| void | UpdatePointDisplayProperty (vtkMRMLAnnotationPointDisplayNode *node) |
| update the point property passed by the point display node | |
| void | UpdateTextDisplayProperty (vtkMRMLAnnotationTextDisplayNode *node) |
| update the text property passed by the text display node | |
| void | UpdateWidget (vtkMRMLAnnotationRulerNode *rulerNode) |
| update the widget GUI from the settings in the passed in rulerNode | |
| vtkSlicerAnnotationRulerManager () | |
| virtual | ~vtkSlicerAnnotationRulerManager () |
Protected Attributes | |
| char * | RulerNodeID |
| the id of the mrml node currently displayed in the widget | |
| int | Updating3DRuler |
| vtkSlicerViewerWidget * | ViewerWidget |
| pointer to the viewer widget so can add props, request renders | |
Private Member Functions | |
| void | operator= (const vtkSlicerAnnotationRulerManager &) |
| Not implemented. | |
| vtkSlicerAnnotationRulerManager (const vtkSlicerAnnotationRulerManager &) | |
| vtkSlicerAnnotationRulerManager::vtkSlicerAnnotationRulerManager | ( | ) | [protected] |
References RulerNodeID, SetRulerNodeID(), Updating3DRuler, and ViewerWidget.
| vtkSlicerAnnotationRulerManager::~vtkSlicerAnnotationRulerManager | ( | ) | [protected, virtual] |
References RemoveMRMLObservers(), vtkSlicerWidget::SetMRMLScene(), and SetRulerNodeID().
| vtkSlicerAnnotationRulerManager::vtkSlicerAnnotationRulerManager | ( | const vtkSlicerAnnotationRulerManager & | ) | [private] |
| void vtkSlicerAnnotationRulerManager::AddDistanceWidget | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
References Console::c, vtkMRMLAnnotationControlPointsNode::ControlPointModifiedEvent, DistanceWidgets, GetDistanceWidget(), vtkSlicerWidget::MRMLCallbackCommand, New(), vtkMRMLAnnotationRulerNode::RulerNodeAddedEvent, and vtkMRMLTransformableNode::TransformModifiedEvent.
Referenced by Update3DWidget().
| void vtkSlicerAnnotationRulerManager::AddLineDiaplayNodeID | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
| void vtkSlicerAnnotationRulerManager::AddMRMLObservers | ( | void | ) | [virtual] |
alternative method to propagate events generated in GUI to logic / mrml
add observers on node
References vtkSlicerWidget::MRMLCallbackCommand, vtkSlicerWidget::MRMLScene, vtkMRMLScene::NodeAddedEvent, vtkMRMLScene::NodeRemovedEvent, and vtkMRMLScene::SceneCloseEvent.
Referenced by vtkSlicermiAnnotationModuleLogic::AddRuler().
| void vtkSlicerAnnotationRulerManager::AddPointDiaplayNodeID | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
| void vtkSlicerAnnotationRulerManager::AddSeedWidget | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
References Console::c, GetSeedWidget(), New(), SeedWidgets, Update3DWidget(), and Update3DWidgetVisibility().
| void vtkSlicerAnnotationRulerManager::AddTextDiaplayNodeID | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
| vtkCamera * vtkSlicerAnnotationRulerManager::GetActiveCamera | ( | ) |
get the currently active camera
Referenced by UpdateCamera().
| vtkMeasurementsDistanceWidgetClass * vtkSlicerAnnotationRulerManager::GetDistanceWidget | ( | const char * | nodeID | ) |
| std::string vtkSlicerAnnotationRulerManager::GetLineDisplayNodeID | ( | const char * | nodeID | ) |
References LineDisplayNodes.
Referenced by RemoveLineDisplayNodeID(), and UpdateDisplayNode().
| std::string vtkSlicerAnnotationRulerManager::GetPointDisplayNodeID | ( | const char * | nodeID | ) |
References PointDisplayNodes.
Referenced by RemovePointDisplayNodeID(), and UpdateDisplayNode().
| std::string vtkSlicerAnnotationRulerManager::GetRulerNodeIDFromLineDisplayNode | ( | const char * | nodeID | ) |
References LineDisplayNodes.
Referenced by UpdateLineDisplayProperty().
| std::string vtkSlicerAnnotationRulerManager::GetRulerNodeIDFromPointDisplayNode | ( | const char * | nodeID | ) |
References PointDisplayNodes.
Referenced by UpdatePointDisplayProperty().
| std::string vtkSlicerAnnotationRulerManager::GetRulerNodeIDFromTextDisplayNode | ( | const char * | nodeID | ) |
References TextDisplayNodes.
Referenced by UpdateTextDisplayProperty().
| vtkSlicerSeedWidgetClass * vtkSlicerAnnotationRulerManager::GetSeedWidget | ( | const char * | nodeID | ) |
References SeedWidgets.
Referenced by AddSeedWidget(), and RemoveSeedWidget().
| std::string vtkSlicerAnnotationRulerManager::GetTextDisplayNodeID | ( | const char * | nodeID | ) |
References TextDisplayNodes.
Referenced by RemoveTextDisplayNodeID(), and UpdateDisplayNode().
| static vtkSlicerAnnotationRulerManager* vtkSlicerAnnotationRulerManager::New | ( | ) | [static] |
Reimplemented from vtkSlicerWidget.
Referenced by AddDistanceWidget(), AddSeedWidget(), and Update3DWidget().
| void vtkSlicerAnnotationRulerManager::operator= | ( | const vtkSlicerAnnotationRulerManager & | ) | [private] |
Not implemented.
Reimplemented from vtkSlicerWidget.
| void vtkSlicerAnnotationRulerManager::PrintSelf | ( | ostream & | os, | |
| vtkIndent | indent | |||
| ) |
Reimplemented from vtkSlicerWidget.
References DistanceWidgets.
| void vtkSlicerAnnotationRulerManager::ProcessMRMLEvents | ( | vtkObject * | caller, | |
| unsigned long | event, | |||
| void * | callData | |||
| ) | [virtual] |
alternative method to propagate events generated in GUI to logic / mrml
References vtkMRMLAnnotationControlPointsNode::ControlPointModifiedEvent, vtkMRMLScene::GetNodeByID(), vtkSlicerWidget::MRMLScene, vtkMRMLScene::NodeAddedEvent, vtkMRMLScene::NodeRemovedEvent, RemoveDistanceWidget(), RemoveDistanceWidgets(), RemoveLineDisplayNodeID(), RemovePointDisplayNodeID(), RemoveTextDisplayNodeID(), vtkMRMLAnnotationRulerNode::RulerNodeAddedEvent, vtkMRMLScene::SceneCloseEvent, SetRulerNodeID(), vtkMRMLTransformableNode::TransformModifiedEvent, Update3DWidget(), Update3DWidgetsFromMRML(), UpdateDisplayNode(), UpdateDistanceMeasurement(), UpdateLineDisplayProperty(), UpdatePointDisplayProperty(), UpdateTextDisplayProperty(), UpdateWidget(), and Updating3DRuler.
| void vtkSlicerAnnotationRulerManager::RemoveDistanceWidget | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
References DistanceWidgets, and GetDistanceWidget().
Referenced by ProcessMRMLEvents(), and RemoveDistanceWidgets().
| void vtkSlicerAnnotationRulerManager::RemoveDistanceWidgets | ( | ) |
References DistanceWidgets, vtkMRMLScene::GetNthNodeByClass(), vtkMRMLScene::GetNumberOfNodesByClass(), vtkSlicerWidget::MRMLScene, mathExample::n, and RemoveDistanceWidget().
Referenced by ProcessMRMLEvents(), and SetViewerWidget().
| void vtkSlicerAnnotationRulerManager::RemoveLineDisplayNodeID | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
References GetLineDisplayNodeID(), and LineDisplayNodes.
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationRulerManager::RemoveMRMLObservers | ( | void | ) | [virtual] |
remove observers on node
References vtkMRMLScene::GetNthNodeByClass(), vtkMRMLScene::GetNumberOfNodesByClass(), vtkSlicerWidget::MRMLCallbackCommand, vtkSlicerWidget::MRMLScene, mathExample::n, vtkMRMLScene::NodeAddedEvent, vtkMRMLScene::NodeRemovedEvent, vtkMRMLScene::SceneCloseEvent, and vtkMRMLTransformableNode::TransformModifiedEvent.
Referenced by ~vtkSlicerAnnotationRulerManager().
| void vtkSlicerAnnotationRulerManager::RemovePointDisplayNodeID | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
References GetPointDisplayNodeID(), and PointDisplayNodes.
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationRulerManager::RemoveSeedWidget | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
References GetSeedWidget(), and SeedWidgets.
| void vtkSlicerAnnotationRulerManager::RemoveTextDisplayNodeID | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
References GetTextDisplayNodeID(), and TextDisplayNodes.
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationRulerManager::SetRulerNodeID | ( | char * | id | ) |
Set the fid list id, and update the widgets.
References vtkMRMLScene::GetNodeByID(), vtkSlicerWidget::MRMLScene, RulerNodeID, and UpdateWidget().
Referenced by ProcessMRMLEvents(), vtkSlicerAnnotationRulerManager(), and ~vtkSlicerAnnotationRulerManager().
| void vtkSlicerAnnotationRulerManager::SetViewerWidget | ( | vtkSlicerViewerWidget * | viewerWidget | ) | [virtual] |
| void vtkSlicerAnnotationRulerManager::Update3DWidget | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) | [protected] |
update the 3d distance widget from the settings in the passed in rulerNode
References AddDistanceWidget(), vtkMRMLAnnotationLinesNode::GetAnnotationLineDisplayNode(), vtkMRMLAnnotationControlPointsNode::GetAnnotationPointDisplayNode(), vtkMRMLAnnotationNode::GetAnnotationTextDisplayNode(), vtkMRMLDisplayableNode::GetDisplayNode(), vtkMRMLAnnotationRulerNode::GetDistanceAnnotationVisibility(), GetDistanceWidget(), vtkMRMLLinearTransformNode::GetMatrixTransformToWorld(), vtkMRMLTransformableNode::GetParentTransformNode(), vtkMRMLAnnotationRulerNode::GetPosition1(), vtkMRMLAnnotationRulerNode::GetPosition2(), vtkMRMLTransformNode::IsLinear(), New(), p, vtkSlicerAnnotationRulerManagerCallback::RulerNode, sliceExample::slice, Update3DWidgetVisibility(), UpdateLineDisplayProperty(), UpdatePointDisplayProperty(), UpdateTextDisplayProperty(), and Updating3DRuler.
Referenced by AddSeedWidget(), ProcessMRMLEvents(), and Update3DWidgetsFromMRML().
| void vtkSlicerAnnotationRulerManager::Update3DWidgetsFromMRML | ( | ) |
check scene to make sure that have a widget for each ruler node, and no extra widgets...
References DistanceWidgets, vtkMRMLScene::GetNodeByID(), vtkMRMLScene::GetNthNodeByClass(), vtkMRMLScene::GetNumberOfNodesByClass(), vtkSlicerWidget::MRMLScene, mathExample::n, and Update3DWidget().
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationRulerManager::Update3DWidgetVisibility | ( | vtkMRMLAnnotationRulerNode * | activeRulerNode | ) | [protected] |
update the visibility of the 3d widget associated with the passed node
References double(), GetDistanceWidget(), vtkMRMLAnnotationRulerNode::GetPosition1(), vtkMRMLAnnotationRulerNode::GetPosition2(), and vtkMRMLAnnotationRulerNode::GetVisibility().
Referenced by AddSeedWidget(), Update3DWidget(), and UpdateRulerWidgetInteractors().
| void vtkSlicerAnnotationRulerManager::UpdateCamera | ( | ) |
Update the camera.
References DistanceWidgets, and GetActiveCamera().
| void vtkSlicerAnnotationRulerManager::UpdateDisplayNode | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) | [protected] |
update the display nodes for rulerNode
References AddLineDiaplayNodeID(), AddPointDiaplayNodeID(), AddTextDiaplayNodeID(), GetLineDisplayNodeID(), GetPointDisplayNodeID(), and GetTextDisplayNodeID().
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationRulerManager::UpdateDistanceMeasurement | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) |
References vtkMRMLAnnotationRulerNode::GetDistanceMeasurement(), GetDistanceWidget(), and vtkMRMLAnnotationRulerNode::SetDistanceMeasurement().
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationRulerManager::UpdateInteractionModeAtEndInteraction | ( | ) | [protected] |
Resets Slicer's interaction mode back to original interaction mode when manipulation is finished.
References vtkMRMLScene::GetNthNodeByClass(), vtkSlicerWidget::MRMLScene, vtkMRMLInteractionNode::SetCurrentInteractionMode(), and vtkMRMLInteractionNode::ViewTransform.
| void vtkSlicerAnnotationRulerManager::UpdateInteractionModeAtStartInteraction | ( | ) | [protected] |
Sets Slicer's interaction mode to "pick and manipulate" when a widget is being manipulated, and
References vtkMRMLScene::GetNthNodeByClass(), vtkSlicerWidget::MRMLScene, vtkMRMLInteractionNode::PickManipulate, vtkMRMLInteractionNode::Place, vtkMRMLInteractionNode::SetCurrentInteractionMode(), and vtkMRMLInteractionNode::SetLastInteractionMode().
| void vtkSlicerAnnotationRulerManager::UpdateLineDisplayProperty | ( | vtkMRMLAnnotationLineDisplayNode * | node | ) | [protected] |
update the point property passed by the point display node
References GetDistanceWidget(), and GetRulerNodeIDFromLineDisplayNode().
Referenced by ProcessMRMLEvents(), and Update3DWidget().
| void vtkSlicerAnnotationRulerManager::UpdatePointDisplayProperty | ( | vtkMRMLAnnotationPointDisplayNode * | node | ) | [protected] |
update the point property passed by the point display node
References GetDistanceWidget(), and GetRulerNodeIDFromPointDisplayNode().
Referenced by ProcessMRMLEvents(), and Update3DWidget().
| void vtkSlicerAnnotationRulerManager::UpdateRulerWidgetInteractors | ( | ) |
Update the interactors on all the widgets.
References DistanceWidgets, and Update3DWidgetVisibility().
Referenced by SetViewerWidget().
| void vtkSlicerAnnotationRulerManager::UpdateTextDisplayProperty | ( | vtkMRMLAnnotationTextDisplayNode * | node | ) | [protected] |
update the text property passed by the text display node
References GetDistanceWidget(), and GetRulerNodeIDFromTextDisplayNode().
Referenced by ProcessMRMLEvents(), and Update3DWidget().
| void vtkSlicerAnnotationRulerManager::UpdateWidget | ( | vtkMRMLAnnotationRulerNode * | rulerNode | ) | [protected] |
update the widget GUI from the settings in the passed in rulerNode
Referenced by ProcessMRMLEvents(), and SetRulerNodeID().
| vtkSlicerAnnotationRulerManager::vtkGetObjectMacro | ( | ViewerWidget | , | |
| vtkSlicerViewerWidget | ||||
| ) |
Get/set the viewer widget so can add a the ruler widget to it.
| vtkSlicerAnnotationRulerManager::vtkGetStringMacro | ( | RulerNodeID | ) |
Getting the mrml ruler node id.
| vtkSlicerAnnotationRulerManager::vtkTypeRevisionMacro | ( | vtkSlicerAnnotationRulerManager | , | |
| vtkSlicerWidget | ||||
| ) |
| std::map<std::string, vtkMeasurementsDistanceWidgetClass *> vtkSlicerAnnotationRulerManager::DistanceWidgets |
encapsulated 3d widgets for each ruler node
Referenced by AddDistanceWidget(), GetDistanceWidget(), PrintSelf(), RemoveDistanceWidget(), RemoveDistanceWidgets(), Update3DWidgetsFromMRML(), UpdateCamera(), and UpdateRulerWidgetInteractors().
| std::map<std::string, std::string> vtkSlicerAnnotationRulerManager::LineDisplayNodes |
encapsulated line display node for each ruler node
Referenced by AddLineDiaplayNodeID(), GetLineDisplayNodeID(), GetRulerNodeIDFromLineDisplayNode(), and RemoveLineDisplayNodeID().
| std::map<std::string, std::string> vtkSlicerAnnotationRulerManager::PointDisplayNodes |
encapsulated point display node for each ruler node
Referenced by AddPointDiaplayNodeID(), GetPointDisplayNodeID(), GetRulerNodeIDFromPointDisplayNode(), and RemovePointDisplayNodeID().
char* vtkSlicerAnnotationRulerManager::RulerNodeID [protected] |
the id of the mrml node currently displayed in the widget
Referenced by SetRulerNodeID(), and vtkSlicerAnnotationRulerManager().
| std::map<std::string, vtkSlicerSeedWidgetClass *> vtkSlicerAnnotationRulerManager::SeedWidgets |
encapsulated 3d widgets for each seed node
Referenced by AddSeedWidget(), GetSeedWidget(), and RemoveSeedWidget().
| std::map<std::string, std::string> vtkSlicerAnnotationRulerManager::TextDisplayNodes |
encapsulated text display node for each ruler node
Referenced by AddTextDiaplayNodeID(), GetRulerNodeIDFromTextDisplayNode(), GetTextDisplayNodeID(), and RemoveTextDisplayNodeID().
int vtkSlicerAnnotationRulerManager::Updating3DRuler [protected] |
flag set to 1 when updating a 3d widget (todo: set it to the index of the ruler node / 3d widget once have more than one)
Referenced by ProcessMRMLEvents(), Update3DWidget(), and vtkSlicerAnnotationRulerManager().
pointer to the viewer widget so can add props, request renders
Referenced by SetViewerWidget(), and vtkSlicerAnnotationRulerManager().
1.6.1