18 #ifndef __igstkVideoImagerTool_h
19 #define __igstkVideoImagerTool_h
35 igstkEventMacro( VideoImagerToolConfigurationEvent,VideoImagerToolEvent);
37 VideoImagerToolErrorEvent);
39 VideoImagerToolErrorEvent);
41 VideoImagerToolErrorEvent);
43 VideoImagerToolEvent);
45 VideoImagerToolErrorEvent);
47 VideoImagerToolEvent);
49 VideoImagerToolErrorEvent);
51 VideoImagerToolEvent);
52 igstkEventMacro( VideoImagerToolNotAvailableEvent,VideoImagerToolEvent);
132 virtual void PrintSelf( std::ostream& os, itk::Indent indent )
const;
140 void operator=(
const Self&);
143 virtual void RequestReportImagingStarted( );
146 virtual void RequestReportImagingStopped( );
149 virtual void RequestReportImagingToolNotAvailable( );
152 virtual void RequestReportImagingToolStreaming( );
155 void RequestReportSuccessfulVideoImagerToolAttachment();
158 void RequestReportFailedVideoImagerToolAttachment();
165 virtual bool CheckIfVideoImagerToolIsConfigured( )
const = 0;
168 igstkDeclareInputMacro( ConfigureTool );
169 igstkDeclareInputMacro( ToolConfigurationSuccess );
170 igstkDeclareInputMacro( ToolConfigurationFailure );
171 igstkDeclareInputMacro( AttachToolToVideoImager );
172 igstkDeclareInputMacro( ImagingStarted );
173 igstkDeclareInputMacro( ImagingStopped );
174 igstkDeclareInputMacro( VideoImagerToolNotAvailable );
175 igstkDeclareInputMacro( VideoImagerToolStreaming );
176 igstkDeclareInputMacro( DetachVideoImagerToolFromVideoImager );
177 igstkDeclareInputMacro( AttachmentToVideoImagerSuccess );
178 igstkDeclareInputMacro( AttachmentToVideoImagerFailure );
179 igstkDeclareInputMacro( DetachmentFromVideoImagerSuccess );
180 igstkDeclareInputMacro( DetachmentFromVideoImagerFailure );
181 igstkDeclareInputMacro( GetFrame );
184 igstkDeclareStateMacro( Idle );
185 igstkDeclareStateMacro( AttemptingToConfigureVideoImagerTool );
186 igstkDeclareStateMacro( Configured );
187 igstkDeclareStateMacro( AttemptingToAttachVideoImagerToolToVideoImager );
188 igstkDeclareStateMacro( Attached );
189 igstkDeclareStateMacro( AttemptingToDetachVideoImagerToolFromVideoImager );
190 igstkDeclareStateMacro( NotAvailable );
191 igstkDeclareStateMacro( Streaming );
194 void AttemptToConfigureProcessing(
void );
197 void AttemptToAttachVideoImagerToolToVideoImagerProcessing(
void );
200 void VideoImagerToolConfigurationSuccessProcessing(
void );
203 void VideoImagerToolConfigurationFailureProcessing(
void );
207 void VideoImagerToolAttachmentToVideoImagerSuccessProcessing(
void );
210 void VideoImagerToolAttachmentToVideoImagerFailureProcessing(
void );
213 void AttemptToDetachVideoImagerToolFromVideoImagerProcessing(
void );
217 void VideoImagerToolDetachmentFromVideoImagerSuccessProcessing(
void );
220 void VideoImagerToolDetachmentFromVideoImagerFailureProcessing(
void );
223 void GetFrameProcessing(
void );
226 void ReportVideoImagerToolStreamingStateProcessing(
void );
229 void ReportVideoImagerToolNotAvailableProcessing(
void );
232 void ReportImagingStartedProcessing(
void );
235 void ReportImagingStoppedProcessing(
void );
238 void ReportInvalidRequestProcessing(
void );
241 void ReportInvalidRequestToAttachVideoImagerToolProcessing(
void );
244 void ReportInvalidRequestToDetachVideoImagerToolProcessing(
void );
247 void NoProcessing(
void );
253 std::vector< igstk::Frame* > *m_FrameRingBuffer;
257 unsigned int m_NumberOfFramesInBuffer;
258 unsigned int m_MaxBufferSize;
259 unsigned int m_Delay;
260 unsigned int m_FrameDimensions[3];
261 unsigned int m_PixelDepth;
267 std::string m_VideoImagerToolIdentifier;
273 igstkCoordinateSystemClassInterfaceMacro();
284 #endif //__igstk_VideoImagerTool_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 VideoImager classes.
#define igstkSetMacro(name, type)
Set built-in type.
igstkLoadedEventMacro(Ascension3DGErrorEvent, IGSTKErrorEvent, Ascension3DGEventErrorType)
Frame from an external input device.