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();
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 );
251 std::string m_TrackerToolIdentifier;
258 igstkCoordinateSystemClassInterfaceMacro();
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.
std::ostream & operator<<(std::ostream &os, const igstk::AffineTransform &o)
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.
#define igstkSetMacro(name, type)
Set built-in type.