17#include <mitkSurface.h>
19#include <mitkRenderingManager.h>
23#include <qfiledialog.h>
24#include <qmessagebox.h>
25#include <mitkIOUtil.h>
27#include <QDialogButtonBox>
46 this->InitializeUIToolLandmarkLists();
50 m_Controls->m_CalibrationFileName->setText(
"none");
51 m_Controls->m_Surface_Use_Sphere->setChecked(
true);
53 m_Controls->m_CalibrationLandmarksList->EnableEditButton(
false);
54 m_Controls->m_RegistrationLandmarksList->EnableEditButton(
false);
56 RefreshTrackingDeviceCollection();
63 m_Controls->m_CalibrationLandmarksList->SetPointSetNode(
nullptr);
64 m_Controls->m_RegistrationLandmarksList->SetPointSetNode(
nullptr);
73 m_Controls =
new Ui::QmitkNavigationToolCreationWidgetControls;
111 m_Controls->m_SurfaceChooser->SetAutoSelectNewItems(
true);
112 m_Controls->m_SurfaceChooser->SetPredicate(mitk::NodePredicateDataType::New(
"Surface"));
130 m_ToolToBeEdited->GetDataNode()->SetProperty(
"color", mitk::ColorProperty::New(0, 0, 1));
133 mitk::RenderingManager::GetInstance()->InitializeViewsByBoundingObjects(
m_DataStorage);
145void QmitkNavigationToolCreationWidget::SetGuiElements()
148 m_Controls->m_TrackingDeviceTypeChooser->blockSignals(
true);
149 m_Controls->m_ToolNameEdit->blockSignals(
true);
150 m_Controls->m_ToolTypeChooser->blockSignals(
true);
151 m_Controls->m_IdentifierEdit->blockSignals(
true);
152 m_Controls->m_SerialNumberEdit->blockSignals(
true);
158 int index =
m_Controls->m_TrackingDeviceTypeChooser->findText(QString::fromStdString(
m_ToolToBeEdited->GetTrackingDeviceType()));
161 m_Controls->m_TrackingDeviceTypeChooser->setCurrentIndex(index);
172 m_Controls->m_ToolTypeChooser->setCurrentIndex(0);
break;
174 m_Controls->m_ToolTypeChooser->setCurrentIndex(1);
break;
176 m_Controls->m_ToolTypeChooser->setCurrentIndex(2);
break;
178 m_Controls->m_ToolTypeChooser->setCurrentIndex(3);
break;
184 QString _label =
"(" +
187 QString::number(
m_ToolToBeEdited->GetToolTipPosition()[2],
'f', 1) +
"), quat: [" +
188 QString::number(
m_ToolToBeEdited->GetToolAxisOrientation()[0],
'f', 2) +
", " +
189 QString::number(
m_ToolToBeEdited->GetToolAxisOrientation()[1],
'f', 2) +
", " +
190 QString::number(
m_ToolToBeEdited->GetToolAxisOrientation()[2],
'f', 2) +
", " +
191 QString::number(
m_ToolToBeEdited->GetToolAxisOrientation()[3],
'f', 2) +
"]";
195 m_Controls->m_TrackingDeviceTypeChooser->blockSignals(
false);
196 m_Controls->m_ToolNameEdit->blockSignals(
false);
197 m_Controls->m_ToolTypeChooser->blockSignals(
false);
198 m_Controls->m_IdentifierEdit->blockSignals(
false);
199 m_Controls->m_SerialNumberEdit->blockSignals(
false);
212 mitk::RenderingManager::GetInstance()->InitializeViewsByBoundingObjects(
m_DataStorage);
219 mitk::Surface::Pointer surface;
222 surface = mitk::IOUtil::Load<mitk::Surface>(filename.c_str());
224 catch (mitk::Exception &e)
226 MITK_ERROR <<
"Exception occured: " << e.what();
233 mitk::RenderingManager::GetInstance()->InitializeViewsByBoundingObjects(
m_DataStorage);
240 m_Controls->m_CalibrationFileName->setText(fileName);
250 mitk::PointSet::Pointer toolCalLandmarks, toolRegLandmarks;
251 GetUIToolLandmarksLists(toolCalLandmarks, toolRegLandmarks);
279 if (
m_Controls->m_Surface_Use_Other->isChecked())
299 int index =
m_Controls->m_TrackingDeviceTypeChooser->findText(QString::fromStdString(type));
303 m_Controls->m_TrackingDeviceTypeChooser->setCurrentIndex(index);
306 m_Controls->m_TrackingDeviceTypeChooser->setEditable(changeable);
315void QmitkNavigationToolCreationWidget::MessageBox(std::string s)
318 msgBox.setText(s.c_str());
337 mitk::NavigationData::Pointer tempND = mitk::NavigationData::New(toolTip);
341 QString _label =
"(" +
344 QString::number(
m_ToolToBeEdited->GetToolTipPosition()[2],
'f', 1) +
"), quat: [" +
345 QString::number(
m_ToolToBeEdited->GetToolAxisOrientation()[0],
'f', 2) +
", " +
346 QString::number(
m_ToolToBeEdited->GetToolAxisOrientation()[1],
'f', 2) +
", " +
347 QString::number(
m_ToolToBeEdited->GetToolAxisOrientation()[2],
'f', 2) +
", " +
348 QString::number(
m_ToolToBeEdited->GetToolAxisOrientation()[3],
'f', 2) +
"]";
353void QmitkNavigationToolCreationWidget::FillUIToolLandmarkLists(mitk::PointSet::Pointer calLandmarks, mitk::PointSet::Pointer regLandmarks)
361void QmitkNavigationToolCreationWidget::GetUIToolLandmarksLists(mitk::PointSet::Pointer& calLandmarks, mitk::PointSet::Pointer& regLandmarks)
367void QmitkNavigationToolCreationWidget::InitializeUIToolLandmarkLists()
371 FillUIToolLandmarkLists(mitk::PointSet::New(), mitk::PointSet::New());
374void QmitkNavigationToolCreationWidget::RefreshTrackingDeviceCollection()
376 us::ModuleContext* context = us::GetModuleContext();
380 MITK_WARN <<
"No tracking device service found!";
388 if (
m_Controls->m_TrackingDeviceTypeChooser->findText(QString::fromStdString(name)) == -1)
390 m_Controls->m_TrackingDeviceTypeChooser->addItem(QString::fromStdString(name));
static void SetLastFileLoadPathByFileName(const QString &str)
static const QString GetLastFileLoadPath()
This class is a collection for information of all Tracking Device Types (derived from abstract Tracki...
std::vector< std::string > GetTrackingDeviceTypeNames()
std::string TrackingDeviceType