#include <vtkSlicerAnnotationAngleManager.h>
Public Member Functions | |
| void | AddAngleWidget (vtkMRMLAnnotationAngleNode *angleNode) |
| void | AddLineDiaplayNodeID (vtkMRMLAnnotationAngleNode *angleNode) |
| virtual void | AddMRMLObservers () |
| alternative method to propagate events generated in GUI to logic / mrml | |
| void | AddPointDiaplayNodeID (vtkMRMLAnnotationAngleNode *angleNode) |
| void | AddTextDiaplayNodeID (vtkMRMLAnnotationAngleNode *angleNode) |
| vtkCamera * | GetActiveCamera () |
| std::string | GetAngleNodeIDFromLineDisplayNode (const char *nodeID) |
| std::string | GetAngleNodeIDFromPointDisplayNode (const char *nodeID) |
| std::string | GetAngleNodeIDFromTextDisplayNode (const char *nodeID) |
| vtkMeasurementsAngleWidgetClass * | GetAngleWidget (const char *nodeID) |
| std::string | GetLineDisplayNodeID (const char *nodeID) |
| std::string | GetPointDisplayNodeID (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 | RemoveAngleWidget (vtkMRMLAnnotationAngleNode *angleNode) |
| void | RemoveAngleWidgets () |
| void | RemoveLineDisplayNodeID (vtkMRMLAnnotationAngleNode *angleNode) |
| virtual void | RemoveMRMLObservers () |
| remove observers on node | |
| void | RemovePointDisplayNodeID (vtkMRMLAnnotationAngleNode *angleNode) |
| void | RemoveTextDisplayNodeID (vtkMRMLAnnotationAngleNode *angleNode) |
| void | SetAngleNodeID (char *id) |
| Set the fid list id, and update the widgets. | |
| virtual void | SetViewerWidget (vtkSlicerViewerWidget *viewerWidget) |
| void | SetWidgetColor (vtkMRMLAnnotationAngleNode *node, int type, double *color) |
| void | Update3DWidgetsFromMRML () |
| check scene to make sure that have a widget for each Angle node, and no extra widgets... | |
| void | UpdateAngleMeasurement (vtkMRMLAnnotationAngleNode *angleNode) |
| void | UpdateAngleWidgetInteractors () |
| Update the interactors on all the widgets. | |
| void | UpdateCamera () |
| vtkGetObjectMacro (ViewerWidget, vtkSlicerViewerWidget) | |
| Get/set the viewer widget so can add a the Angle widget to it. | |
| vtkGetStringMacro (AngleNodeID) | |
| Getting the mrml Angle node id. | |
| vtkTypeRevisionMacro (vtkSlicerAnnotationAngleManager, vtkSlicerWidget) | |
Static Public Member Functions | |
| static vtkSlicerAnnotationAngleManager * | New () |
Public Attributes | |
| std::map< std::string, vtkMeasurementsAngleWidgetClass * > | AngleWidgets |
| encapsulated 3d widgets for each Angle node | |
| std::map< std::string, std::string > | LineDisplayNodes |
| encapsulated line display node for each Angle node | |
| std::map< std::string, std::string > | PointDisplayNodes |
| encapsulated point display node for each Angle node | |
| std::map< std::string, std::string > | TextDisplayNodes |
| encapsulated text display node for each Angle node | |
Protected Member Functions | |
| void | Update3DWidget (vtkMRMLAnnotationAngleNode *angleNode) |
| void | Update3DWidgetVisibility (vtkMRMLAnnotationAngleNode *activeAngleNode) |
| update the visibility of the 3d widget associated with the passed node | |
| void | UpdateDisplayNode (vtkMRMLAnnotationAngleNode *angleNode) |
| update the display nodes for AngleNode | |
| 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 (vtkMRMLAnnotationAngleNode *angleNode) |
| update the widget GUI from the settings in the passed in AngleNode | |
| vtkSlicerAnnotationAngleManager () | |
| virtual | ~vtkSlicerAnnotationAngleManager () |
Protected Attributes | |
| char * | AngleNodeID |
| the id of the mrml node currently displayed in the widget | |
| int | Updating3DAngle |
| vtkSlicerViewerWidget * | ViewerWidget |
| pointer to the viewer widget so can add props, request renders | |
Private Member Functions | |
| void | operator= (const vtkSlicerAnnotationAngleManager &) |
| Not implemented. | |
| vtkSlicerAnnotationAngleManager (const vtkSlicerAnnotationAngleManager &) | |
| vtkSlicerAnnotationAngleManager::vtkSlicerAnnotationAngleManager | ( | ) | [protected] |
References AngleNodeID, SetAngleNodeID(), Updating3DAngle, and ViewerWidget.
| vtkSlicerAnnotationAngleManager::~vtkSlicerAnnotationAngleManager | ( | ) | [protected, virtual] |
References RemoveMRMLObservers(), SetAngleNodeID(), and vtkSlicerWidget::SetMRMLScene().
| vtkSlicerAnnotationAngleManager::vtkSlicerAnnotationAngleManager | ( | const vtkSlicerAnnotationAngleManager & | ) | [private] |
| void vtkSlicerAnnotationAngleManager::AddAngleWidget | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) |
| void vtkSlicerAnnotationAngleManager::AddLineDiaplayNodeID | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) |
| void vtkSlicerAnnotationAngleManager::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::AddAngle().
| void vtkSlicerAnnotationAngleManager::AddPointDiaplayNodeID | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) |
| void vtkSlicerAnnotationAngleManager::AddTextDiaplayNodeID | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) |
| vtkCamera * vtkSlicerAnnotationAngleManager::GetActiveCamera | ( | ) |
Referenced by UpdateCamera().
| std::string vtkSlicerAnnotationAngleManager::GetAngleNodeIDFromLineDisplayNode | ( | const char * | nodeID | ) |
References LineDisplayNodes.
Referenced by UpdateLineDisplayProperty().
| std::string vtkSlicerAnnotationAngleManager::GetAngleNodeIDFromPointDisplayNode | ( | const char * | nodeID | ) |
References PointDisplayNodes.
Referenced by UpdatePointDisplayProperty().
| std::string vtkSlicerAnnotationAngleManager::GetAngleNodeIDFromTextDisplayNode | ( | const char * | nodeID | ) |
References TextDisplayNodes.
Referenced by UpdateTextDisplayProperty().
| vtkMeasurementsAngleWidgetClass * vtkSlicerAnnotationAngleManager::GetAngleWidget | ( | const char * | nodeID | ) |
References AngleWidgets.
Referenced by vtkSlicermiAnnotationModuleLogic::AddAngle(), AddAngleWidget(), RemoveAngleWidget(), SetWidgetColor(), Update3DWidget(), Update3DWidgetVisibility(), UpdateAngleMeasurement(), UpdateLineDisplayProperty(), UpdatePointDisplayProperty(), and UpdateTextDisplayProperty().
| std::string vtkSlicerAnnotationAngleManager::GetLineDisplayNodeID | ( | const char * | nodeID | ) |
References LineDisplayNodes.
Referenced by RemoveLineDisplayNodeID(), and UpdateDisplayNode().
| std::string vtkSlicerAnnotationAngleManager::GetPointDisplayNodeID | ( | const char * | nodeID | ) |
References PointDisplayNodes.
Referenced by RemovePointDisplayNodeID(), and UpdateDisplayNode().
| std::string vtkSlicerAnnotationAngleManager::GetTextDisplayNodeID | ( | const char * | nodeID | ) |
References TextDisplayNodes.
Referenced by RemoveTextDisplayNodeID(), and UpdateDisplayNode().
| static vtkSlicerAnnotationAngleManager* vtkSlicerAnnotationAngleManager::New | ( | ) | [static] |
Reimplemented from vtkSlicerWidget.
Referenced by AddAngleWidget(), and Update3DWidget().
| void vtkSlicerAnnotationAngleManager::operator= | ( | const vtkSlicerAnnotationAngleManager & | ) | [private] |
Not implemented.
Reimplemented from vtkSlicerWidget.
| void vtkSlicerAnnotationAngleManager::PrintSelf | ( | ostream & | os, | |
| vtkIndent | indent | |||
| ) |
Reimplemented from vtkSlicerWidget.
References AngleWidgets.
| void vtkSlicerAnnotationAngleManager::ProcessMRMLEvents | ( | vtkObject * | caller, | |
| unsigned long | event, | |||
| void * | callData | |||
| ) | [virtual] |
alternative method to propagate events generated in GUI to logic / mrml
References vtkMRMLAnnotationAngleNode::AngleNodeAddedEvent, vtkMRMLAnnotationControlPointsNode::ControlPointModifiedEvent, vtkMRMLScene::GetNodeByID(), vtkSlicerWidget::MRMLScene, vtkMRMLScene::NodeAddedEvent, vtkMRMLScene::NodeRemovedEvent, RemoveAngleWidget(), RemoveAngleWidgets(), RemoveLineDisplayNodeID(), RemovePointDisplayNodeID(), RemoveTextDisplayNodeID(), vtkMRMLScene::SceneCloseEvent, SetAngleNodeID(), vtkMRMLTransformableNode::TransformModifiedEvent, Update3DWidget(), Update3DWidgetsFromMRML(), UpdateAngleMeasurement(), UpdateDisplayNode(), UpdateLineDisplayProperty(), UpdatePointDisplayProperty(), UpdateTextDisplayProperty(), UpdateWidget(), and Updating3DAngle.
| void vtkSlicerAnnotationAngleManager::RemoveAngleWidget | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) |
References AngleWidgets, and GetAngleWidget().
Referenced by ProcessMRMLEvents(), and RemoveAngleWidgets().
| void vtkSlicerAnnotationAngleManager::RemoveAngleWidgets | ( | ) |
References AngleWidgets, vtkMRMLScene::GetNthNodeByClass(), vtkMRMLScene::GetNumberOfNodesByClass(), vtkSlicerWidget::MRMLScene, mathExample::n, and RemoveAngleWidget().
Referenced by ProcessMRMLEvents(), and SetViewerWidget().
| void vtkSlicerAnnotationAngleManager::RemoveLineDisplayNodeID | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) |
References GetLineDisplayNodeID(), and LineDisplayNodes.
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationAngleManager::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 ~vtkSlicerAnnotationAngleManager().
| void vtkSlicerAnnotationAngleManager::RemovePointDisplayNodeID | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) |
References GetPointDisplayNodeID(), and PointDisplayNodes.
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationAngleManager::RemoveTextDisplayNodeID | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) |
References GetTextDisplayNodeID(), and TextDisplayNodes.
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationAngleManager::SetAngleNodeID | ( | char * | id | ) |
Set the fid list id, and update the widgets.
References AngleNodeID, vtkMRMLScene::GetNodeByID(), vtkSlicerWidget::MRMLScene, and UpdateWidget().
Referenced by ProcessMRMLEvents(), vtkSlicerAnnotationAngleManager(), and ~vtkSlicerAnnotationAngleManager().
| void vtkSlicerAnnotationAngleManager::SetViewerWidget | ( | vtkSlicerViewerWidget * | viewerWidget | ) | [virtual] |
| void vtkSlicerAnnotationAngleManager::SetWidgetColor | ( | vtkMRMLAnnotationAngleNode * | node, | |
| int | type, | |||
| double * | color | |||
| ) |
| void vtkSlicerAnnotationAngleManager::Update3DWidget | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) | [protected] |
update the 3d distance widget from the settings in the passed in AngleNode
References AddAngleWidget(), vtkSlicerAnnotationAngleManagerCallback::AngleNode, GetAngleWidget(), vtkMRMLAnnotationLinesNode::GetAnnotationLineDisplayNode(), vtkMRMLAnnotationControlPointsNode::GetAnnotationPointDisplayNode(), vtkMRMLAnnotationNode::GetAnnotationTextDisplayNode(), vtkMRMLAnnotationAngleNode::GetArcVisibility(), vtkMRMLDisplayableNode::GetDisplayNode(), vtkMRMLLinearTransformNode::GetMatrixTransformToWorld(), vtkMRMLTransformableNode::GetParentTransformNode(), vtkMRMLAnnotationAngleNode::GetPosition1(), vtkMRMLAnnotationAngleNode::GetPosition2(), vtkMRMLAnnotationAngleNode::GetPositionCenter(), vtkMRMLAnnotationAngleNode::GetRay1Visibility(), vtkMRMLAnnotationAngleNode::GetRay2Visibility(), vtkMRMLTransformNode::IsLinear(), New(), p, sliceExample::slice, Update3DWidgetVisibility(), UpdateLineDisplayProperty(), UpdatePointDisplayProperty(), UpdateTextDisplayProperty(), and Updating3DAngle.
Referenced by ProcessMRMLEvents(), and Update3DWidgetsFromMRML().
| void vtkSlicerAnnotationAngleManager::Update3DWidgetsFromMRML | ( | ) |
check scene to make sure that have a widget for each Angle node, and no extra widgets...
References AngleWidgets, vtkMRMLScene::GetNodeByID(), vtkMRMLScene::GetNthNodeByClass(), vtkMRMLScene::GetNumberOfNodesByClass(), vtkSlicerWidget::MRMLScene, mathExample::n, and Update3DWidget().
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationAngleManager::Update3DWidgetVisibility | ( | vtkMRMLAnnotationAngleNode * | activeAngleNode | ) | [protected] |
update the visibility of the 3d widget associated with the passed node
References GetAngleWidget(), vtkMRMLAnnotationAngleNode::GetPosition1(), vtkMRMLAnnotationAngleNode::GetPosition2(), vtkMRMLAnnotationAngleNode::GetPositionCenter(), vtkMRMLAnnotationAngleNode::GetVisibility(), and vtkMeasurementsAngleWidgetClass::MakeNewHandleProperties().
Referenced by Update3DWidget(), and UpdateAngleWidgetInteractors().
| void vtkSlicerAnnotationAngleManager::UpdateAngleMeasurement | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) |
References vtkMRMLAnnotationAngleNode::GetAngleMeasurement(), GetAngleWidget(), and vtkMRMLAnnotationAngleNode::SetAngleMeasurement().
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationAngleManager::UpdateAngleWidgetInteractors | ( | ) |
Update the interactors on all the widgets.
References AngleWidgets, and Update3DWidgetVisibility().
Referenced by SetViewerWidget().
| void vtkSlicerAnnotationAngleManager::UpdateCamera | ( | ) |
References AngleWidgets, and GetActiveCamera().
| void vtkSlicerAnnotationAngleManager::UpdateDisplayNode | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) | [protected] |
update the display nodes for AngleNode
References AddLineDiaplayNodeID(), AddPointDiaplayNodeID(), AddTextDiaplayNodeID(), GetLineDisplayNodeID(), GetPointDisplayNodeID(), and GetTextDisplayNodeID().
Referenced by ProcessMRMLEvents().
| void vtkSlicerAnnotationAngleManager::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 vtkSlicerAnnotationAngleManager::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 vtkSlicerAnnotationAngleManager::UpdateLineDisplayProperty | ( | vtkMRMLAnnotationLineDisplayNode * | node | ) | [protected] |
update the point property passed by the point display node
References AngleNodeID, GetAngleNodeIDFromLineDisplayNode(), and GetAngleWidget().
Referenced by ProcessMRMLEvents(), and Update3DWidget().
| void vtkSlicerAnnotationAngleManager::UpdatePointDisplayProperty | ( | vtkMRMLAnnotationPointDisplayNode * | node | ) | [protected] |
update the point property passed by the point display node
References AngleNodeID, GetAngleNodeIDFromPointDisplayNode(), and GetAngleWidget().
Referenced by ProcessMRMLEvents(), and Update3DWidget().
| void vtkSlicerAnnotationAngleManager::UpdateTextDisplayProperty | ( | vtkMRMLAnnotationTextDisplayNode * | node | ) | [protected] |
update the text property passed by the text display node
References AngleNodeID, GetAngleNodeIDFromTextDisplayNode(), and GetAngleWidget().
Referenced by ProcessMRMLEvents(), and Update3DWidget().
| void vtkSlicerAnnotationAngleManager::UpdateWidget | ( | vtkMRMLAnnotationAngleNode * | angleNode | ) | [protected] |
update the widget GUI from the settings in the passed in AngleNode
Referenced by ProcessMRMLEvents(), and SetAngleNodeID().
| vtkSlicerAnnotationAngleManager::vtkGetObjectMacro | ( | ViewerWidget | , | |
| vtkSlicerViewerWidget | ||||
| ) |
Get/set the viewer widget so can add a the Angle widget to it.
| vtkSlicerAnnotationAngleManager::vtkGetStringMacro | ( | AngleNodeID | ) |
Getting the mrml Angle node id.
| vtkSlicerAnnotationAngleManager::vtkTypeRevisionMacro | ( | vtkSlicerAnnotationAngleManager | , | |
| vtkSlicerWidget | ||||
| ) |
char* vtkSlicerAnnotationAngleManager::AngleNodeID [protected] |
the id of the mrml node currently displayed in the widget
Referenced by SetAngleNodeID(), UpdateLineDisplayProperty(), UpdatePointDisplayProperty(), UpdateTextDisplayProperty(), and vtkSlicerAnnotationAngleManager().
| std::map<std::string, vtkMeasurementsAngleWidgetClass*> vtkSlicerAnnotationAngleManager::AngleWidgets |
encapsulated 3d widgets for each Angle node
Referenced by AddAngleWidget(), GetAngleWidget(), PrintSelf(), RemoveAngleWidget(), RemoveAngleWidgets(), Update3DWidgetsFromMRML(), UpdateAngleWidgetInteractors(), and UpdateCamera().
| std::map<std::string, std::string> vtkSlicerAnnotationAngleManager::LineDisplayNodes |
encapsulated line display node for each Angle node
Referenced by AddLineDiaplayNodeID(), GetAngleNodeIDFromLineDisplayNode(), GetLineDisplayNodeID(), and RemoveLineDisplayNodeID().
| std::map<std::string, std::string> vtkSlicerAnnotationAngleManager::PointDisplayNodes |
encapsulated point display node for each Angle node
Referenced by AddPointDiaplayNodeID(), GetAngleNodeIDFromPointDisplayNode(), GetPointDisplayNodeID(), and RemovePointDisplayNodeID().
| std::map<std::string, std::string> vtkSlicerAnnotationAngleManager::TextDisplayNodes |
encapsulated text display node for each Angle node
Referenced by AddTextDiaplayNodeID(), GetAngleNodeIDFromTextDisplayNode(), GetTextDisplayNodeID(), and RemoveTextDisplayNodeID().
int vtkSlicerAnnotationAngleManager::Updating3DAngle [protected] |
flag set to 1 when updating a 3d widget (todo: set it to the index of the Angle node / 3d widget once have more than one)
Referenced by ProcessMRMLEvents(), Update3DWidget(), and vtkSlicerAnnotationAngleManager().
pointer to the viewer widget so can add props, request renders
Referenced by SetViewerWidget(), and vtkSlicerAnnotationAngleManager().
1.6.1