Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkRenderLargeImage.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkRenderLargeImage.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00027 #ifndef __vtkRenderLargeImage_h
00028 #define __vtkRenderLargeImage_h
00029 
00030 #include "vtkAlgorithm.h"
00031 #include "vtkImageData.h" // makes things a bit easier
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   vtkTypeRevisionMacro(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   // see algorithm for more info
00082   virtual int FillOutputPortInformation(int port, vtkInformation* info);
00083 
00084   // Adjust the coordinates of all 2D actors to fit new window size
00085   void Rescale2DActors();
00086   // Shift each actor according to the tile we are rendering
00087   void Shift2DActors(int x, int y);
00088   // put them all back to their previous state when finished.
00089   void Restore2DActors();
00090   // 2D Actors need to be rescaled and shifted about for each tile
00091   // use this helper class to make life easier.
00092   vtkRenderLargeImage2DHelperClass *storedData;
00093 
00094 private:
00095   vtkRenderLargeImage(const vtkRenderLargeImage&);  // Not implemented.
00096   void operator=(const vtkRenderLargeImage&);  // Not implemented.
00097 };
00098 
00099 #endif

Generated on Mon Jan 21 23:07:27 2008 for VTK by  doxygen 1.4.3-20050530