2 #include "boost/bind.hpp"
12 return boost::shared_ptr<ToolProxy>(
new ToolProxy(base, pluginContext));
15 ToolProxy::ToolProxy(
ToolPtr base, ctkPluginContext *pluginContext)
18 mPluginContext = pluginContext;
19 this->initServiceListener();
22 void ToolProxy::initServiceListener()
24 mServiceListener.reset(
new ServiceTrackerListener<TrackingService>(
26 boost::bind(&ToolProxy::onServiceAdded,
this, _1),
27 boost::function<
void (TrackingService*)>(),
28 boost::bind(&ToolProxy::onServiceRemoved,
this, _1)
30 mServiceListener->open();
33 void ToolProxy::onServiceAdded(TrackingService* service)
35 mTrackingService.reset(service, null_deleter());
39 this->checkToolValidity();
42 void ToolProxy::onServiceRemoved(TrackingService *service)
49 void ToolProxy::onStateChanged()
51 this->checkToolValidity();
54 void ToolProxy::checkToolValidity()
56 if (mTool != mTrackingService->getTool(mTool->getUid()))
58 std::cout <<
"disabling tool reference for " << mTool->getUid() <<
", [currently disabled]" << std::endl;
67 return mTool->getTypes();
72 return mTool->getGraphicsPolyData();
77 return mTool->getPositionHistory();
82 return mTool->getVisible();
87 return mTool->isInitialized();
92 return mTool->getUid();
98 return mTool->getName();
103 return mTool->isCalibrated();
107 return mTool->getCalibration_sMt();
112 mTool->setCalibration_sMt(calibration);
117 return mTool->getProbe();
122 return mTool->getTimestamp();
127 mTool->printSelf(os, indent);
132 return mTool->getTooltipOffset();
137 mTool->setTooltipOffset(val);
142 return mTool->getReferencePoints();
147 return mTool->hasReferencePointWithId(
id);
152 return mTool->getSessionHistory(startTime, stopTime);
157 return mTool->get_prMt();
162 mTool->resetTrackingPositionFilter(filter);
167 mTool->set_prMt(prMt, timestamp);
172 mTool->setVisible(vis);
178 return mTool->isNull();
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
static TrackingServicePtr getNullObject()
vtkSmartPointer< class vtkPolyData > vtkPolyDataPtr
boost::shared_ptr< Probe > ProbePtr
boost::shared_ptr< TimedTransformMap > TimedTransformMapPtr
Formatting class for debug printing of the ssc library.
boost::shared_ptr< class TrackingPositionFilter > TrackingPositionFilterPtr
std::map< double, Transform3D > TimedTransformMap
boost::shared_ptr< class Tool > ToolPtr