18 #ifndef __igstkTrackerTool_h
19 #define __igstkTrackerTool_h
34 igstkEventMacro( TrackerToolConfigurationErrorEvent,TrackerToolErrorEvent);
37 TrackerToolErrorEvent);
40 TrackerToolErrorEvent);
44 TrackerToolErrorEvent);
45 igstkEventMacro( TrackerToolDetachmentFromTrackerEvent,TrackerToolEvent);
47 TrackerToolErrorEvent);
50 igstkEventMacro( TrackerToolNotAvailableToBeTrackedEvent,TrackerToolEvent);
116 virtual
void PrintSelf( std::ostream& os, itk::Indent indent ) const;
124 void operator=(const Self&);
127 virtual
void RequestReportTrackingStarted( );
130 virtual
void RequestReportTrackingStopped( );
133 virtual
void RequestReportTrackingToolNotAvailable( );
136 virtual
void RequestReportTrackingToolVisible( );
139 void RequestReportSuccessfulTrackerToolAttachment();
142 void RequestReportFailedTrackerToolAttachment();
148 void SetRawTransform( const TransformType & );
151 void SetCalibratedTransform( const TransformType & );
158 virtual
bool CheckIfTrackerToolIsConfigured( ) const = 0;
161 igstkDeclareInputMacro( ConfigureTool );
162 igstkDeclareInputMacro( ToolConfigurationSuccess );
163 igstkDeclareInputMacro( ToolConfigurationFailure );
164 igstkDeclareInputMacro( AttachToolToTracker );
165 igstkDeclareInputMacro( TrackingStarted );
166 igstkDeclareInputMacro( TrackingStopped );
167 igstkDeclareInputMacro( TrackerToolNotAvailable );
168 igstkDeclareInputMacro( TrackerToolVisible );
169 igstkDeclareInputMacro( DetachTrackerToolFromTracker );
170 igstkDeclareInputMacro( AttachmentToTrackerSuccess );
171 igstkDeclareInputMacro( AttachmentToTrackerFailure );
172 igstkDeclareInputMacro( DetachmentFromTrackerSuccess );
173 igstkDeclareInputMacro( DetachmentFromTrackerFailure );
176 igstkDeclareStateMacro( Idle );
177 igstkDeclareStateMacro( AttemptingToConfigureTrackerTool );
178 igstkDeclareStateMacro( Configured );
179 igstkDeclareStateMacro( AttemptingToAttachTrackerToolToTracker );
180 igstkDeclareStateMacro( Attached );
181 igstkDeclareStateMacro( AttemptingToDetachTrackerToolFromTracker );
182 igstkDeclareStateMacro( NotAvailable );
183 igstkDeclareStateMacro( Tracked );
186 void AttemptToConfigureProcessing(
void );
189 void AttemptToAttachTrackerToolToTrackerProcessing(
void );
192 void TrackerToolConfigurationSuccessProcessing(
void );
195 void TrackerToolConfigurationFailureProcessing(
void );
199 void TrackerToolAttachmentToTrackerSuccessProcessing(
void );
202 void TrackerToolAttachmentToTrackerFailureProcessing(
void );
205 void AttemptToDetachTrackerToolFromTrackerProcessing(
void );
209 void TrackerToolDetachmentFromTrackerSuccessProcessing(
void );
212 void TrackerToolDetachmentFromTrackerFailureProcessing(
void );
215 void ReportTrackerToolVisibleStateProcessing(
void );
218 void ReportTrackerToolNotAvailableProcessing(
void );
221 void ReportTrackingStartedProcessing(
void );
224 void ReportTrackingStoppedProcessing(
void );
227 void ReportInvalidRequestProcessing(
void );
230 void ReportInvalidRequestToAttachTrackerToolProcessing(
void );
233 void ReportInvalidRequestToDetachTrackerToolProcessing(
void );
236 void NoProcessing(
void );
239 TransformType m_CalibrationTransform;
242 TransformType m_CalibratedTransform;
245 TransformType m_RawTransform;
251 std::
string m_TrackerToolIdentifier;
254 Tracker * m_TrackerToAttachTo;
258 igstkCoordinateSystemClassInterfaceMacro();
265 std::ostream& operator<<(std::ostream& os, const
TrackerTool& o);
269 #endif //__igstk_TrackerTool_h_
#define igstkStandardAbstractClassTraitsMacro(classname, superclassname)
Convenience macro for traits of an abstract non-templated class.
#define igstkFriendClassMacro(type)
Create a Macro for friend class.
#define igstkGetMacro(name, type)
Get built-in type.
Base class for all the IGSTK classes.
igstkEventMacro(AuroraTrackerToolEvent, StringEvent)
defines standard system-wide macros, constants, and other common parameters in the IGSTK Library...
::itk::SmartPointer< Self > Pointer
Abstract superclass for concrete IGSTK Tracker classes.
This class represents the frame of a coordinate reference system.
#define igstkSetMacro(name, type)
Set built-in type.