Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkVirtualTrackerWidget.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
14 
16 
17 const std::string QmitkVirtualTrackerWidget::VIEW_ID = "org.mitk.views.VirtualTrackerWidget";
18 
19 QmitkVirtualTrackerWidget::QmitkVirtualTrackerWidget(QWidget* parent, Qt::WindowFlags f)
21  , m_Controls(nullptr)
22 {
23 }
24 
26 {
28  CreateQtPartControl(this);
29  CreateConnections();
30 }
31 
33 {
34  delete m_Controls;
35 }
36 
37 void QmitkVirtualTrackerWidget::CreateQtPartControl(QWidget *parent)
38 {
39  if (!m_Controls)
40  {
41  // create GUI widgets
42  m_Controls = new Ui::QmitkVirtualTrackerWidget;
43  m_Controls->setupUi(parent);
44  }
45 }
46 
47 void QmitkVirtualTrackerWidget::CreateConnections()
48 {
49  if (m_Controls)
50  {
51  connect((QObject*)(m_Controls->m_EnableGaussianNoise), SIGNAL(clicked()), this, SLOT(EnableGaussianNoise()));
52  }
53 }
54 
55 mitk::TrackingDevice::Pointer QmitkVirtualTrackerWidget::GetTrackingDevice()
56 {
57  // Create the Virtual Tracking Device
58  mitk::VirtualTrackingDevice::Pointer returnValue = mitk::VirtualTrackingDevice::New();
59  if (m_Controls->m_EnableGaussianNoise->isChecked())
60  {
61  returnValue->EnableGaussianNoise();
62  returnValue->SetParamsForGaussianNoise(m_Controls->m_MeanDistributionParam->value(), m_Controls->m_DeviationDistributionParam->value());
63  }
64  return static_cast<mitk::TrackingDevice::Pointer>(returnValue); //static_cast necessary for compiling with Linux
65 }
66 
68 {
69  if (m_Controls->m_EnableGaussianNoise->isChecked())
70  {
71  m_Controls->m_MeanDistributionParam->setEnabled(true);
72  m_Controls->m_DeviationDistributionParam->setEnabled(true);
73  }
74  else
75  {
76  m_Controls->m_MeanDistributionParam->setEnabled(false);
77  m_Controls->m_DeviationDistributionParam->setEnabled(false);
78  }
79 }
80 
82 {
83  QmitkVirtualTrackerWidget* clonedWidget = new QmitkVirtualTrackerWidget(parent);
84  clonedWidget->Initialize();
85 
86  clonedWidget->m_Controls->m_EnableGaussianNoise->setEnabled(m_Controls->m_EnableGaussianNoise->isEnabled());
87  clonedWidget->m_Controls->m_MeanDistributionParam->setValue(m_Controls->m_MeanDistributionParam->value());
88  clonedWidget->m_Controls->m_DeviationDistributionParam->setValue(m_Controls->m_DeviationDistributionParam->value());
89  return clonedWidget;
90 }
QmitkVirtualTrackerWidget * Clone(QWidget *parent) const override
Subclass must implement this method to return a pointer to a copy of the object. Please don&#39;t forget ...
QmitkVirtualTrackerWidget(QWidget *parent=nullptr, Qt::WindowFlags f=nullptr)
static const std::string VIEW_ID
PERSISTENCE_GET_SERVICE_METHOD_MACRO void InitializeSuperclassWidget()
Ui::QmitkVirtualTrackerWidget * m_Controls
Abstract class to configure a tracking device. Inherited widgets should be registered in the Microser...
void Initialize() override
Subclass must implement this method to return a pointer to a copy of the object. Please don&#39;t forget ...
mitk::TrackingDevice::Pointer GetTrackingDevice() override
Implementation of a configuration widget for a Vitrual Tracking Device.