61 mitk::TrackingDevice::Pointer trackingDevice,
62 mitk::NavigationToolStorage::Pointer navigationTools,
63 std::string* errorMessage,
64 std::vector<int>* toolCorrespondencesInToolStorage)
66 mitk::TrackingDeviceSource::Pointer returnValue = mitk::TrackingDeviceSource::New();
67 mitk::NDITrackingDevice::Pointer thisDevice =
dynamic_cast<mitk::NDITrackingDevice*
>(trackingDevice.GetPointer());
68 *toolCorrespondencesInToolStorage = std::vector<int>();
70 for (
unsigned int i = 0; i < navigationTools->GetToolCount(); i++)
72 mitk::NavigationTool::Pointer thisNavigationTool = navigationTools->GetTool(i);
73 toolCorrespondencesInToolStorage->push_back(i);
74 bool toolAddSuccess = thisDevice->AddTool(thisNavigationTool->GetToolName().c_str(), thisNavigationTool->GetCalibrationFile().c_str());
78 errorMessage->append(
"Can't add tool, is the SROM-file valid?");
81 thisDevice->GetTool(i)->SetToolTipPosition(thisNavigationTool->GetToolTipPosition(), thisNavigationTool->GetToolAxisOrientation());
83 returnValue->SetTrackingDevice(thisDevice);