24 std::vector<ToolPtr>
toVector(std::map<QString, OpenIGTLinkToolPtr> map)
26 std::vector<ToolPtr> retval;
27 std::map<QString, OpenIGTLinkToolPtr>::iterator it = map.begin();
28 for(; it!= map.end(); ++it)
30 retval.push_back(it->second);
36 mNetworkHandler(networkHandler)
38 if(mNetworkHandler == NULL)
59 return "org.custusx.core.openigtlink3";
99 CX_LOG_DEBUG() <<
"OpenIGTLinkTrackingSystemService::configure(): Not using OpenIGTLink tracking.";
105 CX_LOG_DEBUG() <<
"OpenIGTLinkTrackingSystemService::configure(): Using OpenIGTLink3 tracking";
110 for(std::vector<ConfigurationFileParser::ToolStructure>::iterator it = toolList.begin(); it != toolList.end(); ++it)
115 QString devicename = internalTool->mUid;
117 if(mTools.count(devicename))
118 CX_LOG_WARNING() <<
"Tool configuration already contain tool: " << devicename <<
". Existing tool will be overwritten";
119 mTools[devicename] = newTool;
120 if(newTool->isReference())
121 mReference = newTool;
124 CX_LOG_WARNING() <<
"OpenIGTLinkTrackingSystemService::configure() Got no reference tool";
142 void OpenIGTLinkTrackingSystemService::serverIsConnected()
148 void OpenIGTLinkTrackingSystemService::serverIsDisconnected()
160 if(tool->applyReference())
164 if(mReference && !tool->isReference())
167 prMs = tsMpr.inv() * tsMs;
170 tool->toolTransformAndTimestampSlot(prMs, timestampMS);
173 tool->toolTransformAndTimestampSlot(
transform, timestampMS);
183 CX_LOG_WARNING() <<
"No tool with openigtlinktransformid: " << devicename;
184 CX_LOG_WARNING() <<
"Add the id to an openigtlinktransformid tag in one of the used tool files to fix this";
191 void OpenIGTLinkTrackingSystemService::receiveCalibration(QString devicename,
Transform3D calibration)
193 CX_LOG_DEBUG() <<
"receiveCalibration for: " << devicename;
196 tool->setCalibration_sMt(calibration);
199 void OpenIGTLinkTrackingSystemService::receiveProbedefinition(QString devicename,
ProbeDefinitionPtr definition)
207 ProbeDefinition old_def = probe->getProbeDefinition();
208 definition->setUid(old_def.getUid());
209 definition->applySoundSpeedCompensationFactor(old_def.getSoundSpeedCompensationFactor());
211 probe->setProbeDefinition(*(definition.get()));
221 std::map<QString, OpenIGTLinkToolPtr>::iterator it;
222 for (it = mTools.begin(); it != mTools.end(); ++it)
225 if (tool->doIdCorrespondToTool(devicename))
236 mNetworkHandler->clearTimestampSynchronization();