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.";
104 CX_LOG_DEBUG() <<
"OpenIGTLinkTrackingSystemService::configure(): Using OpenIGTLink3 tracking";
109 for(std::vector<ConfigurationFileParser::ToolStructure>::iterator it = toolList.begin(); it != toolList.end(); ++it)
114 QString devicename = internalTool->mUid;
116 if(mTools.count(devicename))
117 CX_LOG_WARNING() <<
"Tool configuration already contain tool: " << devicename <<
". Existing tool will be overwritten";
118 mTools[devicename] = newTool;
119 if(newTool->isReference())
120 mReference = newTool;
123 CX_LOG_WARNING() <<
"OpenIGTLinkTrackingSystemService::configure() Got no reference tool";
139 void OpenIGTLinkTrackingSystemService::serverIsConnected()
145 void OpenIGTLinkTrackingSystemService::serverIsDisconnected()
151 void OpenIGTLinkTrackingSystemService::receiveTransform(QString devicename,
Transform3D transform,
double timestamp)
157 tool->toolTransformAndTimestampSlot(transform, timestamp);
161 void OpenIGTLinkTrackingSystemService::receiveCalibration(QString devicename,
Transform3D calibration)
163 CX_LOG_DEBUG() <<
"receiveCalibration for: " << devicename;
166 tool->setCalibration_sMt(calibration);
169 void OpenIGTLinkTrackingSystemService::receiveProbedefinition(QString devicename,
ProbeDefinitionPtr definition)
181 probe->setProbeDefinition(*(definition.get()));
191 std::map<QString, OpenIGTLinkToolPtr>::iterator it;
192 for (it = mTools.begin(); it != mTools.end(); ++it)
195 if (tool->doIdCorrespondToTool(devicename))
cxResource_EXPORT ProfilePtr profile()
DoubleBoundingBox3D transform(const Transform3D &m, const DoubleBoundingBox3D &bb)
QString getTrackingSystemImplementation()
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
QString mConfigurationFilePath
path to the configuration file
virtual void setConfigurationFile(QString configurationFile)
virtual void setState(const Tool::State val)
asynchronously request a state. Wait for signal stateChanged()
void setInternalState(const Tool::State val)
double getSoundSpeedCompensationFactor() const
boost::shared_ptr< class NetworkHandler > NetworkHandlerPtr
virtual TrackerConfigurationPtr getConfiguration()
virtual void deconfigure()
deconfigures the software
boost::shared_ptr< Probe > ProbePtr
boost::shared_ptr< class TrackerConfiguration > TrackerConfigurationPtr
#define TRACKING_SYSTEM_IMPLEMENTATION_IGTLINK
QString mLoggingFolder
path to where logging should be saved
void internalSetState(Tool::State val)
void transform(QString devicename, Transform3D transform, double timestamp)
std::vector< ToolPtr > toVector(std::map< QString, OpenIGTLinkToolPtr > map)
void probedefinition(QString devicename, ProbeDefinitionPtr definition)
Class for reading the files defining a CustusX tool.
virtual std::vector< ToolPtr > getTools()
Definition of characteristics for an Ultrasound Probe Sector.
virtual bool isConfigured() const
boost::shared_ptr< OpenIGTLinkTool > OpenIGTLinkToolPtr
virtual void configure()
sets up the software
virtual ~OpenIGTLinkTrackingSystemService()
void internalSetState(Tool::State val)
boost::shared_ptr< class ProbeDefinition > ProbeDefinitionPtr
std::vector< ConfigurationFileParser::ToolStructure > getToolListWithMetaInformation()
virtual ToolPtr getReference()
reference tool used by entire tracking service - NOTE: system fails if several TrackingSystemServices...
OpenIGTLinkTrackingSystemService(NetworkHandlerPtr networkHandler)
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr
virtual QString getUid() const