IGSTK
Public Member Functions | Protected Types | Protected Member Functions | List of all members
igstk::Ascension3DGTracker Class Reference

Provides support for the Ascension 3D Guidance trackers. More...

#include <igstkAscension3DGTracker.h>

Inheritance diagram for igstk::Ascension3DGTracker:
Inheritance graph
[legend]
Collaboration diagram for igstk::Ascension3DGTracker:
Collaboration graph
[legend]

Public Member Functions

 igstkStandardClassTraitsMacro (Ascension3DGTracker, Tracker) virtual unsigned int GetNumberOfTools()
 Macro with standard traits declarations. More...
 
void RequestSensorAttached (int sensorID)
 Request whether the particular sensor (0 based), is attached. More...
 
void RequestTransmitterAttached ()
 Request whether a transmitter, is attached. More...
 
void RequestSensorSaturated (int sensorID)
 Request whether the particular sensor (0 based), is too close to the magnetic transmitter and is saturated. More...
 
void RequestSensorInMotionBox (int sensorID)
 Request whether the particular sensor (0 based), is outside of the tracking motion box. More...
 
- Public Member Functions inherited from igstk::Tracker
void RequestOpen (void)
 The "RequestOpen" method attempts to open communication with the tracking device. More...
 
void RequestClose (void)
 The "RequestClose" method closes communication with the device. More...
 
void RequestReset (void)
 The "RequestReset" tracker method should be used to bring the tracker to some defined default state. More...
 
void RequestStartTracking (void)
 The "RequestStartTracking" method readies the tracker for tracking the tools connected to the tracker. More...
 
void RequestStopTracking (void)
 The "RequestStopTracking" stops tracker from tracking the tools. More...
 
void RequestSetFrequency (double frequencyInHz)
 The "RequestSetFrequency" method defines the frequency at which the Transform information will be queried from the Tracker device. More...
 
void RequestSetReferenceTool (TrackerToolType *trackerTool)
 Set a reference tracker tool. More...
 
virtual void SetThreadingEnabled (bool _arg)
 SetThreadingEnabled(bool) : set m_ThreadingEnabled value. More...
 
virtual bool GetThreadingEnabled ()
 GetThreadingEnabled(bool) : get m_ThreadingEnabled value. More...
 
- Public Member Functions inherited from igstk::Object
virtual const char * GetNameOfClass () const
 
void SetLogger (LoggerType *logger)
 Connect the Logger for this class. More...
 
void RemoveObserver (unsigned long tag) const
 

Protected Types

typedef Tracker::ResultType ResultType
 typedef for internal boolean return type More...
 
- Protected Types inherited from igstk::Tracker
enum  ResultType { FAILURE =0, SUCCESS }
 
typedef Transform::TimePeriodType TimePeriodType
 typedef for times used by the tracker More...
 
typedef Transform TransformType
 typedefs from Transform class More...
 
typedef std::map< std::string,
TrackerToolType * > 
TrackerToolsContainerType
 typedefs from TrackerTool class More...
 

Protected Member Functions

 Ascension3DGTracker (void)
 protected constructor More...
 
virtual ~Ascension3DGTracker (void)
 
virtual ResultType InternalOpen (void)
 Open communication with the tracking device. More...
 
virtual ResultType InternalClose (void)
 Close communication with the tracking device. More...
 
virtual ResultType InternalStartTracking (void)
 Put the tracking device into tracking mode. More...
 
virtual ResultType InternalStopTracking (void)
 Take the tracking device out of tracking mode. More...
 
virtual ResultType InternalUpdateStatus (void)
 Update the status and the transforms for all TrackerTools. More...
 
virtual ResultType InternalThreadedUpdateStatus (void)
 Update the status and the transforms. More...
 
virtual ResultType VerifyTrackerToolInformation (const TrackerToolType *trackerTool)
 Verify tracker tool information. More...
 
virtual ResultType ValidateSpecifiedFrequency (double frequencyInHz)
 Verify the specified tracker measurement frequency. More...
 
virtual ResultType AddTrackerToolToInternalDataContainers (const TrackerToolType *trackerTool)
 Add tracker tool entry from internal containers. More...
 
virtual ResultType RemoveTrackerToolFromInternalDataContainers (const TrackerToolType *trackerTool)
 Remove tracker tool from internal containers. More...
 
virtual ResultType InternalReset (void)
 Reset the tracking device to put it back to its original state. More...
 
virtual void PrintSelf (std::ostream &os,::itk::Indent indent) const
 Print object information. More...
 
- Protected Member Functions inherited from igstk::Tracker
 Tracker (void)
 
virtual ~Tracker (void)
 
virtual TimePeriodType GetValidityTime ()
 Get the validity time. More...
 
virtual void PrintSelf (std::ostream &os, itk::Indent indent) const
 Print the object information in a stream. More...
 
const TrackerToolsContainerTypeGetTrackerToolContainer () const
 Access method for the tracker tool container. More...
 
void ReportTrackingToolNotAvailable (TrackerToolType *trackerTool) const
 Report to tracker tool that it is not available for tracking. More...
 
void ReportTrackingToolVisible (TrackerToolType *trackerTool) const
 Report to tracker tool that it is visible. More...
 
void SetTrackerToolRawTransform (TrackerToolType *trackerTool, const TransformType transform)
 Set tracker tool raw transform. More...
 
void SetTrackerToolTransformUpdate (TrackerToolType *trackerTool, bool flag) const
 Turn on/off update flag of the tracker tool. More...
 
void ExitTrackingStateProcessing (void)
 Depending on the tracker type, the tracking thread should be terminated or left untouched when we stop tracking. More...
 
void ExitTrackingWithoutTerminatingTrackingThread ()
 Exit tracking without terminating tracking thread. More...
 
