#include <vtkMeasurementsRulerWidget.h>
| vtkMeasurementsRulerWidget::vtkMeasurementsRulerWidget | ( | ) | [protected] |
References AllVisibilityMenuButton, AnnotationFormatMenuButton, DistanceAnnotationFormatEntry, DistanceAnnotationScaleEntry, DistanceAnnotationVisibilityButton, DistanceLabel, LineColourButton, Point2ColourButton, PointColourButton, Position1Label, Position1XEntry, Position1YEntry, Position1ZEntry, Position2Label, Position2XEntry, Position2YEntry, Position2ZEntry, RemoveAllRulersButton, ReportButton, ResolutionEntry, RulerModel1SelectorWidget, RulerModel2SelectorWidget, RulerNodeID, RulerSelectorWidget, SetRulerNodeID(), TextColourButton, Updating3DWidget, ViewerWidget, and VisibilityButton.
| vtkMeasurementsRulerWidget::~vtkMeasurementsRulerWidget | ( | ) | [protected, virtual] |
References AllVisibilityMenuButton, AnnotationFormatMenuButton, DistanceAnnotationFormatEntry, DistanceAnnotationScaleEntry, DistanceAnnotationVisibilityButton, DistanceLabel, DistanceWidgets, LineColourButton, Point2ColourButton, PointColourButton, Position1Label, Position1XEntry, Position1YEntry, Position1ZEntry, Position2Label, Position2XEntry, Position2YEntry, Position2ZEntry, RemoveAllRulersButton, RemoveMRMLObservers(), RemoveWidgetObservers(), ReportButton, ResolutionEntry, RulerModel1SelectorWidget, RulerModel2SelectorWidget, RulerSelectorWidget, vtkSlicerWidget::SetMRMLScene(), vtkSlicerNodeSelectorWidget::SetMRMLScene(), SetRulerNodeID(), SetViewerWidget(), TextColourButton, and VisibilityButton.
| vtkMeasurementsRulerWidget::vtkMeasurementsRulerWidget | ( | const vtkMeasurementsRulerWidget & | ) | [private] |
| void vtkMeasurementsRulerWidget::AddDistanceWidget | ( | vtkMRMLMeasurementsRulerNode * | rulerNode | ) |
set up a new distance widget for this node
References Console::c, DistanceWidgets, GetDistanceWidget(), vtkSlicerWidget::MRMLCallbackCommand, New(), vtkMRMLTransformableNode::TransformModifiedEvent, and ViewerWidget.
Referenced by Update3DWidget().
| void vtkMeasurementsRulerWidget::AddMRMLObservers | ( | ) | [virtual] |
add observers on node
References vtkSlicerWidget::MRMLCallbackCommand, vtkSlicerWidget::MRMLScene, vtkMRMLScene::NodeAddedEvent, vtkMRMLScene::NodeRemovedEvent, and vtkMRMLScene::SceneCloseEvent.
Referenced by vtkMeasurementsGUI::BuildGUI().
| void vtkMeasurementsRulerWidget::AddWidgetObservers | ( | ) | [virtual] |
adds observes on widgets in the class
References AllVisibilityMenuButton, AnnotationFormatMenuButton, DistanceAnnotationFormatEntry, DistanceAnnotationScaleEntry, DistanceAnnotationVisibilityButton, vtkSlicerWidget::GUICallbackCommand, LineColourButton, vtkSlicerNodeSelectorWidget::NodeSelectedEvent, Point2ColourButton, PointColourButton, Position1XEntry, Position1YEntry, Position1ZEntry, Position2XEntry, Position2YEntry, Position2ZEntry, RemoveAllRulersButton, ReportButton, ResolutionEntry, RulerModel1SelectorWidget, RulerModel2SelectorWidget, RulerSelectorWidget, TextColourButton, and VisibilityButton.
Referenced by CreateWidget().
| void vtkMeasurementsRulerWidget::CreateWidget | ( | void | ) | [protected, virtual] |
Create the widget.
distance frame
Reimplemented from vtkSlicerWidget.
References vtkSlicerNodeSelectorWidget::AddNodeClass(), AddWidgetObservers(), AllVisibilityMenuButton, AnnotationFormatMenuButton, DistanceAnnotationFormatEntry, DistanceAnnotationScaleEntry, DistanceAnnotationVisibilityButton, DistanceLabel, vtkSlicerModuleCollapsibleFrame::ExpandFrame(), LineColourButton, New(), Point2ColourButton, PointColourButton, Position1XEntry, Position1YEntry, Position1ZEntry, Position2XEntry, Position2YEntry, Position2ZEntry, RemoveAllRulersButton, ReportButton, ResolutionEntry, RulerModel1SelectorWidget, RulerModel2SelectorWidget, RulerSelectorWidget, vtkSlicerModuleCollapsibleFrame::SetLabelText(), vtkSlicerNodeSelectorWidget::SetMRMLScene(), TextColourButton, and VisibilityButton.
| void vtkMeasurementsRulerWidget::GenerateReport | ( | const char * | filename = NULL |
) |
Generate a report from all rulers, and save to file, ask user for a file name if filename is null.
References fclose, FILE, fopen, slicerget::fp, fprintf, vtkMRMLMeasurementsRulerNode::GetDistance(), vtkMRMLScene::GetNthNodeByClass(), vtkMRMLScene::GetNumberOfNodesByClass(), vtkSlicerWidget::MRMLScene, and mathExample::n.
| vtkCamera * vtkMeasurementsRulerWidget::GetActiveCamera | ( | ) |
get the currently active camera
Referenced by UpdateCamera().
| vtkMeasurementsDistanceWidgetClass * vtkMeasurementsRulerWidget::GetDistanceWidget | ( | const char * | nodeID | ) |
get a distance widget by ruler node id
References DistanceWidgets.
Referenced by AddDistanceWidget(), RemoveDistanceWidget(), Update3DWidget(), Update3DWidgetVisibility(), and UpdateMRMLFromWidget().
| void vtkMeasurementsRulerWidget::ModifyAllLock | ( | int | lockFlag | ) |
set the process events flag on all rulers. If lockFlag is 0, turn process events off, if lock flag is 1, turn process events on.
References DistanceWidgets.
Referenced by vtkMeasurementsGUI::ModifyAllLock().
| void vtkMeasurementsRulerWidget::ModifyAllRulerVisibility | ( | int | visibilityState | ) | [protected] |
Set visibility on all ruler nodes in the scene to the passed in visibility flag
References vtkMRMLScene::GetNthNodeByClass(), vtkMRMLScene::GetNumberOfNodesByClass(), vtkSlicerWidget::MRMLScene, and vtkMRMLScene::SaveStateForUndo().
| static vtkMeasurementsRulerWidget* vtkMeasurementsRulerWidget::New | ( | ) | [static] |
Reimplemented from vtkSlicerWidget.
Referenced by AddDistanceWidget(), CreateWidget(), and Update3DWidget().
| void vtkMeasurementsRulerWidget::operator= | ( | const vtkMeasurementsRulerWidget & | ) | [private] |
Not implemented.
Reimplemented from vtkSlicerWidget.
| void vtkMeasurementsRulerWidget::PrintSelf | ( | ostream & | os, | |
| vtkIndent | indent | |||
| ) |
Reimplemented from vtkSlicerWidget.
References DistanceWidgets.
| void vtkMeasurementsRulerWidget::ProcessMRMLEvents | ( | vtkObject * | caller, | |
| unsigned long | event, | |||
| void * | callData | |||
| ) | [virtual] |
alternative method to propagate events generated in GUI to logic / mrml
References vtkMRMLScene::GetNodeByID(), vtkSlicerWidget::MRMLScene, vtkMRMLScene::NodeAddedEvent, vtkMRMLScene::NodeRemovedEvent, RemoveDistanceWidget(), RemoveDistanceWidgets(), ResetGUI(), vtkMRMLScene::SceneCloseEvent, SetRulerNodeID(), vtkMRMLTransformableNode::TransformModifiedEvent, Update3DWidget(), Update3DWidgetsFromMRML(), and UpdateWidget().
| virtual void vtkMeasurementsRulerWidget::ProcessWidgetEvents | ( | vtkObject * | caller, | |
| unsigned long | event, | |||
| void * | callData | |||
| ) | [virtual] |
alternative method to propagate events generated in GUI to logic / mrml
| void vtkMeasurementsRulerWidget::RemoveDistanceWidget | ( | vtkMRMLMeasurementsRulerNode * | rulerNode | ) |
remove distance widget for this node
References DistanceWidgets, GetDistanceWidget(), vtkSlicerViewerWidget::RequestRender(), and ViewerWidget.
Referenced by ProcessMRMLEvents(), and RemoveDistanceWidgets().
| void vtkMeasurementsRulerWidget::RemoveDistanceWidgets | ( | ) |
remove all distance widgets
References DistanceWidgets, vtkMRMLScene::GetNthNodeByClass(), vtkMRMLScene::GetNumberOfNodesByClass(), vtkSlicerWidget::MRMLScene, mathExample::n, and RemoveDistanceWidget().
Referenced by ProcessMRMLEvents(), and SetViewerWidget().
| void vtkMeasurementsRulerWidget::RemoveMRMLObservers | ( | ) | [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 ~vtkMeasurementsRulerWidget().
| void vtkMeasurementsRulerWidget::RemoveWidgetObservers | ( | ) | [virtual] |
removes observers on widgets in the class
References AllVisibilityMenuButton, AnnotationFormatMenuButton, DistanceAnnotationFormatEntry, DistanceAnnotationScaleEntry, DistanceAnnotationVisibilityButton, vtkSlicerWidget::GUICallbackCommand, LineColourButton, vtkSlicerNodeSelectorWidget::NodeSelectedEvent, Point2ColourButton, PointColourButton, Position1XEntry, Position1YEntry, Position1ZEntry, Position2XEntry, Position2YEntry, Position2ZEntry, RemoveAllRulersButton, ReportButton, ResolutionEntry, RulerModel1SelectorWidget, RulerModel2SelectorWidget, RulerSelectorWidget, TextColourButton, and VisibilityButton.
Referenced by ~vtkMeasurementsRulerWidget().
| void vtkMeasurementsRulerWidget::ResetGUI | ( | ) |
Reset all the colour picker buttons white, clear the distance label. Used when scene is cleared.
References DistanceLabel, LineColourButton, Point2ColourButton, PointColourButton, Position1XEntry, Position1YEntry, Position1ZEntry, Position2XEntry, Position2YEntry, Position2ZEntry, and TextColourButton.
Referenced by ProcessMRMLEvents(), and UpdateWidget().
| void vtkMeasurementsRulerWidget::SetRulerNodeID | ( | char * | id | ) |
Set the fid list id, and update the widgets
References vtkMRMLScene::GetNodeByID(), vtkSlicerWidget::MRMLScene, RulerNodeID, and UpdateWidget().
Referenced by ProcessMRMLEvents(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
| void vtkMeasurementsRulerWidget::SetViewerWidget | ( | vtkSlicerViewerWidget * | viewerWidget | ) | [virtual] |
| void vtkMeasurementsRulerWidget::Update3DWidget | ( | vtkMRMLMeasurementsRulerNode * | rulerNode | ) | [protected] |
update the 3d distance widget from the settings in teh passed in rulerNode
References AddDistanceWidget(), DistanceWidgets, vtkMRMLDisplayableNode::GetDisplayNode(), GetDistanceWidget(), vtkMRMLLinearTransformNode::GetMatrixTransformToWorld(), vtkMRMLTransformableNode::GetParentTransformNode(), vtkSlicerWidget::GUICallbackCommand, vtkMRMLTransformNode::IsLinear(), New(), p, vtkSlicerViewerWidget::RequestRender(), vtkMeasurementsRulerWidgetCallback::RulerNode, Update3DWidgetVisibility(), UpdateDistanceLabel(), Updating3DWidget, and ViewerWidget.
Referenced by ProcessMRMLEvents(), Update3DWidgetsFromMRML(), and UpdateWidget().
| void vtkMeasurementsRulerWidget::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 vtkMeasurementsRulerWidget::Update3DWidgetVisibility | ( | vtkMRMLMeasurementsRulerNode * | activeRulerNode | ) | [protected] |
update the visibility of the 3d widget associated with the passed node
References GetDistanceWidget().
Referenced by Update3DWidget(), and UpdateRulerWidgetInteractors().
| void vtkMeasurementsRulerWidget::UpdateCamera | ( | ) |
Update the camera
References DistanceWidgets, and GetActiveCamera().
| void vtkMeasurementsRulerWidget::UpdateDistanceLabel | ( | vtkMRMLMeasurementsRulerNode * | activeRulerNode | ) | [protected] |
update the distance label with the value from the ruler widget
References DistanceLabel, and vtkMRMLMeasurementsRulerNode::UpdateCurrentDistanceAnnotation().
Referenced by Update3DWidget(), and UpdateWidget().
| void vtkMeasurementsRulerWidget::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 vtkMeasurementsRulerWidget::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 vtkMeasurementsRulerWidget::UpdateLabelsFromNode | ( | vtkMRMLMeasurementsRulerNode * | activeRulerNode | ) |
when change the colours of the end points of the ruler, update the label colours as a hint. If the end point colours are white, use a very very light grey instead
References Position1Label, Position2Label, RulerModel1SelectorWidget, and RulerModel2SelectorWidget.
Referenced by UpdateWidget().
| void vtkMeasurementsRulerWidget::UpdateMRMLFromWidget | ( | vtkMRMLMeasurementsRulerNode * | rulerNode = NULL |
) | [protected] |
update the mrml node passed in, or the selected in the node selector if null, to match the 3d widget
References GetDistanceWidget(), vtkMRMLScene::GetNodeByID(), vtkSlicerWidget::MRMLScene, and p.
| void vtkMeasurementsRulerWidget::UpdateRulerWidgetInteractors | ( | ) |
Update the interactors on all the widgets
References DistanceWidgets, and Update3DWidgetVisibility().
Referenced by SetViewerWidget().
| void vtkMeasurementsRulerWidget::UpdateWidget | ( | vtkMRMLMeasurementsRulerNode * | rulerNode | ) | [protected] |
update the widget GUI from the settings in the passed in rulerNode
References DistanceAnnotationFormatEntry, DistanceAnnotationScaleEntry, DistanceAnnotationVisibilityButton, vtkSlicerNodeSelectorWidget::GetSelected(), LineColourButton, Point2ColourButton, PointColourButton, Position1XEntry, Position1YEntry, Position1ZEntry, Position2XEntry, Position2YEntry, Position2ZEntry, ResetGUI(), ResolutionEntry, RulerModel1SelectorWidget, RulerModel2SelectorWidget, RulerSelectorWidget, vtkSlicerNodeSelectorWidget::SetSelected(), TextColourButton, Update3DWidget(), UpdateDistanceLabel(), and UpdateLabelsFromNode().
Referenced by ProcessMRMLEvents(), and SetRulerNodeID().
| vtkMeasurementsRulerWidget::vtkGetObjectMacro | ( | ViewerWidget | , | |
| vtkSlicerViewerWidget | ||||
| ) |
Get/set the viewer widget so can add a the ruler widget to it
| vtkMeasurementsRulerWidget::vtkGetObjectMacro | ( | RemoveAllRulersButton | , | |
| vtkKWPushButton | ||||
| ) |
| vtkMeasurementsRulerWidget::vtkGetObjectMacro | ( | AnnotationFormatMenuButton | , | |
| vtkKWMenuButtonWithLabel | ||||
| ) |
| vtkMeasurementsRulerWidget::vtkGetObjectMacro | ( | AllVisibilityMenuButton | , | |
| vtkKWMenuButton | ||||
| ) |
| vtkMeasurementsRulerWidget::vtkGetObjectMacro | ( | DistanceAnnotationVisibilityButton | , | |
| vtkKWPushButton | ||||
| ) |
| vtkMeasurementsRulerWidget::vtkGetObjectMacro | ( | VisibilityButton | , | |
| vtkKWPushButton | ||||
| ) |
access methods
| vtkMeasurementsRulerWidget::vtkGetStringMacro | ( | RulerNodeID | ) |
Getting the mrml ruler node id
| vtkMeasurementsRulerWidget::vtkTypeRevisionMacro | ( | vtkMeasurementsRulerWidget | , | |
| vtkSlicerWidget | ||||
| ) |
vtkKWMenuButton* vtkMeasurementsRulerWidget::AllVisibilityMenuButton [protected] |
menu button whose menu exposes options for setting visibility of all ruler nodes
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
menu button to select different default annotation options
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
vtkKWEntryWithLabel* vtkMeasurementsRulerWidget::DistanceAnnotationFormatEntry [protected] |
distance annotation option entries
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), UpdateWidget(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
vtkKWEntryWithLabel* vtkMeasurementsRulerWidget::DistanceAnnotationScaleEntry [protected] |
vtkKWLabel* vtkMeasurementsRulerWidget::DistanceLabel [protected] |
distance label
Referenced by CreateWidget(), ResetGUI(), UpdateDistanceLabel(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
| std::map<std::string, vtkMeasurementsDistanceWidgetClass *> vtkMeasurementsRulerWidget::DistanceWidgets |
encapsulated 3d widgets for each ruler node
Referenced by AddDistanceWidget(), GetDistanceWidget(), ModifyAllLock(), PrintSelf(), RemoveDistanceWidget(), RemoveDistanceWidgets(), Update3DWidget(), Update3DWidgetsFromMRML(), UpdateCamera(), UpdateRulerWidgetInteractors(), and ~vtkMeasurementsRulerWidget().
vtkKWChangeColorButton* vtkMeasurementsRulerWidget::LineColourButton [protected] |
vtkKWChangeColorButton* vtkMeasurementsRulerWidget::Point2ColourButton [protected] |
vtkKWChangeColorButton* vtkMeasurementsRulerWidget::PointColourButton [protected] |
vtkKWLabel* vtkMeasurementsRulerWidget::Position1Label [protected] |
point position entry
Referenced by UpdateLabelsFromNode(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
vtkKWEntry* vtkMeasurementsRulerWidget::Position1XEntry [protected] |
vtkKWEntry* vtkMeasurementsRulerWidget::Position1YEntry [protected] |
vtkKWEntry* vtkMeasurementsRulerWidget::Position1ZEntry [protected] |
vtkKWLabel* vtkMeasurementsRulerWidget::Position2Label [protected] |
Referenced by UpdateLabelsFromNode(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
vtkKWEntry* vtkMeasurementsRulerWidget::Position2XEntry [protected] |
vtkKWEntry* vtkMeasurementsRulerWidget::Position2YEntry [protected] |
vtkKWEntry* vtkMeasurementsRulerWidget::Position2ZEntry [protected] |
remove all ruler widgets
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
vtkKWLoadSaveButton* vtkMeasurementsRulerWidget::ReportButton [protected] |
generate a report about all rulers
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
vtkKWEntryWithLabel* vtkMeasurementsRulerWidget::ResolutionEntry [protected] |
number of subdivisions on the line
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), UpdateWidget(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
Ruler GUI elements to select models upon which to constrain the ruler end points
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), UpdateLabelsFromNode(), UpdateWidget(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
char* vtkMeasurementsRulerWidget::RulerNodeID [protected] |
the id of the mrml node currently displayed in the widget
Referenced by SetRulerNodeID(), and vtkMeasurementsRulerWidget().
to select a measurements ruler node from the scene, and create new ones
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), UpdateWidget(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
vtkKWChangeColorButton* vtkMeasurementsRulerWidget::TextColourButton [protected] |
Change the colour of the distance annotation text
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), ResetGUI(), UpdateWidget(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
int vtkMeasurementsRulerWidget::Updating3DWidget [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 Update3DWidget(), and vtkMeasurementsRulerWidget().
pointer to the viewer widget so can add props, request renders
Referenced by AddDistanceWidget(), RemoveDistanceWidget(), SetViewerWidget(), Update3DWidget(), and vtkMeasurementsRulerWidget().
visibility button
Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().
1.6.1