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
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;
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;
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);