53 std::cout <<
"Generating TrackingDevice ..." << std::endl;
55 mitk::VirtualTrackingDevice::Pointer tracker = mitk::VirtualTrackingDevice::New();
56 tracker->AddTool(
"tool1");
57 tracker->AddTool(
"tool2");
72 std::cout <<
"Generating Source ..." << std::endl;
74 mitk::TrackingDeviceSource::Pointer source = mitk::TrackingDeviceSource::New();
75 source->SetTrackingDevice(tracker);
79 source->StartTracking();
93 std::cout <<
"Generating DisplacementFilter ..." << std::endl;
95 mitk::NavigationDataDisplacementFilter::Pointer displacer = mitk::NavigationDataDisplacementFilter::New();
96 mitk::Vector3D offset;
97 mitk::FillVector3D(offset, 10.0, 100.0, 1.0);
98 displacer->SetOffset(offset);
102 displacer->ConnectTo(source.GetPointer());
122 std::cout <<
"Start Recording ..." << std::endl;
125 std::stringstream filename;
128 filename << itksys::SystemTools::GetCurrentWorkingDirectory() <<
"/Test Output-0.xml";
130 std::cout <<
"Record to file: " << filename.str() <<
" ..." << std::endl;
132 mitk::NavigationDataRecorder::Pointer recorder = mitk::NavigationDataRecorder::New();
135 recorder->ConnectTo(displacer);
137 recorder->StartRecording();
141 for (
unsigned int x = 0; x < 100; x++)
145 itksys::SystemTools::Delay(100);
147 recorder->StopRecording();
153 mitk::IOUtil::Save(recorder->GetNavigationDataSet(), filename.str());
168 std::cout <<
"Start playing from file: " << filename.str() <<
" ..." << std::endl;
170 mitk::NavigationDataSequentialPlayer::Pointer player = mitk::NavigationDataSequentialPlayer::New();
172 mitk::NavigationDataSet::Pointer naviDataSet =
dynamic_cast<mitk::NavigationDataSet*
> (mitk::IOUtil::Load(filename.str())[0].GetPointer());
173 player->SetNavigationDataSet(naviDataSet);
179 mitk::NavigationData::Pointer nd = player->GetOutput();
180 mitk::NavigationData::Pointer nd2 = player->GetOutput(1);
181 for (
unsigned int x = 0; x < 100; x++)
186 player->GoToNextSnapshot();
188 MITK_INFO <<
"Time Step " << x;
189 MITK_INFO <<
"Tool 1:" << nd->GetPosition();
190 MITK_INFO <<
"Tool 2:" << nd2->GetPosition();
192 itksys::SystemTools::Delay(100);
196 itksys::SystemTools::Delay(2000);
197 std::cout <<
"finished" << std::endl;