ParaView
vtkPVSynchronizedRenderer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkPVSynchronizedRenderer.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
23 #ifndef vtkPVSynchronizedRenderer_h
24 #define vtkPVSynchronizedRenderer_h
25 
26 #include "vtkObject.h"
27 #include "vtkPVClientServerCoreRenderingModule.h" //needed for exports
28 
29 class vtkFXAAOptions;
31 class vtkImageProcessingPass;
33 class vtkPVSession;
34 class vtkRenderer;
35 class vtkRenderPass;
36 class vtkSynchronizedRenderers;
37 class vtkOpenGLRenderer;
38 
39 class VTKPVCLIENTSERVERCORERENDERING_EXPORT vtkPVSynchronizedRenderer : public vtkObject
40 {
41 public:
42  static vtkPVSynchronizedRenderer* New();
43  vtkTypeMacro(vtkPVSynchronizedRenderer, vtkObject);
44  void PrintSelf(ostream& os, vtkIndent indent);
45 
47 
52  vtkSetMacro(DisableIceT, bool);
53  vtkGetMacro(DisableIceT, bool);
55 
56  // Must be called once to initialize the class. Id is uniquefier. It is
57  // typically same as the id passed to vtkPVView::Initialize(). This makes it
58  // possible to identify what view this instance corresponds to.
59  // vtkPVSynchronizedRenderer passes this id to vtkIceTSynchronizedRenderers.
60  // vtkIceTSynchronizedRenderers uses the id to ensure that the correct group
61  // of views is shown on a tile-display.
62  void Initialize(vtkPVSession* session, unsigned int id);
63 
68  void SetPartitionOrdering(vtkPartitionOrderingInterface* partitionOrdering);
69 
73  void SetRenderer(vtkRenderer*);
74 
76 
79  virtual void SetEnabled(bool enabled);
80  vtkGetMacro(Enabled, bool);
81  vtkBooleanMacro(Enabled, bool);
83 
85 
89  void SetImageReductionFactor(int);
90  vtkGetMacro(ImageReductionFactor, int);
92 
94 
99  void SetDataReplicatedOnAllProcesses(bool);
100  vtkGetMacro(DataReplicatedOnAllProcesses, bool);
101  vtkBooleanMacro(DataReplicatedOnAllProcesses, bool);
103 
105 
108  void SetImageProcessingPass(vtkImageProcessingPass*);
109  vtkGetObjectMacro(ImageProcessingPass, vtkImageProcessingPass);
111 
113 
120  void SetRenderPass(vtkRenderPass*);
121  vtkGetObjectMacro(RenderPass, vtkRenderPass);
123 
125 
132  void ConfigureCompressor(const char* configuration);
133  void SetLossLessCompression(bool);
135 
139  void SetUseDepthBuffer(bool);
140 
144  void SetRenderEmptyImages(bool);
145 
149  void SetUseFXAA(bool enable);
150 
154  void SetFXAAOptions(vtkFXAAOptions* opts);
155 
157 
168  vtkGetObjectMacro(ParallelSynchronizer, vtkSynchronizedRenderers);
169  vtkGetObjectMacro(CSSynchronizer, vtkSynchronizedRenderers);
171 
172 protected:
175 
181  virtual void SetupPasses();
182 
183  vtkSynchronizedRenderers* CSSynchronizer;
184  vtkSynchronizedRenderers* ParallelSynchronizer;
185  vtkImageProcessingPass* ImageProcessingPass;
186  vtkRenderPass* RenderPass;
187 
188  enum ModeEnum
189  {
194  BATCH
195  };
196 
198  bool Enabled;
201  vtkOpenGLRenderer* Renderer;
202 
206 
207 private:
208  vtkPVSynchronizedRenderer(const vtkPVSynchronizedRenderer&) VTK_DELETE_FUNCTION;
209  void operator=(const vtkPVSynchronizedRenderer&) VTK_DELETE_FUNCTION;
210 };
211 
212 #endif
vtkSynchronizedRenderers subclass that uses IceT for parallel rendering and compositing.
synchronizes and composites renderers among processes in ParaView configurations. ...
vtkSynchronizedRenderers * ParallelSynchronizer
extends vtkSession to add API for ParaView sessions.
Definition: vtkPVSession.h:35
vtkSynchronizedRenderers * CSSynchronizer
Interface for ordering compositing.
vtkImageProcessingPass * ImageProcessingPass