void ExitTrackingTerminatingTrackingThread ()
 Exit tracking after terminating tracking thread. More...
 
- Protected Member Functions inherited from igstk::Object
LoggerTypeGetLogger () const
 
 Object (void)
 Constructor is protected in order to enforce the use of the New() operator. More...
 
virtual ~Object (void)
 
void RegisterObservedObject (const ::igstk::Object *object, unsigned long tag)
 Register observed objects in an internal array so that they can be disconnected upon destruction. More...
 
void RemoveFromObservedObjects ()
 Remove observers that this object may have connected to other objects. More...
 

Additional Inherited Members

- Public Types inherited from igstk::Object
typedef Object Self
 General Typedefs. More...
 
typedef ::itk::Object Superclass
 
typedef ::itk::SmartPointer< SelfPointer
 
typedef ::itk::SmartPointer
< const Self
ConstPointer
 
typedef igstk::Logger LoggerType
 
- Static Public Member Functions inherited from igstk::Object
static Pointer New (void)
 
- Public Attributes inherited from igstk::Tracker
igstkStandardAbstractClassTraitsMacro(Tracker,
Object) public typedef
TrackerTool 
TrackerToolType
 Macro with standard traits declarations. More...
 

Detailed Description

Provides support for the Ascension 3D Guidance trackers.

This class provides an interface to Ascension Technology Corporation's 3D Guidance family of magnetic trackers.

Events are provided that can be used to monitor the status of the tracker. These include notifications when sensors are attached or detached, when a sensor is too close or too far away from the magnetic transmitter, and if the magnetic transmitter is unplugged. At startup the state of the system can be querried with the Request methods. After the initial state is learned, changes can be monitored by setting up an observer for Ascension3DGToolEvent events.

Definition at line 86 of file igstkAscension3DGTracker.h.

Member Typedef Documentation

typedef for internal boolean return type

Definition at line 135 of file igstkAscension3DGTracker.h.

Constructor & Destructor Documentation

igstk::Ascension3DGTracker::Ascension3DGTracker ( void  )
protected

protected constructor

virtual igstk::Ascension3DGTracker::~Ascension3DGTracker ( void  )
protectedvirtual

Member Function Documentation

igstk::Ascension3DGTracker::igstkStandardClassTraitsMacro ( Ascension3DGTracker  ,
Tracker   
)

Macro with standard traits declarations.

Get the number of tools that have been detected.

void igstk::Ascension3DGTracker::RequestSensorAttached ( int  sensorID)

Request whether the particular sensor (0 based), is attached.

An Ascension3DGToolEvent event will be sent. The tracker must have already been initialized with RequestOpen(). It is intended that this method be called on application startup to learn the initial state of the tracker system. After that, an observer can be set up to monitor Ascension3DGToolEvents for changes to the system.

void igstk::Ascension3DGTracker::RequestTransmitterAttached ( )

Request whether a transmitter, is attached.

An Ascension3DGToolEvent event will be sent. The tracker must have already been initialized with RequestOpen(). It is intended that this method be called on application startup to learn the initial state of the tracker system. After that, an observer can be set up to monitor Ascension3DGToolEvents for changes to the system.

void igstk::Ascension3DGTracker::RequestSensorSaturated ( int  sensorID)

Request whether the particular sensor (0 based), is too close to the magnetic transmitter and is saturated.

An Ascension3DGToolEvent event will be sent. The tracker must have already been initialized with RequestOpen(). It is intended that this method be called on application startup to learn the initial state of the tracker system. After that, an observer can be set up to monitor Ascension3DGToolEvents for changes to the system.

void igstk::Ascension3DGTracker::RequestSensorInMotionBox ( int  sensorID)

Request whether the particular sensor (0 based), is outside of the tracking motion box.

An Ascension3DGToolEvent event will be sent. The tracker must have already been initialized with RequestOpen(). It is intended that this method be called on application startup to learn the initial state of the tracker system. After that, an observer can be set up to monitor Ascension3DGToolEvents for changes to the system.

virtual ResultType igstk::Ascension3DGTracker::InternalOpen ( void  )
protectedvirtual

Open communication with the tracking device.

Implements igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::InternalClose ( void  )
protectedvirtual

Close communication with the tracking device.

Implements igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::InternalStartTracking ( void  )
protectedvirtual

Put the tracking device into tracking mode.

Implements igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::InternalStopTracking ( void  )
protectedvirtual

Take the tracking device out of tracking mode.

Implements igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::InternalUpdateStatus ( void  )
protectedvirtual

Update the status and the transforms for all TrackerTools.

Implements igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::InternalThreadedUpdateStatus ( void  )
protectedvirtual

Update the status and the transforms.

This function is called by a separate thread.

Implements igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::VerifyTrackerToolInformation ( const TrackerToolType trackerTool)
protectedvirtual

Verify tracker tool information.

Implements igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::ValidateSpecifiedFrequency ( double  frequencyInHz)
protectedvirtual

Verify the specified tracker measurement frequency.

Reimplemented from igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::AddTrackerToolToInternalDataContainers ( const TrackerToolType trackerTool)
protectedvirtual

Add tracker tool entry from internal containers.

Implements igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::RemoveTrackerToolFromInternalDataContainers ( const TrackerToolType trackerTool)
protectedvirtual

Remove tracker tool from internal containers.

Implements igstk::Tracker.

virtual ResultType igstk::Ascension3DGTracker::InternalReset ( void  )
protectedvirtual

Reset the tracking device to put it back to its original state.

Implements igstk::Tracker.

virtual void igstk::Ascension3DGTracker::PrintSelf ( std::ostream &  os,
::itk::Indent  indent 
) const
protectedvirtual

Print object information.


The documentation for this class was generated from the following file: