33 #ifndef CXIGSTKTRACKER_H_
34 #define CXIGSTKTRACKER_H_
36 #include "org_custusx_core_tracking_Export.h"
41 #include <boost/shared_ptr.hpp>
42 #include <igstkLogger.h>
43 #include <igstkTracker.h>
44 #include <igstkPolarisTracker.h>
45 #include <igstkAuroraTracker.h>
46 #include <itkStdStreamLogOutput.h>
48 #include "igstkSerialCommunicationForWindows.h"
50 #include "igstkSerialCommunicationForPosix.h"
64 typedef std::map<QString, ToolPtr>
ToolMap;
77 class org_custusx_core_tracking_EXPORT
IgstkTracker:
public QObject
81 static QStringList getSupportedTrackingSystems();
127 mLoggingFolderName(
"")
134 TRACKING_SYSTEM getType()
const;
135 QString getName()
const;
136 QString getUid()
const;
137 TrackerType* getPointer()
const;
140 void attachTools(std::map<QString, IgstkToolPtr> tools);
141 void detachTools(std::map<QString, IgstkToolPtr> tools);
142 void startTracking();
145 bool isValid()
const;
147 bool isInitialized()
const;
148 bool isTracking()
const;
151 void initialized(
bool);
159 void trackerTransformCallback(
const itk::EventObject &eventVar);
162 void internalOpen(
bool value);
163 void internalInitialized(
bool value);
164 void internalTracking(
bool value);
165 void internalError(
bool value);
boost::weak_ptr< IgstkTool > IgstkToolWeakPtr
bool mTracking
whether or not the tracker is tracking
boost::shared_ptr< IgstkTracker > TrackerPtr
InternalStructure mInternalStructure
the trackers type
igstk::SerialCommunicationForPosix CommunicationType
PolarisTrackerType::Pointer mTempPolarisTracker
pointer to a temp polaris tracker
bool mValid
whether this tracker is constructed correctly or not
boost::shared_ptr< IgstkTool > IgstkToolPtr
Class representing the navigation system.
ObserverType::Pointer mTrackerObserver
observer listening for igstk events
std::map< QString, ToolPtr > ToolMap
boost::weak_ptr< IgstkTracker > TrackerWeakPtr
bool mOpen
whether or not the tracker is open
QString mLoggingFolderName
path to where log should be saved
TrackerType * mTracker
pointer to the base class of the internal igstk tracker
QString mUid
the trackers unique id
igstk::Tracker TrackerType
itk::ReceptorMemberCommand< IgstkTracker > ObserverType
CommunicationType::Pointer mCommunication
pointer to the serial communication used to communicate with the NDI trackers
igstk::Logger::Pointer mTrackerLogger
logging the internal igstk behavior
bool mInitialized
whether or not the tracker is initialized
igstk::AuroraTracker AuroraTrackerType
TRACKING_SYSTEM mType
the trackers type
AuroraTrackerType::Pointer mTempAuroraTracker
pointer to a temp aurora tracker
itk::StdStreamLogOutput::Pointer mTrackerLogOutput
output to write the log to
QString mName
the trackers name
InternalStructure()
set default values for the internal structure
igstk::PolarisTracker PolarisTrackerType