00001
00002
00003
00004
00005
00016 #ifndef __SIGNREALTIMEIMAGEACTOR_H
00017 #define __SIGNREALTIMEIMAGEACTOR_H
00018
00019 #include <string>
00020 #include <vtkOpenGLActor.h>
00021 #include <SignDLL.h>
00022
00023 class vtkActor;
00024 class vtkPoints;
00025 class vtkCellArray;
00026 class vtkPolyData;
00027 class vtkFloatArray;
00028 class vtkImageData;
00029 class vtkTexture;
00030 class SignContext;
00031 class SignImageSink;
00032 class vtkDataSetMapper;
00033
00034
00035 class SIGN_EXPORT SignRealTimeImageActor : public vtkOpenGLActor
00036 {
00037 public:
00038 vtkTypeRevisionMacro(SignRealTimeImageActor,vtkActor);
00039 virtual void PrintSelf(ostream& os, vtkIndent indent);
00040
00042 static SignRealTimeImageActor *New();
00043
00045 void SetImageData(vtkImageData* ID);
00046
00048 void SetImageData(SignImageSink *ID);
00049
00051 void SetCorners(float *ul, float *ur, float *ll, float *lr);
00052
00053 protected:
00054 SignRealTimeImageActor();
00055 ~SignRealTimeImageActor();
00056
00057 private:
00058
00059 vtkPoints *points;
00060 vtkCellArray *strips;
00061 vtkPolyData *profile;
00062 vtkFloatArray *tCoords;
00063 vtkImageData *imageData;
00064 vtkTexture *texture;
00065 vtkDataSetMapper *mapper;
00066 SignRealTimeImageActor(const SignRealTimeImageActor&);
00067 void operator=(const SignRealTimeImageActor&);
00068
00069
00070 };
00071
00072 #endif