37 #include "cxResourceExport.h"
42 #include <boost/shared_ptr.hpp>
54 typedef boost::shared_ptr<class Tool>
ToolPtr;
55 typedef std::map<QString, ToolPtr>
ToolMap;
67 QString toString()
const;
82 class cxResource_EXPORT
Tool:
public QObject
88 Tool(
const QString& uid=
"",
const QString& name =
"");
113 virtual const std::map<double, ToolPositionMetadata>& getMetadataHistory() = 0;
115 virtual std::set<Type> getTypes()
const = 0;
121 return this->getTypes().count(type);
126 virtual bool getVisible()
const = 0;
129 virtual QString getUid()
const = 0;
130 virtual QString getName()
const = 0;
132 virtual bool isCalibrated()
const = 0;
133 virtual Transform3D getCalibration_sMt()
const = 0;
137 virtual double getTimestamp()
const = 0;
138 virtual void printSelf(std::ostream &os,
Indent indent) { Q_UNUSED(os); Q_UNUSED(indent); }
145 virtual TimedTransformMap getSessionHistory(
double startTime,
double stopTime) = 0;
150 virtual void set_prMt(
const Transform3D& prMt,
double timestamp=-1) = 0;
151 virtual void setVisible(
bool vis) = 0;
153 virtual bool isNull() = 0;
154 static ToolPtr getNullObject();
161 void toolTransformAndTimestamp(
Transform3D matrix,
double timestamp);
162 void toolVisible(
bool visible);
163 void tooltipOffset(
double offset);
164 void toolProbeSector();
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< Probe > ProbePtr
vtkSmartPointer< class vtkPolyData > vtkPolyDataPtr
boost::shared_ptr< TimedTransformMap > TimedTransformMapPtr
std::map< QString, ToolPtr > ToolMap
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