33 #ifndef CXIGSTKTOOL_H_
34 #define CXIGSTKTOOL_H_
36 #include "org_custusx_core_tracking_Export.h"
42 #include <boost/shared_ptr.hpp>
43 #include <igstkPolarisTrackerTool.h>
44 #include <igstkAuroraTrackerTool.h>
45 #include <igstkTransform.h>
46 #include <igstkLogger.h>
47 #include <itkStdStreamLogOutput.h>
72 class org_custusx_core_tracking_EXPORT
IgstkTool:
public QObject
84 void saveCalibrationToFile();
110 mIsReference(false), mIsPointer(false), mIsProbe(false),
113 mTrackerType(
tsNONE), mSROMFilename(
""),
114 mPortNumber(UINT_MAX), mChannelNumber(UINT_MAX),
115 mReferencePoints(), mWireless(true),
116 m5DOF(true), mCalibrationFilename(
""),
117 mGraphicsFileName(
""), mPictureFileName(
""),
118 mTransformSaveFileName(
""),
119 mLoggingFolderName(
""), mInstrumentId(
""),
120 mInstrumentScannerId(
"")
125 IgstkTool(InternalStructure internalStructure);
128 InternalStructure getInternalStructure();
131 igstk::TrackerTool::Pointer getPointer()
const;
132 TRACKING_SYSTEM getTrackerType();
136 return mInternalStructure.mIsReference;
139 bool isValid()
const;
140 bool isInitialized()
const;
141 bool isTracked()
const;
142 bool isVisible()
const;
146 void setCalibrationTransform(igstk::Transform calibration);
149 void printInternalStructure();
152 void attachedToTracker(
bool);
154 void toolVisible(
bool);
155 void toolTransformAndTimestamp(
Transform3D matrix,
double timestamp);
159 void toolTransformCallback(
const itk::EventObject &event);
160 igstk::TrackerTool::Pointer buildInternalTool();
161 void determineToolsCalibration();
162 void internalAttachedToTracker(
bool value);
163 void internalTracked(
bool value);
164 void internalVisible(
bool value);
167 InternalStructure mInternalStructure;
168 igstk::TrackerTool::Pointer mTool;
171 itk::ReceptorMemberCommand<IgstkTool>::Pointer mToolObserver;
172 igstk::Logger::Pointer mLogger;
173 itk::StdStreamLogOutput::Pointer mLogOutput;
177 volatile bool mValid;
178 volatile bool mVisible;
179 volatile bool mAttachedToTracker;
180 volatile bool mTracked;
boost::weak_ptr< IgstkTool > IgstkToolWeakPtr
boost::shared_ptr< IgstkTracker > TrackerPtr
boost::shared_ptr< IgstkTool > IgstkToolPtr
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::weak_ptr< IgstkTracker > TrackerWeakPtr