MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
QmitkVirtualTrackerWidget.cpp
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12
14
16
17const std::string QmitkVirtualTrackerWidget::VIEW_ID = "org.mitk.views.VirtualTrackerWidget";
18
21 , m_Controls(nullptr)
22{
23}
24
26{
28 CreateQtPartControl(this);
29 CreateConnections();
30}
31
36
37void 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
47void QmitkVirtualTrackerWidget::CreateConnections()
48{
49 if (m_Controls)
50 {
51 connect((QObject*)(m_Controls->m_EnableGaussianNoise), SIGNAL(clicked()), this, SLOT(EnableGaussianNoise()));
52 }
53}
54
55mitk::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}
Abstract class to configure a tracking device. Inherited widgets should be registered in the Microser...
PERSISTENCE_GET_SERVICE_METHOD_MACRO void InitializeSuperclassWidget()
Implementation of a configuration widget for a Vitrual Tracking Device.
void Initialize() override
Subclass must implement this method to return a pointer to a copy of the object. Please don't forget ...
static const std::string VIEW_ID
mitk::TrackingDevice::Pointer GetTrackingDevice() override
Ui::QmitkVirtualTrackerWidget * m_Controls
QmitkVirtualTrackerWidget * Clone(QWidget *parent) const override
Subclass must implement this method to return a pointer to a copy of the object. Please don't forget ...
QmitkVirtualTrackerWidget(QWidget *parent=nullptr, Qt::WindowFlags f={})