00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00027 #ifndef __vtkRenderLargeImage_h
00028 #define __vtkRenderLargeImage_h
00029 
00030 #include "vtkAlgorithm.h"
00031 #include "vtkImageData.h" 
00032 
00033 class vtkRenderer;
00034 class vtkActor2DCollection;
00035 class vtkCollection;
00036 class vtkRenderLargeImage2DHelperClass;
00037 
00038 class VTK_HYBRID_EXPORT vtkRenderLargeImage : public vtkAlgorithm
00039 {
00040 public:
00041   static vtkRenderLargeImage *New();
00042   vtkTypeMacro(vtkRenderLargeImage,vtkAlgorithm);
00043   void PrintSelf(ostream& os, vtkIndent indent);   
00044 
00046 
00047   vtkSetMacro(Magnification,int);
00048   vtkGetMacro(Magnification,int);
00050 
00052   virtual void SetInput(vtkRenderer*);
00053 
00055 
00057   vtkGetObjectMacro(Input,vtkRenderer);
00059 
00061   vtkImageData* GetOutput();
00062 
00064 
00065   virtual int ProcessRequest(vtkInformation*,
00066                              vtkInformationVector**,
00067                              vtkInformationVector*);
00069 
00070 protected:
00071   vtkRenderLargeImage();
00072   ~vtkRenderLargeImage();
00073 
00074   int Magnification;
00075   vtkRenderer *Input;
00076   void RequestData(vtkInformation *, 
00077                    vtkInformationVector **, vtkInformationVector *);
00078   void RequestInformation (vtkInformation *, 
00079                            vtkInformationVector **, vtkInformationVector *);  
00080 
00081   
00082   virtual int FillOutputPortInformation(int port, vtkInformation* info);
00083 
00084   
00085   void Rescale2DActors();
00086   
00087   void Shift2DActors(int x, int y);
00088   
00089   void Restore2DActors();
00090   
00091   
00092   vtkRenderLargeImage2DHelperClass *StoredData;
00093 
00094 private:
00095   vtkRenderLargeImage(const vtkRenderLargeImage&);  
00096   void operator=(const vtkRenderLargeImage&);  
00097 };
00098 
00099 #endif