33 #ifndef CXIGSTKTOOL_H_
34 #define CXIGSTKTOOL_H_
36 #include "org_custusx_core_tracking_system_igstk_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>
51 #include "igstkNDITracker.h"
73 class org_custusx_core_tracking_system_igstk_EXPORT
IgstkTool:
public QObject
79 static Transform3D toTransform3D(igstk::Transform transform);
87 igstk::TrackerTool::Pointer getPointer()
const;
88 TRACKING_SYSTEM getTrackerType();
92 return mInternalStructure.mIsReference;
96 bool isInitialized()
const;
97 bool isTracked()
const;
98 bool isVisible()
const;
102 void setCalibrationTransform(
Transform3D calibration);
105 void printInternalStructure();
108 void attachedToTracker(
bool);
110 void toolVisible(
bool);
114 void toolTransformCallback(
const itk::EventObject &event);
115 igstk::TrackerTool::Pointer buildInternalTool();
116 void determineToolsCalibration();
117 void internalAttachedToTracker(
bool value);
118 void internalTracked(
bool value);
119 void internalVisible(
bool value);
121 igstk::NDITracker::TrackingSampleInfo getSampleInfo();
122 bool validReferenceForResult(igstk::CoordinateSystemTransformToResult result);
125 igstk::TrackerTool::Pointer mTool;
128 itk::ReceptorMemberCommand<IgstkTool>::Pointer mToolObserver;
129 igstk::Logger::Pointer mLogger;
130 itk::StdStreamLogOutput::Pointer mLogOutput;
132 double mLatestEmittedTimestamp;
135 volatile bool mValid;
136 volatile bool mVisible;
137 volatile bool mAttachedToTracker;
138 volatile bool mTracked;
140 Transform3D igstk2Transform3D(
const igstk::Transform &input)
const;
141 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