26 mConnection(networkHandler),
27 mTrackingService(trackingService),
28 mStartedTrackingAndOpenIGTLinkFromHere(false)
42 this->stopTrackingAndOpenIGTLinkClientIfStartedFromThisObject();
47 return "OpenIGTLink 3 streamer";
57 std::vector<PropertyPtr> retval;
58 retval.push_back(this->getIPOption(root));
59 retval.push_back(this->getStreamPortOption(root));
60 retval.push_back(this->trackAndStream(root));
67 this->startTracking(root);
73 this->stopTrackingAndOpenIGTLinkClientIfStartedFromThisObject();
76 void OpenIGTLinkStreamerService::stopTrackingAndOpenIGTLinkClientIfStartedFromThisObject()
78 if(mStartedTrackingAndOpenIGTLinkFromHere)
80 mConnection->disconnectFromServer();
83 if(trackingSystemService)
86 mStartedTrackingAndOpenIGTLinkFromHere =
false;
90 void OpenIGTLinkStreamerService::startTracking(QDomElement root)
92 if(this->trackAndStream(root)->getValue())
94 mStartedTrackingAndOpenIGTLinkFromHere =
true;
95 this->configureTracking(root);
101 mConnection->requestConnectToServer(this->getIPOption(root)->getValue().toStdString(),
102 int(this->getStreamPortOption(root)->getValue()));
106 void OpenIGTLinkStreamerService::configureTracking(QDomElement root)
110 if(trackingSystemService)
112 QFileInfo fileInfo(
profile()->getToolConfigFilePath());
113 trackingSystemService->setConfigurationFile(fileInfo.filePath());
120 std::vector<TrackingSystemServicePtr> trackingSystems = mTrackingService->getTrackingSystems();
121 for (
unsigned i = 0; i < trackingSystems.size(); ++i)
124 if(trackingSystemService)
125 return trackingSystemService;
135 "Combined functionality: \n"
136 "Run both tracking and streaming over OpenIGTLink",
138 retval->setGroup(
"Connection");
146 QString defaultValue =
"127.0.0.1";
149 retval->setGroup(
"Connection");
157 18944, DoubleRange(1024, 49151, 1), 0, root);
159 retval->setAdvanced(
true);
160 retval->setGroup(
"Connection");