12 #ifndef CXIGSTKTOOL_H_ 13 #define CXIGSTKTOOL_H_ 15 #include "org_custusx_core_tracking_system_igstk_Export.h" 21 #include <boost/shared_ptr.hpp> 22 #include <igstkPolarisTrackerTool.h> 23 #include <igstkAuroraTrackerTool.h> 24 #include <igstkTransform.h> 25 #include <igstkLogger.h> 26 #include <itkStdStreamLogOutput.h> 30 #include "igstkNDITracker.h" 52 class org_custusx_core_tracking_system_igstk_EXPORT
IgstkTool:
public QObject
58 static Transform3D toTransform3D(igstk::Transform transform);
66 igstk::TrackerTool::Pointer getPointer()
const;
67 TRACKING_SYSTEM getTrackerType();
71 return mInternalStructure->mIsReference;
75 bool isInitialized()
const;
76 bool isTracked()
const;
77 bool isVisible()
const;
79 void setReference(IgstkToolPtr);
81 void setCalibrationTransform(
Transform3D calibration);
84 void printInternalStructure();
87 void attachedToTracker(
bool);
89 void toolVisible(
bool);
93 void toolTransformCallback(
const itk::EventObject &event);
94 igstk::TrackerTool::Pointer buildInternalTool();
95 void determineToolsCalibration();
96 void internalAttachedToTracker(
bool value);
97 void internalTracked(
bool value);
98 void internalVisible(
bool value);
100 igstk::NDITracker::TrackingSampleInfo getSampleInfo();
101 bool validReferenceForResult(igstk::CoordinateSystemTransformToResult result);
104 igstk::TrackerTool::Pointer mTool;
105 IgstkToolWeakPtr mReferenceTool;
107 itk::ReceptorMemberCommand<IgstkTool>::Pointer mToolObserver;
108 igstk::Logger::Pointer mLogger;
109 itk::StdStreamLogOutput::Pointer mLogOutput;
111 double mLatestEmittedTimestamp;
114 volatile bool mValid;
115 volatile bool mVisible;
116 volatile bool mAttachedToTracker;
117 volatile bool mTracked;
119 Transform3D igstk2Transform3D(
const igstk::Transform &input)
const;
120 void processReceivedTransformResult(igstk::CoordinateSystemTransformToResult result);
DoubleBoundingBox3D transform(const Transform3D &m, const DoubleBoundingBox3D &bb)
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< class IgstkTool > IgstkToolPtr
boost::weak_ptr< IgstkTracker > TrackerWeakPtr
boost::weak_ptr< IgstkTool > IgstkToolWeakPtr
boost::shared_ptr< IgstkTracker > TrackerPtr
Namespace for all CustusX production code.