SignImageSink.h

Go to the documentation of this file.
00001 /*
00002  *
00003  * Program:   Slicer Image-Guided Navigator (The SIGN)
00004  * Module:    $RCSfile: SignImageSink.h,v $
00005  */
00016 #ifndef __SIGNIMAGESINK_H__
00017 #define __SIGNIMAGESINK_H__
00018 
00019 #include <string>
00020 #include <SignDLL.h>
00021 #include <SignSink.h>
00022 
00023 
00024 
00025 #define trackerMaxButtonsPerUnit 4
00026 
00027 class SignOTModule;
00028 class Sign2DViewer;
00029 class vtkImageImport;
00030 class vtkMRMLNode;
00031 class SignOTModule;
00032 struct SignStationEventInfo;
00033 class SignImageReslice;
00034 class SignContext;
00035 class vtkTransform;
00036 class vtkImageFlip;
00037 class vtkPoints;
00038 class vtkImageData;
00039 class vtkMatrix4x4;
00040 
00041 
00042 class SIGN_EXPORT SignImageSink : public SignSink
00043 {
00044  public:
00045   vtkTypeRevisionMacro(SignImageSink,SignSink);
00046   virtual void PrintSelf(ostream& os, vtkIndent indent);
00047 
00048   static SignImageSink* New();
00049 
00050  private:
00051 
00052  public:
00053   SignContext *signContext;
00054   Sign2DViewer *viewer;
00055 
00056  protected:
00058   SignImageSink();
00059 
00061   ~SignImageSink();
00062 
00063   SignImageSink(const SignImageSink&);  // Not implemented.
00064   void operator=(const SignImageSink&);  // Not implemented.
00065 
00066  public:
00070   virtual int isEventGenerator();
00071 
00081   virtual void onEventGenerated( ot::Event& event, ot::Node& generator);
00082 
00084   void setSignContext(SignContext *sp);
00086   void setViewer(Sign2DViewer *tdv);
00087 
00089   vtkImageData* GetImageData();
00091   vtkTransform* GetTransform();
00092 
00094   vtkPoints* cornerPoints;
00096   virtual vtkPoints* GetPoints();
00097 
00098  private:
00099 
00100   vtkImageImport *imageData;
00101   vtkImageFlip *outData;
00102   vtkMatrix4x4 *imageMatrix;
00103 
00104   friend class SignOTModule;
00105 };
00106 
00107 #endif

Generated on Mon Feb 26 12:11:16 2007 for TheSIGN by  doxygen 1.4.6