vtkIceTSynchronizedRenderers.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkIceTSynchronizedRenderers.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 =========================================================================*/
30 #ifndef vtkIceTSynchronizedRenderers_h
31 #define vtkIceTSynchronizedRenderers_h
32 
33 #include "vtkIceTCompositePass.h" // needed for inline methods.
34 #include "vtkRemotingViewsModule.h" //needed for exports
36 
37 class vtkCameraPass;
40 
41 class VTKREMOTINGVIEWS_EXPORT vtkIceTSynchronizedRenderers : public vtkSynchronizedRenderers
42 {
43 public:
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
54  virtual void SetRenderer(vtkRenderer*) override;
55 
60  void SetTileDimensions(int x, int y) { this->IceTCompositePass->SetTileDimensions(x, y); }
61 
66  void SetTileMullions(int x, int y) { this->IceTCompositePass->SetTileMullions(x, y); }
67 
74  {
75  this->IceTCompositePass->SetDataReplicatedOnAllProcesses(val);
76  }
77 
83  {
84  this->IceTCompositePass->SetOrderedCompositingHelper(helper);
85  }
86 
93  void SetUseOrderedCompositing(bool uoc)
94  {
95  this->IceTCompositePass->SetUseOrderedCompositing(uoc);
96  }
97 
101  virtual void SetImageReductionFactor(int val) override;
102  virtual int GetImageReductionFactor() override
103  {
104  return this->IceTCompositePass->GetImageReductionFactor();
105  }
106 
108 
113  {
114  this->Superclass::SetParallelController(cont);
115  this->IceTCompositePass->SetController(cont);
116  }
118 
120 
123  void SetImageProcessingPass(vtkImageProcessingPass*);
124  vtkGetObjectMacro(ImageProcessingPass, vtkImageProcessingPass);
126 
130  void SetUseDepthBuffer(bool);
131 
137  void SetRenderEmptyImages(bool);
138 
140 
147  void SetRenderPass(vtkRenderPass*);
148  vtkGetObjectMacro(RenderPass, vtkRenderPass);
150 
152 
156  vtkGetObjectMacro(IceTCompositePass, vtkIceTCompositePass);
158 
159 protected:
162 
166  vtkRawImage& CaptureRenderedImage() override;
167 
168  // We use vtkIceTCompositePass internally.
171 
172  // User specified custom passes
175 
176 private:
178  void operator=(const vtkIceTSynchronizedRenderers&) = delete;
179 };
180 
181 #endif
vtkSynchronizedRenderers subclass that uses IceT for parallel rendering and compositing.
virtual void SetParallelController(vtkMultiProcessController *cont) override
Set the parallel message communicator.
virtual void SetImageReductionFactor(int)
void SetUseOrderedCompositing(bool uoc)
Set this to true, if compositing must be done in a specific order.
void PrintSelf(ostream &os, vtkIndent indent)
void SetTileDimensions(int x, int y)
Set the tile dimensions.
void SetDataReplicatedOnAllProcesses(bool val)
Set to true if data is replicated on all processes.
void SetTileMullions(int x, int y)
Set the tile mullions.
vtkImageProcessingPass * ImageProcessingPass
void SetOrderedCompositingHelper(vtkOrderedCompositingHelper *helper)
partition ordering that gives processes ordering.
static vtkSynchronizedRenderers * New()
virtual void SetRenderer(vtkRenderer *)
virtual int GetImageReductionFactor() override
virtual vtkRawImage & CaptureRenderedImage()
void operator=(const vtkObjectBase &)
IceT enabled render pass for distributed rendering.
helper to assist in determine process order when rendering