VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkRenderLargeImage.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRenderLargeImage.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
27 #ifndef __vtkRenderLargeImage_h
28 #define __vtkRenderLargeImage_h
29 
30 #include "vtkFiltersHybridModule.h" // For export macro
31 #include "vtkAlgorithm.h"
32 #include "vtkImageData.h" // makes things a bit easier
33 
34 class vtkRenderer;
35 class vtkActor2DCollection;
36 class vtkCollection;
37 class vtkRenderLargeImage2DHelperClass;
38 
39 class VTKFILTERSHYBRID_EXPORT vtkRenderLargeImage : public vtkAlgorithm
40 {
41 public:
42  static vtkRenderLargeImage *New();
43  vtkTypeMacro(vtkRenderLargeImage,vtkAlgorithm);
44  void PrintSelf(ostream& os, vtkIndent indent);
45 
47 
48  vtkSetMacro(Magnification,int);
49  vtkGetMacro(Magnification,int);
51 
53  virtual void SetInput(vtkRenderer*);
54 
56 
58  vtkGetObjectMacro(Input,vtkRenderer);
60 
62  vtkImageData* GetOutput();
63 
65 
66  virtual int ProcessRequest(vtkInformation*,
67  vtkInformationVector**,
68  vtkInformationVector*);
70 
71 protected:
74 
76  vtkRenderer *Input;
77  void RequestData(vtkInformation *,
78  vtkInformationVector **, vtkInformationVector *);
79  void RequestInformation (vtkInformation *,
80  vtkInformationVector **, vtkInformationVector *);
81 
82  // see algorithm for more info
83  virtual int FillOutputPortInformation(int port, vtkInformation* info);
84 
85  // Adjust the coordinates of all 2D actors to fit new window size
86  void Rescale2DActors();
87  // Shift each actor according to the tile we are rendering
88  void Shift2DActors(int x, int y);
89  // put them all back to their previous state when finished.
90  void Restore2DActors();
91  // 2D Actors need to be rescaled and shifted about for each tile
92  // use this helper class to make life easier.
93  vtkRenderLargeImage2DHelperClass *StoredData;
94 
95 private:
96  vtkRenderLargeImage(const vtkRenderLargeImage&); // Not implemented.
97  void operator=(const vtkRenderLargeImage&); // Not implemented.
98 };
99 
100 #endif
Use tiling to generate a large rendering.
vtkRenderLargeImage2DHelperClass * StoredData