vtkMeasurementsRulerWidget Class Reference

#include <vtkMeasurementsRulerWidget.h>

Inheritance diagram for vtkMeasurementsRulerWidget:
vtkSlicerWidget vtkKWCompositeWidget

List of all members.

Public Member Functions

void AddDistanceWidget (vtkMRMLMeasurementsRulerNode *rulerNode)
virtual void AddMRMLObservers ()
virtual void AddWidgetObservers ()
void GenerateReport (const char *filename=NULL)
vtkCamera * GetActiveCamera ()
vtkMeasurementsDistanceWidgetClassGetDistanceWidget (const char *nodeID)
void ModifyAllLock (int lockFlag)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void ProcessMRMLEvents (vtkObject *caller, unsigned long event, void *callData)
virtual void ProcessWidgetEvents (vtkObject *caller, unsigned long event, void *callData)
void RemoveDistanceWidget (vtkMRMLMeasurementsRulerNode *rulerNode)
void RemoveDistanceWidgets ()
virtual void RemoveMRMLObservers ()
virtual void RemoveWidgetObservers ()
void ResetGUI ()
void SetRulerNodeID (char *id)
virtual void SetViewerWidget (vtkSlicerViewerWidget *viewerWidget)
void Update3DWidgetsFromMRML ()
void UpdateCamera ()
void UpdateLabelsFromNode (vtkMRMLMeasurementsRulerNode *activeRulerNode)
void UpdateRulerWidgetInteractors ()
 vtkGetObjectMacro (ViewerWidget, vtkSlicerViewerWidget)
 vtkGetObjectMacro (RemoveAllRulersButton, vtkKWPushButton)
 vtkGetObjectMacro (AnnotationFormatMenuButton, vtkKWMenuButtonWithLabel)
 vtkGetObjectMacro (AllVisibilityMenuButton, vtkKWMenuButton)
 vtkGetObjectMacro (DistanceAnnotationVisibilityButton, vtkKWPushButton)
 vtkGetObjectMacro (VisibilityButton, vtkKWPushButton)
 access methods
 vtkGetStringMacro (RulerNodeID)
 vtkTypeRevisionMacro (vtkMeasurementsRulerWidget, vtkSlicerWidget)

Static Public Member Functions

static vtkMeasurementsRulerWidgetNew ()

Public Attributes

std::map< std::string,
vtkMeasurementsDistanceWidgetClass * > 
DistanceWidgets

Protected Member Functions

virtual void CreateWidget ()
void ModifyAllRulerVisibility (int visibilityState)
void Update3DWidget (vtkMRMLMeasurementsRulerNode *rulerNode)
void Update3DWidgetVisibility (vtkMRMLMeasurementsRulerNode *activeRulerNode)
void UpdateDistanceLabel (vtkMRMLMeasurementsRulerNode *activeRulerNode)
void UpdateInteractionModeAtEndInteraction ()
void UpdateInteractionModeAtStartInteraction ()
void UpdateMRMLFromWidget (vtkMRMLMeasurementsRulerNode *rulerNode=NULL)
void UpdateWidget (vtkMRMLMeasurementsRulerNode *rulerNode)
 vtkMeasurementsRulerWidget ()
virtual ~vtkMeasurementsRulerWidget ()

Protected Attributes

vtkKWMenuButton * AllVisibilityMenuButton
vtkKWMenuButtonWithLabelAnnotationFormatMenuButton
vtkKWEntryWithLabel * DistanceAnnotationFormatEntry
vtkKWEntryWithLabel * DistanceAnnotationScaleEntry
vtkKWPushButtonDistanceAnnotationVisibilityButton
vtkKWLabel * DistanceLabel
vtkKWChangeColorButton * LineColourButton
vtkKWChangeColorButton * Point2ColourButton
vtkKWChangeColorButton * PointColourButton
vtkKWLabel * Position1Label
vtkKWEntry * Position1XEntry
vtkKWEntry * Position1YEntry
vtkKWEntry * Position1ZEntry
vtkKWLabel * Position2Label
vtkKWEntry * Position2XEntry
vtkKWEntry * Position2YEntry
vtkKWEntry * Position2ZEntry
vtkKWPushButtonRemoveAllRulersButton
vtkKWLoadSaveButton * ReportButton
vtkKWEntryWithLabel * ResolutionEntry
vtkSlicerNodeSelectorWidgetRulerModel1SelectorWidget
vtkSlicerNodeSelectorWidgetRulerModel2SelectorWidget
charRulerNodeID
vtkSlicerNodeSelectorWidgetRulerSelectorWidget
vtkKWChangeColorButton * TextColourButton
int Updating3DWidget
vtkSlicerViewerWidgetViewerWidget
vtkKWPushButtonVisibilityButton

Private Member Functions

void operator= (const vtkMeasurementsRulerWidget &)
 Not implemented.
 vtkMeasurementsRulerWidget (const vtkMeasurementsRulerWidget &)

Constructor & Destructor Documentation

vtkMeasurementsRulerWidget::vtkMeasurementsRulerWidget (  )  [protected]
vtkMeasurementsRulerWidget::~vtkMeasurementsRulerWidget (  )  [protected, virtual]
vtkMeasurementsRulerWidget::vtkMeasurementsRulerWidget ( const vtkMeasurementsRulerWidget  )  [private]

Member Function Documentation

void vtkMeasurementsRulerWidget::AddDistanceWidget ( vtkMRMLMeasurementsRulerNode rulerNode  ) 
void vtkMeasurementsRulerWidget::AddMRMLObservers (  )  [virtual]
void vtkMeasurementsRulerWidget::AddWidgetObservers (  )  [virtual]
void vtkMeasurementsRulerWidget::CreateWidget ( void   )  [protected, virtual]
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]
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  ) 
void vtkMeasurementsRulerWidget::RemoveDistanceWidgets (  ) 
void vtkMeasurementsRulerWidget::RemoveMRMLObservers (  )  [virtual]
void vtkMeasurementsRulerWidget::RemoveWidgetObservers (  )  [virtual]
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  ) 
void vtkMeasurementsRulerWidget::SetViewerWidget ( vtkSlicerViewerWidget viewerWidget  )  [virtual]
void vtkMeasurementsRulerWidget::Update3DWidget ( vtkMRMLMeasurementsRulerNode rulerNode  )  [protected]
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]
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]
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   
)

Member Data Documentation

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().

vtkKWChangeColorButton* vtkMeasurementsRulerWidget::LineColourButton [protected]
vtkKWChangeColorButton* vtkMeasurementsRulerWidget::Point2ColourButton [protected]
vtkKWChangeColorButton* vtkMeasurementsRulerWidget::PointColourButton [protected]
vtkKWLoadSaveButton* vtkMeasurementsRulerWidget::ReportButton [protected]
vtkKWEntryWithLabel* vtkMeasurementsRulerWidget::ResolutionEntry [protected]

Ruler GUI elements to select models upon which to constrain the ruler end points

Referenced by AddWidgetObservers(), CreateWidget(), RemoveWidgetObservers(), UpdateLabelsFromNode(), UpdateWidget(), vtkMeasurementsRulerWidget(), and ~vtkMeasurementsRulerWidget().

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]

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().


The documentation for this class was generated from the following files:

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1