CustusX
2023.01.05-dev+develop.0da12
An IGT application
|
Interface to a tool, i.e. a pointer, US probe or similar. More...
#include <cxTool.h>
Public Types | |
enum | State { tsNONE =0, tsCONFIGURED, tsINITIALIZED, tsTRACKING } |
enum | Type { TOOL_NONE, TOOL_REFERENCE, TOOL_MANUAL, TOOL_POINTER, TOOL_US_PROBE, TOOL_MICROSCOPE } |
Signals | |
void | toolTransformAndTimestamp (Transform3D matrix, double timestamp) |
void | toolVisible (bool visible) |
void | tooltipOffset (double offset) |
void | toolProbeSector () |
void | tps (int) |
Public Member Functions | |
Tool (const QString &uid="", const QString &name="") | |
virtual | ~Tool () |
virtual ToolPositionMetadata | getMetadata () const =0 |
virtual const std::map< double, ToolPositionMetadata > & | getMetadataHistory ()=0 |
virtual std::set< Type > | getTypes () const =0 |
virtual bool | hasType (Type type) const |
virtual vtkPolyDataPtr | getGraphicsPolyData () const =0 |
get geometric 3D description More... | |
virtual TimedTransformMapPtr | getPositionHistory ()=0 |
get historical positions More... | |
virtual bool | getVisible () const =0 |
virtual bool | isInitialized () const |
virtual QString | getUid () const =0 |
virtual QString | getName () const =0 |
virtual bool | isCalibrated () const =0 |
a tool may not be calibrated, then no tracking is allowed More... | |
virtual Transform3D | getCalibration_sMt () const =0 |
get the calibration transform from tool space to sensor space (where the spheres or similar live) More... | |
virtual void | setCalibration_sMt (Transform3D calibration) |
requests to use the calibration and replaces the tools calibration file More... | |
virtual ProbePtr | getProbe () const |
additional information if the tool represents an US Probe. Extends getProbeSector() More... | |
virtual double | getTimestamp () const =0 |
latest valid timestamp for the position matrix. 0 means indeterminate (for f.ex. manual tools) More... | |
virtual void | printSelf (std::ostream &os, Indent indent) |
dump internal debug data More... | |
virtual double | getTooltipOffset () const |
get a virtual offset extending from the tool tip. More... | |
virtual void | setTooltipOffset (double val) |
set a virtual offset extending from the tool tip. More... | |
virtual std::map< QString, Vector3D > | getReferencePoints () const |
Get the optional reference points from this tool. More... | |
virtual bool | hasReferencePointWithId (QString id) |
virtual TimedTransformMap | getSessionHistory (double startTime, double stopTime)=0 |
virtual Transform3D | get_prMt () const =0 |
virtual void | resetTrackingPositionFilter (TrackingPositionFilterPtr filter)=0 |
virtual void | set_prMt (const Transform3D &prMt, double timestamp=-1)=0 |
if available for this type, set pos, ts<0 means use current time More... | |
virtual void | setVisible (bool vis)=0 |
if available for this type, set visibility More... | |
virtual ToolPtr | getBaseTool ()=0 |
virtual bool | isNull ()=0 |
Static Public Member Functions | |
static vtkPolyDataPtr | createDefaultPolyDataCone () |
static ToolPtr | getNullObject () |
Protected Attributes | |
QString | mUid |
QString | mName |
Interface to a tool, i.e. a pointer, US probe or similar.
The tool position is defined in its own space (as given by the tool's transform) as follows:
enum cx::Tool::State |
enum cx::Tool::Type |
Enumerates the general type of tool.
Enumerator | |
---|---|
TOOL_NONE | |
TOOL_REFERENCE |
Reference tool. |
TOOL_MANUAL |
Representation of a mouse/keyboard-controlled virtual tool. |
TOOL_POINTER |
Navigation pointer. Pointing functionality such as tool offset. |
TOOL_US_PROBE |
Ultrasond probe. The tool has a Probe subinterface with a sector and a video stream. |
TOOL_MICROSCOPE |
A tool following the focus point of a microscope. |
cx::Tool::Tool | ( | const QString & | uid = "" , |
const QString & | name = "" |
||
) |
Definition at line 37 of file cxTool.cpp.
|
static |
Definition at line 20 of file cxTool.cpp.
|
pure virtual |
Implemented in cx::BronchoscopyTool, cx::ToolProxy, cx::ToolNull, cx::PlaybackTool, and cx::ToolImpl.
|
pure virtual |
Implemented in cx::BronchoscopyTool, cx::ToolProxy, cx::ToolNull, and cx::ToolImpl.
|
pure virtual |
get the calibration transform from tool space to sensor space (where the spheres or similar live)
Implemented in cx::DummyTool, cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::ManualTool, cx::PlaybackTool, cx::ToolProxy, cx::ManualToolAdapter, and cx::ToolNull.
|
pure virtual |
get geometric 3D description
Implemented in cx::BronchoscopyTool, cx::ToolImpl, cx::ManualTool, cx::ManualToolAdapter, cx::PlaybackTool, cx::ToolProxy, and cx::ToolNull.
|
pure virtual |
Implemented in cx::ToolImpl, cx::ToolProxy, and cx::ToolNull.
|
pure virtual |
Implemented in cx::ToolImpl, cx::ToolProxy, and cx::ToolNull.
|
pure virtual |
Implemented in cx::DummyTool, cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::ManualTool, cx::PlaybackTool, cx::ToolProxy, and cx::ToolNull.
|
static |
Definition at line 44 of file cxTool.cpp.
|
pure virtual |
get historical positions
Implemented in cx::BronchoscopyTool, cx::PlaybackTool, cx::ToolImpl, cx::ToolProxy, and cx::ToolNull.
|
inlinevirtual |
additional information if the tool represents an US Probe. Extends getProbeSector()
Reimplemented in cx::DummyTool, cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::PlaybackTool, cx::ToolProxy, cx::ManualToolAdapter, and cx::ToolNull.
|
inlinevirtual |
Get the optional reference points from this tool.
Reimplemented in cx::DummyTool, cx::BronchoscopyTool, cx::ToolImpl, cx::ToolProxy, cx::ManualTool, cx::PlaybackTool, cx::ToolNull, and cx::ManualToolAdapter.
|
pure virtual |
Implemented in cx::BronchoscopyTool, cx::PlaybackTool, cx::ToolProxy, cx::ToolNull, and cx::ToolImpl.
|
pure virtual |
latest valid timestamp for the position matrix. 0 means indeterminate (for f.ex. manual tools)
Implemented in cx::DummyTool, cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::ToolProxy, cx::ManualTool, cx::PlaybackTool, and cx::ToolNull.
|
inlinevirtual |
get a virtual offset extending from the tool tip.
Reimplemented in cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::ToolProxy, cx::ManualToolAdapter, cx::PlaybackTool, cx::ToolNull, and cx::ToolImpl.
|
pure virtual |
Implemented in cx::DummyTool, cx::ToolImpl, cx::BronchoscopyTool, cx::ManualTool, cx::ManualToolAdapter, cx::PlaybackTool, cx::ToolProxy, and cx::ToolNull.
|
pure virtual |
Implemented in cx::DummyTool, cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::ManualTool, cx::PlaybackTool, cx::ToolProxy, and cx::ToolNull.
|
pure virtual |
Implemented in cx::DummyTool, cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::ManualTool, cx::PlaybackTool, cx::ToolProxy, and cx::ToolNull.
|
inlinevirtual |
Reimplemented in cx::BronchoscopyTool, cx::PlaybackTool, cx::ToolProxy, and cx::ToolImpl.
|
inlinevirtual |
|
pure virtual |
a tool may not be calibrated, then no tracking is allowed
Implemented in cx::DummyTool, cx::ToolUsingIGSTK, cx::OpenIGTLinkTool, cx::BronchoscopyTool, cx::ManualTool, cx::ToolProxy, cx::PlaybackTool, cx::ManualToolAdapter, and cx::ToolNull.
|
inlinevirtual |
Reimplemented in cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::PlaybackTool, cx::ToolProxy, and cx::ToolNull.
|
pure virtual |
Implemented in cx::ToolProxy, cx::ToolNull, and cx::ToolImpl.
|
inlinevirtual |
dump internal debug data
Reimplemented in cx::ToolProxy, and cx::ToolNull.
|
pure virtual |
Implemented in cx::ToolProxy, cx::ToolNull, and cx::ToolImpl.
|
pure virtual |
if available for this type, set pos, ts<0 means use current time
Implemented in cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::ToolProxy, cx::PlaybackTool, cx::ToolNull, cx::ToolImpl, and cx::ManualTool.
|
inlinevirtual |
requests to use the calibration and replaces the tools calibration file
Reimplemented in cx::ToolUsingIGSTK, cx::OpenIGTLinkTool, cx::ToolProxy, and cx::ToolNull.
|
inlinevirtual |
set a virtual offset extending from the tool tip.
Reimplemented in cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::ToolProxy, cx::ManualToolAdapter, cx::PlaybackTool, cx::ToolNull, and cx::ToolImpl.
|
pure virtual |
if available for this type, set visibility
Implemented in cx::DummyTool, cx::ToolUsingIGSTK, cx::BronchoscopyTool, cx::OpenIGTLinkTool, cx::ToolProxy, cx::PlaybackTool, cx::ToolNull, and cx::ManualTool.
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |