#include <QmitkMeasurement.h>
A view for doing measurements in digital images by means of mitk::Planarfigures which can represent drawing primitives (Lines, circles, ...). The view consists of only three main elements: 1. A toolbar for activating PlanarFigure drawing 2. A textbrowser which shows details for the selected PlanarFigures 3. A button for copying all details to the clipboard
Definition at line 57 of file QmitkMeasurement.h.
typedef std::vector<mitk::DataNode::Pointer> QmitkMeasurement::DataNodes |
Just a shortcut
Definition at line 65 of file QmitkMeasurement.h.
QmitkMeasurement::QmitkMeasurement | ( | ) |
Initialize pointers to 0. The rest is done in CreateQtPartControl()
Definition at line 65 of file QmitkMeasurement.cpp.
Referenced by ~QmitkMeasurement().
: m_Layout(0), m_DrawActionsToolBar(0), m_DrawActionsGroup(0), m_MeasurementInfoRenderer(0), m_MeasurementInfoAnnotation(0), m_SelectedPlanarFigures(0), m_SelectedImageNode(), m_LineCounter(0), m_PathCounter(0), m_AngleCounter(0), m_FourPointAngleCounter(0), m_EllipseCounter(0), m_RectangleCounter(0), m_PolygonCounter(0), m_CurrentFigureNodeInitialized(false), m_LastRenderWindow(0) { }
QmitkMeasurement::~QmitkMeasurement | ( | ) | [virtual] |
Remove all event listener from DataStorage, DataStorageSelection, Selection Service
Definition at line 78 of file QmitkMeasurement.cpp.
References QmitkFunctionality::GetDefaultDataStorage(), m_MeasurementInfoRenderer, m_SelectedImageNode, m_SelectedPlanarFigures, NodeAddedInDataStorage(), NodeChanged(), NodeRemoved(), PropertyChanged(), and QmitkMeasurement().
{ m_MeasurementInfoRenderer->Delete(); this->GetDefaultDataStorage()->AddNodeEvent -= mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeAddedInDataStorage ); m_SelectedPlanarFigures->NodeChanged.RemoveListener( mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeChanged ) ); m_SelectedPlanarFigures->NodeRemoved.RemoveListener( mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeRemoved ) ); m_SelectedPlanarFigures->PropertyChanged.RemoveListener( mitk::MessageDelegate2<QmitkMeasurement , const mitk::DataNode*, const mitk::BaseProperty*>( this, &QmitkMeasurement::PropertyChanged ) ); m_SelectedImageNode->NodeChanged.RemoveListener( mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeChanged ) ); m_SelectedImageNode->NodeRemoved.RemoveListener( mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeRemoved ) ); m_SelectedImageNode->PropertyChanged.RemoveListener( mitk::MessageDelegate2<QmitkMeasurement , const mitk::DataNode*, const mitk::BaseProperty*>( this, &QmitkMeasurement::PropertyChanged ) ); }
void QmitkMeasurement::ActionDrawAngleTriggered | ( | bool | checked = false ) |
[protected, slot] |
Definition at line 650 of file QmitkMeasurement.cpp.
References AddFigureToDataStorage(), AssertDrawingIsPossible(), m_AngleCounter, MITK_INFO, and mitk::PlanarAngle::New().
Referenced by CreateQtPartControl().
{ if(!this->AssertDrawingIsPossible(checked)) return; mitk::PlanarAngle::Pointer figure = mitk::PlanarAngle::New(); this->AddFigureToDataStorage(figure, QString("Angle%1").arg(++m_AngleCounter)); MITK_INFO << "PlanarAngle initialized..."; }
void QmitkMeasurement::ActionDrawArrowTriggered | ( | bool | checked = false ) |
[protected, slot] |
Definition at line 707 of file QmitkMeasurement.cpp.
References AssertDrawingIsPossible(), and MITK_WARN.
{ if(!this->AssertDrawingIsPossible(checked)) return; MITK_WARN << "Draw Arrow not implemented yet."; }
void QmitkMeasurement::ActionDrawEllipseTriggered | ( | bool | checked = false ) |
[protected, slot] |
Definition at line 673 of file QmitkMeasurement.cpp.
References AddFigureToDataStorage(), AssertDrawingIsPossible(), m_EllipseCounter, MITK_INFO, and mitk::PlanarCircle::New().
Referenced by CreateQtPartControl().
{ if(!this->AssertDrawingIsPossible(checked)) return; mitk::PlanarCircle::Pointer figure = mitk::PlanarCircle::New(); this->AddFigureToDataStorage(figure, QString("Circle%1").arg(++m_EllipseCounter)); MITK_INFO << "PlanarCircle initialized..."; }
void QmitkMeasurement::ActionDrawFourPointAngleTriggered | ( | bool | checked = false ) |
[protected, slot] |
Definition at line 661 of file QmitkMeasurement.cpp.
References AddFigureToDataStorage(), AssertDrawingIsPossible(), m_FourPointAngleCounter, MITK_INFO, and mitk::PlanarFourPointAngle::New().
Referenced by CreateQtPartControl().
{ if(!this->AssertDrawingIsPossible(checked)) return; mitk::PlanarFourPointAngle::Pointer figure = mitk::PlanarFourPointAngle::New(); this->AddFigureToDataStorage(figure, QString("Four Point Angle%1").arg(++m_FourPointAngleCounter)); MITK_INFO << "PlanarFourPointAngle initialized..."; }
void QmitkMeasurement::ActionDrawLineTriggered | ( | bool | checked = false ) |
[protected, slot] |
# draw actions
Definition at line 625 of file QmitkMeasurement.cpp.
References AddFigureToDataStorage(), AssertDrawingIsPossible(), m_LineCounter, MITK_INFO, and mitk::PlanarLine::New().
Referenced by CreateQtPartControl().
{ if(!this->AssertDrawingIsPossible(checked)) return; mitk::PlanarLine::Pointer figure = mitk::PlanarLine::New(); this->AddFigureToDataStorage(figure, QString("Line%1").arg(++m_LineCounter)); MITK_INFO << "PlanarLine initialized..."; }
void QmitkMeasurement::ActionDrawPathTriggered | ( | bool | checked = false ) |
[protected, slot] |
Definition at line 635 of file QmitkMeasurement.cpp.
References AddFigureToDataStorage(), AssertDrawingIsPossible(), m_PathCounter, MITK_INFO, mitk::BoolProperty::New(), and mitk::PlanarPolygon::New().
Referenced by CreateQtPartControl().
{ if(!this->AssertDrawingIsPossible(checked)) return; mitk::PlanarPolygon::Pointer figure = mitk::PlanarPolygon::New(); figure->ClosedOff(); mitk::BoolProperty::Pointer closedProperty = mitk::BoolProperty::New( false ); this->AddFigureToDataStorage(figure, QString("Path%1").arg(++m_PathCounter), "ClosedPlanarPolygon", closedProperty); MITK_INFO << "PlanarPath initialized..."; }
void QmitkMeasurement::ActionDrawPolygonTriggered | ( | bool | checked = false ) |
[protected, slot] |
Definition at line 695 of file QmitkMeasurement.cpp.
References AddFigureToDataStorage(), AssertDrawingIsPossible(), m_PolygonCounter, MITK_INFO, and mitk::PlanarPolygon::New().
Referenced by CreateQtPartControl().
{ if(!this->AssertDrawingIsPossible(checked)) return; mitk::PlanarPolygon::Pointer figure = mitk::PlanarPolygon::New(); figure->ClosedOn(); this->AddFigureToDataStorage(figure, QString("Polygon%1").arg(++m_PolygonCounter)); MITK_INFO << "PlanarPolygon initialized..."; }
void QmitkMeasurement::ActionDrawRectangleTriggered | ( | bool | checked = false ) |
[protected, slot] |
Definition at line 684 of file QmitkMeasurement.cpp.
References AddFigureToDataStorage(), AssertDrawingIsPossible(), m_RectangleCounter, MITK_INFO, and mitk::PlanarRectangle::New().
Referenced by CreateQtPartControl().
{ if(!this->AssertDrawingIsPossible(checked)) return; mitk::PlanarRectangle::Pointer figure = mitk::PlanarRectangle::New(); this->AddFigureToDataStorage(figure, QString("Rectangle%1").arg(++m_RectangleCounter)); MITK_INFO << "PlanarRectangle initialized..."; }
void QmitkMeasurement::ActionDrawTextTriggered | ( | bool | checked = false ) |
[protected, slot] |
Definition at line 715 of file QmitkMeasurement.cpp.
References AssertDrawingIsPossible(), and MITK_WARN.
{ if(!this->AssertDrawingIsPossible(checked)) return; MITK_WARN << "Draw Text not implemented yet."; }
void QmitkMeasurement::Activated | ( | ) | [virtual] |
Set widget planes visibility to false. Show only transversal view. Add an interactor to all PlanarFigures in the DataStorage (if they dont have one yet). Add their interactor to the global interaction.
Reimplemented from QmitkFunctionality.
Definition at line 723 of file QmitkMeasurement.cpp.
References QmitkFunctionality::GetActiveStdMultiWidget(), mitk::DataNode::GetData(), QmitkFunctionality::GetDefaultDataStorage(), mitk::GlobalInteraction::GetInstance(), mitk::DataNode::GetInteractor(), m_Visible, mitk::PlanarFigureInteractor::New(), and QmitkStdMultiWidget::SetWidgetPlanesVisibility().
{ this->GetActiveStdMultiWidget()->SetWidgetPlanesVisibility(false); //this->GetActiveStdMultiWidget()->GetRenderWindow1()->FullScreenMode(true); mitk::TNodePredicateDataType<mitk::PlanarFigure>::Pointer isPlanarFigure = mitk::TNodePredicateDataType<mitk::PlanarFigure>::New(); mitk::DataStorage::SetOfObjects::ConstPointer _NodeSet = this->GetDefaultDataStorage()->GetAll(); mitk::DataNode* node = 0; mitk::PlanarFigure* figure = 0; mitk::PlanarFigureInteractor::Pointer figureInteractor = 0; // finally add all nodes to the model for(mitk::DataStorage::SetOfObjects::ConstIterator it=_NodeSet->Begin(); it!=_NodeSet->End() ; it++) { node = const_cast<mitk::DataNode*>(it->Value().GetPointer()); figure = dynamic_cast<mitk::PlanarFigure*>(node->GetData()); if(figure) { figureInteractor = dynamic_cast<mitk::PlanarFigureInteractor*>(node->GetInteractor()); if(figureInteractor.IsNull()) figureInteractor = mitk::PlanarFigureInteractor::New("PlanarFigureInteractor", node); mitk::GlobalInteraction::GetInstance()->AddInteractor(figureInteractor); } } m_Visible = true; }
void QmitkMeasurement::AddFigureToDataStorage | ( | mitk::PlanarFigure * | figure, |
const QString & | name, | ||
const char * | propertyKey = NULL , |
||
mitk::BaseProperty * | property = NULL |
||
) | [virtual] |
Definition at line 555 of file QmitkMeasurement.cpp.
References QmitkFunctionality::GetDataManagerSelection(), QmitkFunctionality::GetDataStorage(), mitk::RenderingManager::GetInstance(), mitk::WeakPointer< TObjectType >::IsNotNull(), m_CurrentFigureNode, m_CurrentFigureNodeInitialized, m_EndPlacementObserverTag, m_SelectedPlanarFigures, m_SelectObserverTag, mitk::DataNode::New(), PlanarFigureInitialized(), and PlanarFigureSelected().
Referenced by ActionDrawAngleTriggered(), ActionDrawEllipseTriggered(), ActionDrawFourPointAngleTriggered(), ActionDrawLineTriggered(), ActionDrawPathTriggered(), ActionDrawPolygonTriggered(), and ActionDrawRectangleTriggered().
{ if ( m_CurrentFigureNode.IsNotNull() ) { m_CurrentFigureNode->GetData()->RemoveObserver( m_EndPlacementObserverTag ); } mitk::DataNode::Pointer newNode = mitk::DataNode::New(); newNode->SetName(name.toStdString()); newNode->SetData(figure); // Add custom property, if available if ( (propertyKey != NULL) && (property != NULL) ) { newNode->AddProperty( propertyKey, property ); } // add observer for event when figure has been placed typedef itk::SimpleMemberCommand< QmitkMeasurement > SimpleCommandType; SimpleCommandType::Pointer initializationCommand = SimpleCommandType::New(); initializationCommand->SetCallbackFunction( this, &QmitkMeasurement::PlanarFigureInitialized ); m_EndPlacementObserverTag = figure->AddObserver( mitk::EndPlacementPlanarFigureEvent(), initializationCommand ); // add observer for event when figure is picked (selected) typedef itk::MemberCommand< QmitkMeasurement > MemberCommandType; MemberCommandType::Pointer selectCommand = MemberCommandType::New(); selectCommand->SetCallbackFunction( this, &QmitkMeasurement::PlanarFigureSelected ); m_SelectObserverTag = figure->AddObserver( mitk::SelectPlanarFigureEvent(), selectCommand ); // figure drawn on the topmost layer / image this->GetDataStorage()->Add(newNode, this->DetectTopMostVisibleImage() ); std::vector<mitk::DataNode*> selectedNodes = GetDataManagerSelection(); for(unsigned int i = 0; i < selectedNodes.size(); i++) { selectedNodes[i]->SetSelected(false); } selectedNodes = m_SelectedPlanarFigures->GetNodes(); for(unsigned int i = 0; i < selectedNodes.size(); i++) { selectedNodes[i]->SetSelected(false); } newNode->SetSelected(true); m_CurrentFigureNodeInitialized = false; m_CurrentFigureNode = newNode; *m_SelectedPlanarFigures = newNode; mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
bool QmitkMeasurement::AssertDrawingIsPossible | ( | bool | checked ) | [protected] |
Definition at line 609 of file QmitkMeasurement.cpp.
References QmitkFunctionality::GetActiveStdMultiWidget(), QmitkFunctionality::HandleException(), m_DrawLine, QmitkFunctionality::m_Parent, m_SelectedImageNode, and QmitkStdMultiWidget::SetWidgetPlanesVisibility().
Referenced by ActionDrawAngleTriggered(), ActionDrawArrowTriggered(), ActionDrawEllipseTriggered(), ActionDrawFourPointAngleTriggered(), ActionDrawLineTriggered(), ActionDrawPathTriggered(), ActionDrawPolygonTriggered(), ActionDrawRectangleTriggered(), and ActionDrawTextTriggered().
{ if (m_SelectedImageNode->GetNode().IsNull()) { checked = false; this->HandleException("Please select an image!", this->m_Parent, true); m_DrawLine->setChecked(false); return false; } this->GetActiveStdMultiWidget()->SetWidgetPlanesVisibility(false); //this->GetActiveStdMultiWidget()->GetRenderWindow1()->FullScreenMode(true); return checked; }
void QmitkMeasurement::CopyToClipboard | ( | bool | checked = false ) |
[protected, slot] |
Definition at line 800 of file QmitkMeasurement.cpp.
References QuadProgPP::distance(), mitk::PlanarFigure::GetFeatureName(), mitk::PlanarFigure::GetFeatureUnit(), mitk::PlanarFigure::GetNumberOfFeatures(), mitk::PlanarFigure::GetQuantity(), mitk::PlanarFigure::IsFeatureActive(), and m_SelectedPlanarFigures.
Referenced by CreateQtPartControl().
{ std::vector<QString> headerRow; std::vector<std::vector<QString> > rows; QString featureName; QString featureQuantity; std::vector<QString> newRow; headerRow.push_back("Name"); std::vector<mitk::DataNode*> nodes = m_SelectedPlanarFigures->GetNodes(); for (std::vector<mitk::DataNode*>::iterator it = nodes.begin(); it != nodes.end(); ++it) { mitk::PlanarFigure* planarFigure = dynamic_cast<mitk::PlanarFigure*> ((*it)->GetData()); if (!planarFigure) continue; newRow.clear(); newRow.push_back(QString::fromStdString((*it)->GetName())); newRow.resize(headerRow.size()); for (unsigned int i = 0; i < planarFigure->GetNumberOfFeatures(); ++i) { if ( !planarFigure->IsFeatureActive( i ) ) continue; featureName = planarFigure->GetFeatureName(i); featureName.append(QString(" [%1]").arg(planarFigure->GetFeatureUnit(i))); std::vector<QString>::iterator itColumn = std::find(headerRow.begin(), headerRow.end(), featureName); featureQuantity = QString("%1").arg(planarFigure->GetQuantity(i)).replace(QChar('.'), ","); if (itColumn == headerRow.end()) { headerRow.push_back(featureName); newRow.push_back(featureQuantity); } else { newRow[std::distance(headerRow.begin(), itColumn)] = featureQuantity; } } rows.push_back(newRow); } QString clipboardText; for (std::vector<QString>::iterator it = headerRow.begin(); it != headerRow.end(); ++it) clipboardText.append(QString("%1 \t").arg(*it)); for (std::vector<std::vector<QString> >::iterator it = rows.begin(); it != rows.end(); ++it) { clipboardText.append("\n"); for (std::vector<QString>::iterator it2 = (*it).begin(); it2 != (*it).end(); ++it2) { clipboardText.append(QString("%1 \t").arg(*it2)); } } QApplication::clipboard()->setText(clipboardText, QClipboard::Clipboard); }
void QmitkMeasurement::CreateQtPartControl | ( | QWidget * | parent ) | [virtual] |
Initializes all variables. Builds up GUI.
Implements berry::QtViewPart.
Definition at line 105 of file QmitkMeasurement.cpp.
References ActionDrawAngleTriggered(), ActionDrawEllipseTriggered(), ActionDrawFourPointAngleTriggered(), ActionDrawLineTriggered(), ActionDrawPathTriggered(), ActionDrawPolygonTriggered(), ActionDrawRectangleTriggered(), CopyToClipboard(), QmitkFunctionality::GetDefaultDataStorage(), m_CopyToClipboard, m_DrawActionsGroup, m_DrawActionsToolBar, m_DrawAngle, m_DrawEllipse, m_DrawFourPointAngle, m_DrawLine, m_DrawPath, m_DrawPolygon, m_DrawRectangle, m_Layout, m_MeasurementInfoAnnotation, m_MeasurementInfoRenderer, m_SelectedImage, m_SelectedImageNode, m_SelectedPlanarFigures, m_SelectedPlanarFiguresText, mitk::DataStorageSelection::New(), NodeAddedInDataStorage(), NodeChanged(), NodeRemoved(), and PropertyChanged().
{ m_MeasurementInfoRenderer = vtkRenderer::New(); m_MeasurementInfoAnnotation = vtkCornerAnnotation::New(); vtkTextProperty *textProp = vtkTextProperty::New(); m_MeasurementInfoAnnotation->SetMaximumFontSize(12); textProp->SetColor(1.0, 1.0, 1.0); m_MeasurementInfoAnnotation->SetTextProperty(textProp); m_MeasurementInfoRenderer->AddActor(m_MeasurementInfoAnnotation); m_DrawActionsToolBar = new QToolBar; m_DrawActionsGroup = new QActionGroup(this); m_DrawActionsGroup->setExclusive(true); //# add actions QAction* currentAction = m_DrawActionsToolBar->addAction(QIcon( ":/measurement/line.png"), "Draw Line"); m_DrawLine = currentAction; m_DrawLine->setCheckable(true); m_DrawActionsToolBar->addAction(currentAction); m_DrawActionsGroup->addAction(currentAction); QObject::connect( currentAction, SIGNAL( triggered(bool) ) , this, SLOT( ActionDrawLineTriggered(bool) ) ); currentAction = m_DrawActionsToolBar->addAction(QIcon( ":/measurement/path.png"), "Draw Path"); m_DrawPath = currentAction; m_DrawPath->setCheckable(true); m_DrawActionsToolBar->addAction(currentAction); m_DrawActionsGroup->addAction(currentAction); QObject::connect( currentAction, SIGNAL( triggered(bool) ) , this, SLOT( ActionDrawPathTriggered(bool) ) ); currentAction = m_DrawActionsToolBar->addAction(QIcon( ":/measurement/angle.png"), "Draw Angle"); m_DrawAngle = currentAction; m_DrawAngle->setCheckable(true); m_DrawActionsToolBar->addAction(currentAction); m_DrawActionsGroup->addAction(currentAction); QObject::connect( currentAction, SIGNAL( triggered(bool) ) , this, SLOT( ActionDrawAngleTriggered(bool) ) ); currentAction = m_DrawActionsToolBar->addAction(QIcon( ":/measurement/four-point-angle.png"), "Draw Four Point Angle"); m_DrawFourPointAngle = currentAction; m_DrawFourPointAngle->setCheckable(true); m_DrawActionsToolBar->addAction(currentAction); m_DrawActionsGroup->addAction(currentAction); QObject::connect( currentAction, SIGNAL( triggered(bool) ) , this, SLOT( ActionDrawFourPointAngleTriggered(bool) ) ); currentAction = m_DrawActionsToolBar->addAction(QIcon( ":/measurement/circle.png"), "Draw Circle"); m_DrawEllipse = currentAction; m_DrawEllipse->setCheckable(true); m_DrawActionsToolBar->addAction(currentAction); m_DrawActionsGroup->addAction(currentAction); QObject::connect( currentAction, SIGNAL( triggered(bool) ) , this, SLOT( ActionDrawEllipseTriggered(bool) ) ); currentAction = m_DrawActionsToolBar->addAction(QIcon( ":/measurement/rectangle.png"), "Draw Rectangle"); m_DrawRectangle = currentAction; m_DrawRectangle->setCheckable(true); m_DrawActionsToolBar->addAction(currentAction); m_DrawActionsGroup->addAction(currentAction); QObject::connect( currentAction, SIGNAL( triggered(bool) ) , this, SLOT( ActionDrawRectangleTriggered(bool) ) ); currentAction = m_DrawActionsToolBar->addAction(QIcon( ":/measurement/polygon.png"), "Draw Polygon"); m_DrawPolygon = currentAction; m_DrawPolygon->setCheckable(true); m_DrawActionsToolBar->addAction(currentAction); m_DrawActionsGroup->addAction(currentAction); QObject::connect( currentAction, SIGNAL( triggered(bool) ) , this, SLOT( ActionDrawPolygonTriggered(bool) ) ); QLabel* selectedImageLabel = new QLabel("Selected Image: "); m_SelectedImage = new QLabel; m_SelectedImage->setStyleSheet("font-weight: bold;"); m_SelectedPlanarFiguresText = new QTextBrowser; m_CopyToClipboard = new QPushButton("Copy to Clipboard"); QObject::connect( m_CopyToClipboard, SIGNAL( clicked(bool) ) , this, SLOT( CopyToClipboard(bool) ) ); m_Layout = new QGridLayout; m_Layout->addWidget(selectedImageLabel, 0, 0, 1, 1); m_Layout->addWidget(m_SelectedImage, 0, 1, 1, 1); m_Layout->addWidget(m_DrawActionsToolBar, 1, 0, 1, 2); m_Layout->addWidget(m_SelectedPlanarFiguresText, 2, 0, 1, 2); m_Layout->addWidget(m_CopyToClipboard, 3, 0, 1, 2); m_Layout->setRowStretch(0, 1); m_Layout->setRowStretch(1, 1); m_Layout->setRowStretch(2, 10); m_Layout->setRowStretch(3, 1); m_Layout->setContentsMargins(2, 2, 2, 2); parent->setLayout(m_Layout); m_SelectedPlanarFigures = mitk::DataStorageSelection::New(this->GetDefaultDataStorage(), false); m_SelectedPlanarFigures->NodeChanged.AddListener( mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeChanged ) ); m_SelectedPlanarFigures->NodeRemoved.AddListener( mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeRemoved ) ); m_SelectedPlanarFigures->PropertyChanged.AddListener( mitk::MessageDelegate2<QmitkMeasurement , const mitk::DataNode*, const mitk::BaseProperty*>( this, &QmitkMeasurement::PropertyChanged ) ); m_SelectedImageNode = mitk::DataStorageSelection::New(this->GetDefaultDataStorage(), false); m_SelectedImageNode->PropertyChanged.AddListener( mitk::MessageDelegate2<QmitkMeasurement , const mitk::DataNode*, const mitk::BaseProperty*>( this, &QmitkMeasurement::PropertyChanged ) ); m_SelectedImageNode->NodeChanged.AddListener( mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeChanged ) ); m_SelectedImageNode->NodeRemoved.AddListener( mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeRemoved ) ); this->GetDefaultDataStorage()->AddNodeEvent.AddListener( mitk::MessageDelegate1<QmitkMeasurement , const mitk::DataNode*>( this, &QmitkMeasurement::NodeAddedInDataStorage ) ); }
void QmitkMeasurement::Deactivated | ( | ) | [virtual] |
Show widget planes and all renderwindows again. Remove all planar figure interactors from the global interaction.
Reimplemented from QmitkFunctionality.
Definition at line 756 of file QmitkMeasurement.cpp.
References QmitkFunctionality::GetActiveStdMultiWidget(), mitk::DataNode::GetData(), QmitkFunctionality::GetDefaultDataStorage(), mitk::GlobalInteraction::GetInstance(), mitk::DataNode::GetInteractor(), m_Visible, SetMeasurementInfoToRenderWindow(), and QmitkStdMultiWidget::SetWidgetPlanesVisibility().
{ this->GetActiveStdMultiWidget()->SetWidgetPlanesVisibility(true); //this->GetActiveStdMultiWidget()->GetRenderWindow1()->FullScreenMode(false); this->SetMeasurementInfoToRenderWindow("", 0); mitk::DataStorage::SetOfObjects::ConstPointer _NodeSet = this->GetDefaultDataStorage()->GetAll(); mitk::DataNode* node = 0; mitk::PlanarFigure* figure = 0; mitk::PlanarFigureInteractor::Pointer figureInteractor = 0; // finally add all nodes to the model for(mitk::DataStorage::SetOfObjects::ConstIterator it=_NodeSet->Begin(); it!=_NodeSet->End() ; it++) { node = const_cast<mitk::DataNode*>(it->Value().GetPointer()); figure = dynamic_cast<mitk::PlanarFigure*>(node->GetData()); if(figure) { figureInteractor = dynamic_cast<mitk::PlanarFigureInteractor*>(node->GetInteractor()); if(figureInteractor) mitk::GlobalInteraction::GetInstance()->RemoveInteractor(figureInteractor); } } m_Visible = false; }
void QmitkMeasurement::NodeAddedInDataStorage | ( | const mitk::DataNode * | node ) | [virtual] |
Definition at line 446 of file QmitkMeasurement.cpp.
References mitk::DataNode::GetData(), QmitkFunctionality::GetDefaultDataStorage(), mitk::GlobalInteraction::GetInstance(), mitk::DataNode::GetInteractor(), mitk::WeakPointer< TObjectType >::IsNotNull(), m_CurrentFigureNode, m_CurrentFigureNodeInitialized, m_Visible, and mitk::PlanarFigureInteractor::New().
Referenced by CreateQtPartControl(), and ~QmitkMeasurement().
{ if(!m_Visible) return; mitk::DataNode* nonConstNode = const_cast<mitk::DataNode*>(node); mitk::PlanarFigure* figure = dynamic_cast<mitk::PlanarFigure*>(nonConstNode->GetData()); if(figure) { mitk::PlanarFigureInteractor::Pointer figureInteractor = dynamic_cast<mitk::PlanarFigureInteractor*>(node->GetInteractor()); if(figureInteractor.IsNull()) figureInteractor = mitk::PlanarFigureInteractor::New("PlanarFigureInteractor", nonConstNode); // remove old interactor if present if( m_CurrentFigureNode.IsNotNull() && m_CurrentFigureNodeInitialized == false ) { mitk::Interactor::Pointer oldInteractor = m_CurrentFigureNode->GetInteractor(); if(oldInteractor.IsNotNull()) mitk::GlobalInteraction::GetInstance()->RemoveInteractor(oldInteractor); this->GetDefaultDataStorage()->Remove(m_CurrentFigureNode); } mitk::GlobalInteraction::GetInstance()->AddInteractor(figureInteractor); } }
void QmitkMeasurement::NodeChanged | ( | const mitk::DataNode * | node ) | [virtual] |
Invoked from a DataStorage selection
Reimplemented from QmitkFunctionality.
Definition at line 790 of file QmitkMeasurement.cpp.
References PlanarFigureSelectionChanged().
Referenced by CreateQtPartControl(), and ~QmitkMeasurement().
{ this->PlanarFigureSelectionChanged(); }
void QmitkMeasurement::NodeRemoved | ( | const mitk::DataNode * | node ) | [virtual] |
Called when a DataStorage Remove event was thrown. May be reimplemented by deriving classes.
Reimplemented from QmitkFunctionality.
Definition at line 795 of file QmitkMeasurement.cpp.
References PlanarFigureSelectionChanged().
Referenced by CreateQtPartControl(), and ~QmitkMeasurement().
{ this->PlanarFigureSelectionChanged(); }
void QmitkMeasurement::OnRenderWindowDelete | ( | QObject * | obj = 0 ) |
[slot] |
Called when the renderwindow gets deleted
Definition at line 905 of file QmitkMeasurement.cpp.
References m_LastRenderWindow.
Referenced by SetMeasurementInfoToRenderWindow().
{ if(obj == m_LastRenderWindow) m_LastRenderWindow = 0; }
void QmitkMeasurement::OnSelectionChanged | ( | std::vector< mitk::DataNode * > | nodes ) | [virtual] |
Invoked when the DataManager selection changed. If an image is in the selection it will be set as the selected one for measurement, If a planarfigure is in the selection its parent image will be set as the selected one for measurement. All selected planarfigures will be added to m_SelectedPlanarFigures. Then PlanarFigureSelectionChanged is called
Reimplemented from QmitkFunctionality.
Definition at line 235 of file QmitkMeasurement.cpp.
References mitk::DataNode::GetData(), QmitkFunctionality::GetDefaultDataStorage(), m_SelectedImageNode, m_SelectedPlanarFigures, and PlanarFigureSelectionChanged().
{ if ( nodes.empty() ) return; m_SelectedImageNode->RemoveAllNodes(); mitk::DataNode* _DataNode = 0; mitk::BaseData* _BaseData; mitk::PlanarFigure* _PlanarFigure; mitk::Image* selectedImage; m_SelectedPlanarFigures->RemoveAllNodes(); for (std::vector<mitk::DataNode*>::iterator it = nodes.begin(); it != nodes.end(); ++it) { _PlanarFigure = 0; _DataNode = *it; if (!_DataNode) continue; _BaseData = _DataNode->GetData(); if (!_BaseData) continue; // planar figure selected if ((_PlanarFigure = dynamic_cast<mitk::PlanarFigure *> (_BaseData))) { // add to the selected planar figures m_SelectedPlanarFigures->AddNode(_DataNode); // take parent image as the selected image mitk::DataStorage::SetOfObjects::ConstPointer parents = this->GetDefaultDataStorage()->GetSources(_DataNode); if (parents->size() > 0) { mitk::DataNode::Pointer parent = parents->front(); if ((selectedImage = dynamic_cast<mitk::Image *> (parent->GetData()))) { *m_SelectedImageNode = parent; } } } else if ((selectedImage = dynamic_cast<mitk::Image *> (_BaseData))) { *m_SelectedImageNode = _DataNode; /*mitk::RenderingManager::GetInstance()->InitializeViews( selectedImage->GetTimeSlicedGeometry(), mitk::RenderingManager::REQUEST_UPDATE_ALL, true );*/ } } // end for this->PlanarFigureSelectionChanged(); }
void QmitkMeasurement::PlanarFigureInitialized | ( | ) | [virtual] |
Definition at line 475 of file QmitkMeasurement.cpp.
References mitk::WeakPointer< TObjectType >::IsNull(), m_CurrentFigureNode, m_CurrentFigureNodeInitialized, m_DrawAngle, m_DrawEllipse, m_DrawFourPointAngle, m_DrawLine, m_DrawPath, m_DrawPolygon, m_DrawRectangle, and PlanarFigureSelectionChanged().
Referenced by AddFigureToDataStorage().
{ if(m_CurrentFigureNode.IsNull()) return; m_CurrentFigureNodeInitialized = true; this->PlanarFigureSelectionChanged(); m_DrawLine->setChecked(false); m_DrawPath->setChecked(false); m_DrawAngle->setChecked(false); m_DrawFourPointAngle->setChecked(false); m_DrawEllipse->setChecked(false); m_DrawRectangle->setChecked(false); m_DrawPolygon->setChecked(false); }
void QmitkMeasurement::PlanarFigureSelected | ( | itk::Object * | object, |
const itk::EventObject & | event | ||
) | [virtual] |
Definition at line 494 of file QmitkMeasurement.cpp.
References QmitkFunctionality::GetDataManagerSelection(), QmitkFunctionality::GetDefaultDataStorage(), m_CurrentFigureNode, m_SelectedPlanarFigures, mitk::NodePredicateData::New(), PlanarFigureSelectionChanged(), and mitk::DataNode::SetSelected().
Referenced by AddFigureToDataStorage().
{ // Mark to-be-edited PlanarFigure as selected mitk::PlanarFigure* figure = dynamic_cast< mitk::PlanarFigure* >( object ); if ( figure != NULL ) { // Get node corresponding to PlanarFigure mitk::DataNode* figureNode = this->GetDefaultDataStorage()->GetNode( mitk::NodePredicateData::New( figure ) ); // Select this node (and deselect all others) std::vector< mitk::DataNode* > selectedNodes = this->GetDataManagerSelection(); for ( unsigned int i = 0; i < selectedNodes.size(); i++ ) { selectedNodes[i]->SetSelected( false ); } selectedNodes = m_SelectedPlanarFigures->GetNodes(); for ( unsigned int i = 0; i < selectedNodes.size(); i++ ) { selectedNodes[i]->SetSelected( false ); } figureNode->SetSelected( true ); m_CurrentFigureNode = figureNode; *m_SelectedPlanarFigures = figureNode; // Re-initialize after selecting new PlanarFigure this->PlanarFigureSelectionChanged(); } }
void QmitkMeasurement::PlanarFigureSelectionChanged | ( | ) | [protected] |
Prints all features of the selected PlanarFigures into the TextBrowser. For the last figure in the selection list:
Definition at line 292 of file QmitkMeasurement.cpp.
References mitk::PlanarFourPointAngle::FEATURE_ID_ANGLE, mitk::PlanarAngle::FEATURE_ID_ANGLE, QmitkFunctionality::GetActiveStdMultiWidget(), mitk::Image::GetDimension(), mitk::PlanarFigure::GetFeatureName(), mitk::PlanarFigure::GetFeatureUnit(), mitk::PlanarFigure::GetGeometry2D(), mitk::RenderingManager::GetInstance(), mitk::PlanarFigure::GetNumberOfFeatures(), mitk::Geometry3D::GetOrigin(), mitk::PlanarFigure::GetQuantity(), mitk::RenderWindowBase::GetRenderer(), QmitkStdMultiWidget::GetRenderWindow1(), QmitkStdMultiWidget::GetRenderWindow2(), QmitkStdMultiWidget::GetRenderWindow3(), QmitkStdMultiWidget::GetRenderWindow4(), mitk::RenderWindowBase::GetSliceNavigationController(), QmitkFunctionality::IsActivated(), mitk::PlanarFigure::IsFeatureActive(), m_DrawActionsToolBar, m_SelectedImage, m_SelectedImageNode, m_SelectedPlanarFigures, m_SelectedPlanarFiguresText, mitk::SliceNavigationController::SelectSliceByPoint(), and SetMeasurementInfoToRenderWindow().
Referenced by NodeChanged(), NodeRemoved(), OnSelectionChanged(), PlanarFigureInitialized(), PlanarFigureSelected(), and PropertyChanged().
{ if ( !this->IsActivated() ) return; if (m_SelectedImageNode->GetNode().IsNotNull()) { mitk::Image* selectedImage = dynamic_cast<mitk::Image*>(m_SelectedImageNode->GetNode()->GetData()); if(selectedImage && selectedImage->GetDimension() > 3) { m_SelectedImageNode->RemoveAllNodes(); m_SelectedImage->setText( "4D images are not supported." ); m_DrawActionsToolBar->setEnabled(false); } else { m_SelectedImage->setText(QString::fromStdString( m_SelectedImageNode->GetNode()->GetName())); m_DrawActionsToolBar->setEnabled(true); } } else { m_SelectedImage->setText( "None. Please select an image."); m_DrawActionsToolBar->setEnabled(false); } if (m_SelectedPlanarFigures->GetSize() == 0){ this->SetMeasurementInfoToRenderWindow("", this->GetActiveStdMultiWidget()->GetRenderWindow1()); this->SetMeasurementInfoToRenderWindow("", this->GetActiveStdMultiWidget()->GetRenderWindow2()); this->SetMeasurementInfoToRenderWindow("", this->GetActiveStdMultiWidget()->GetRenderWindow3()); this->SetMeasurementInfoToRenderWindow("", this->GetActiveStdMultiWidget()->GetRenderWindow4()); } unsigned int j = 1; mitk::PlanarFigure* _PlanarFigure = 0; mitk::PlanarAngle* planarAngle = 0; mitk::PlanarFourPointAngle* planarFourPointAngle = 0; mitk::DataNode::Pointer node = 0; m_SelectedPlanarFiguresText->clear(); QString infoText; QString plainInfoText; std::vector<mitk::DataNode*> nodes = m_SelectedPlanarFigures->GetNodes(); for (std::vector<mitk::DataNode*>::iterator it = nodes.begin(); it != nodes.end(); ++it, ++j) { plainInfoText.clear(); node = *it; if(j>1) infoText.append("<br />"); infoText.append(QString("<b>%1</b><hr />").arg(QString::fromStdString( node->GetName()))); plainInfoText.append(QString("%1").arg(QString::fromStdString( node->GetName()))); _PlanarFigure = dynamic_cast<mitk::PlanarFigure*> (node->GetData()); planarAngle = dynamic_cast<mitk::PlanarAngle*> (_PlanarFigure); if(!planarAngle) { planarFourPointAngle = dynamic_cast<mitk::PlanarFourPointAngle*> (_PlanarFigure); } if(!_PlanarFigure) continue; double featureQuantity = 0.0; for (unsigned int i = 0; i < _PlanarFigure->GetNumberOfFeatures(); ++i) { if ( !_PlanarFigure->IsFeatureActive( i ) ) continue; featureQuantity = _PlanarFigure->GetQuantity(i); if ((planarAngle && i == planarAngle->FEATURE_ID_ANGLE) || (planarFourPointAngle && i == planarFourPointAngle->FEATURE_ID_ANGLE)) featureQuantity = featureQuantity * 180 / vnl_math::pi; infoText.append( QString("<i>%1</i>: %2 %3") .arg(QString( _PlanarFigure->GetFeatureName(i))) .arg(featureQuantity, 0, 'f', 2) .arg(QString(_PlanarFigure->GetFeatureUnit(i)))); plainInfoText.append( QString("\n%1: %2 %3") .arg(QString(_PlanarFigure->GetFeatureName(i))) .arg( featureQuantity, 0, 'f', 2) .arg(QString( _PlanarFigure->GetFeatureUnit(i)))); if(i+1 != _PlanarFigure->GetNumberOfFeatures()) infoText.append("<br />"); } if (j != nodes.size()) infoText.append("<br />"); } m_SelectedPlanarFiguresText->setHtml(infoText); // for the last selected planar figure ... if (_PlanarFigure) { const mitk::PlaneGeometry * _PlaneGeometry = dynamic_cast<const mitk::PlaneGeometry*> (_PlanarFigure->GetGeometry2D()); QmitkRenderWindow* selectedRenderWindow = 0; QmitkRenderWindow* RenderWindow1 = this->GetActiveStdMultiWidget()->GetRenderWindow1(); QmitkRenderWindow* RenderWindow2 = this->GetActiveStdMultiWidget()->GetRenderWindow2(); QmitkRenderWindow* RenderWindow3 = this->GetActiveStdMultiWidget()->GetRenderWindow3(); QmitkRenderWindow* RenderWindow4 = this->GetActiveStdMultiWidget()->GetRenderWindow4(); bool PlanarFigureInitializedWindow = false; // find initialized renderwindow if (node->GetBoolProperty("PlanarFigureInitializedWindow", PlanarFigureInitializedWindow, RenderWindow1->GetRenderer())) selectedRenderWindow = RenderWindow1; if (!selectedRenderWindow && node->GetBoolProperty( "PlanarFigureInitializedWindow", PlanarFigureInitializedWindow, RenderWindow2->GetRenderer())) selectedRenderWindow = RenderWindow2; if (!selectedRenderWindow && node->GetBoolProperty( "PlanarFigureInitializedWindow", PlanarFigureInitializedWindow, RenderWindow3->GetRenderer())) selectedRenderWindow = RenderWindow3; if (!selectedRenderWindow && node->GetBoolProperty( "PlanarFigureInitializedWindow", PlanarFigureInitializedWindow, RenderWindow4->GetRenderer())) selectedRenderWindow = RenderWindow4; // make node visible if (selectedRenderWindow) { mitk::Point3D centerP = _PlaneGeometry->GetOrigin(); //selectedRenderWindow->GetSliceNavigationController()->ReorientSlices( //centerP, _PlaneGeometry->GetNormal()); selectedRenderWindow->GetSliceNavigationController()->SelectSliceByPoint( centerP); // now paint infos also on renderwindow this->SetMeasurementInfoToRenderWindow(plainInfoText, selectedRenderWindow); } } // no last planarfigure else this->SetMeasurementInfoToRenderWindow("", 0); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkMeasurement::PropertyChanged | ( | const mitk::DataNode * | node, |
const mitk::BaseProperty * | prop | ||
) | [virtual] |
Definition at line 785 of file QmitkMeasurement.cpp.
References PlanarFigureSelectionChanged().
Referenced by CreateQtPartControl(), and ~QmitkMeasurement().
{ this->PlanarFigureSelectionChanged(); }
void QmitkMeasurement::SetMeasurementInfoToRenderWindow | ( | const QString & | text, |
QmitkRenderWindow * | _RenderWindow | ||
) | [protected] |
Draws a string on the bottom left side of the render window
Definition at line 866 of file QmitkMeasurement.cpp.
References mitk::VtkLayerController::GetInstance(), m_LastRenderWindow, m_MeasurementInfoAnnotation, m_MeasurementInfoRenderer, m_SelectedPlanarFigures, and OnRenderWindowDelete().
Referenced by Deactivated(), and PlanarFigureSelectionChanged().
{ if(m_LastRenderWindow != _RenderWindow) { if(m_LastRenderWindow) { QObject::disconnect( m_LastRenderWindow, SIGNAL( destroyed(QObject*) ) , this, SLOT( OnRenderWindowDelete(QObject*) ) ); } m_LastRenderWindow = _RenderWindow; if(m_LastRenderWindow) { QObject::connect( m_LastRenderWindow, SIGNAL( destroyed(QObject*) ) , this, SLOT( OnRenderWindowDelete(QObject*) ) ); } } if(m_LastRenderWindow) { if (!text.isEmpty() && m_SelectedPlanarFigures->GetNode()->IsSelected()) { m_MeasurementInfoAnnotation->SetText(1, text.toLatin1().data()); mitk::VtkLayerController::GetInstance(m_LastRenderWindow->GetRenderWindow())->InsertForegroundRenderer( m_MeasurementInfoRenderer, true); } else { if (mitk::VtkLayerController::GetInstance( m_LastRenderWindow->GetRenderWindow()) ->IsRendererInserted( m_MeasurementInfoRenderer)) mitk::VtkLayerController::GetInstance(m_LastRenderWindow->GetRenderWindow())->RemoveRenderer( m_MeasurementInfoRenderer); } } }
friend struct berry::SelectionChangedAdapter< QmitkMeasurement > [friend] |
berry::SelectionChangedAdapter<QmitkPropertyListView> must be a friend to call
Definition at line 168 of file QmitkMeasurement.h.
unsigned int QmitkMeasurement::m_AngleCounter [protected] |
Definition at line 181 of file QmitkMeasurement.h.
Referenced by ActionDrawAngleTriggered().
QPushButton* QmitkMeasurement::m_CopyToClipboard [protected] |
Definition at line 162 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl().
Definition at line 175 of file QmitkMeasurement.h.
Referenced by AddFigureToDataStorage(), NodeAddedInDataStorage(), PlanarFigureInitialized(), and PlanarFigureSelected().
bool QmitkMeasurement::m_CurrentFigureNodeInitialized [protected] |
Definition at line 189 of file QmitkMeasurement.h.
Referenced by AddFigureToDataStorage(), NodeAddedInDataStorage(), and PlanarFigureInitialized().
QActionGroup* QmitkMeasurement::m_DrawActionsGroup [protected] |
Definition at line 160 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl().
QToolBar* QmitkMeasurement::m_DrawActionsToolBar [protected] |
Definition at line 159 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and PlanarFigureSelectionChanged().
QAction* QmitkMeasurement::m_DrawAngle [protected] |
Definition at line 154 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and PlanarFigureInitialized().
QAction* QmitkMeasurement::m_DrawEllipse [protected] |
Definition at line 156 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and PlanarFigureInitialized().
QAction* QmitkMeasurement::m_DrawFourPointAngle [protected] |
Definition at line 155 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and PlanarFigureInitialized().
QAction* QmitkMeasurement::m_DrawLine [protected] |
Definition at line 152 of file QmitkMeasurement.h.
Referenced by AssertDrawingIsPossible(), CreateQtPartControl(), and PlanarFigureInitialized().
QAction* QmitkMeasurement::m_DrawPath [protected] |
Definition at line 153 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and PlanarFigureInitialized().
QAction* QmitkMeasurement::m_DrawPolygon [protected] |
Definition at line 158 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and PlanarFigureInitialized().
QAction* QmitkMeasurement::m_DrawRectangle [protected] |
Definition at line 157 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and PlanarFigureInitialized().
unsigned int QmitkMeasurement::m_EllipseCounter [protected] |
Definition at line 183 of file QmitkMeasurement.h.
Referenced by ActionDrawEllipseTriggered().
unsigned int QmitkMeasurement::m_EndPlacementObserverTag [protected] |
Definition at line 186 of file QmitkMeasurement.h.
Referenced by AddFigureToDataStorage().
unsigned int QmitkMeasurement::m_FourPointAngleCounter [protected] |
Definition at line 182 of file QmitkMeasurement.h.
Referenced by ActionDrawFourPointAngleTriggered().
QmitkRenderWindow* QmitkMeasurement::m_LastRenderWindow [protected] |
Saves the last renderwindow any info data was inserted
Definition at line 194 of file QmitkMeasurement.h.
Referenced by OnRenderWindowDelete(), and SetMeasurementInfoToRenderWindow().
QGridLayout* QmitkMeasurement::m_Layout [protected] |
Definition at line 150 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl().
unsigned int QmitkMeasurement::m_LineCounter [protected] |
Counter variables to give a newly created Figure a unique name.
Definition at line 179 of file QmitkMeasurement.h.
Referenced by ActionDrawLineTriggered().
vtkCornerAnnotation* QmitkMeasurement::m_MeasurementInfoAnnotation [protected] |
Definition at line 164 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and SetMeasurementInfoToRenderWindow().
vtkRenderer* QmitkMeasurement::m_MeasurementInfoRenderer [protected] |
Definition at line 163 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), SetMeasurementInfoToRenderWindow(), and ~QmitkMeasurement().
unsigned int QmitkMeasurement::m_PathCounter [protected] |
Definition at line 180 of file QmitkMeasurement.h.
Referenced by ActionDrawPathTriggered().
unsigned int QmitkMeasurement::m_PolygonCounter [protected] |
Definition at line 185 of file QmitkMeasurement.h.
Referenced by ActionDrawPolygonTriggered().
unsigned int QmitkMeasurement::m_RectangleCounter [protected] |
Definition at line 184 of file QmitkMeasurement.h.
Referenced by ActionDrawRectangleTriggered().
QLabel* QmitkMeasurement::m_SelectedImage [protected] |
Definition at line 151 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and PlanarFigureSelectionChanged().
Selected image on which measurements will be performed
Definition at line 174 of file QmitkMeasurement.h.
Referenced by AssertDrawingIsPossible(), CreateQtPartControl(), OnSelectionChanged(), PlanarFigureSelectionChanged(), and ~QmitkMeasurement().
Definition at line 171 of file QmitkMeasurement.h.
Referenced by AddFigureToDataStorage(), CopyToClipboard(), CreateQtPartControl(), OnSelectionChanged(), PlanarFigureSelected(), PlanarFigureSelectionChanged(), SetMeasurementInfoToRenderWindow(), and ~QmitkMeasurement().
QTextBrowser* QmitkMeasurement::m_SelectedPlanarFiguresText [protected] |
Definition at line 161 of file QmitkMeasurement.h.
Referenced by CreateQtPartControl(), and PlanarFigureSelectionChanged().
Definition at line 169 of file QmitkMeasurement.h.
unsigned int QmitkMeasurement::m_SelectObserverTag [protected] |
Definition at line 187 of file QmitkMeasurement.h.
Referenced by AddFigureToDataStorage().
bool QmitkMeasurement::m_Visible [protected] |
Saves if this view is visible
Reimplemented from QmitkFunctionality.
Definition at line 188 of file QmitkMeasurement.h.
Referenced by Activated(), Deactivated(), and NodeAddedInDataStorage().