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;
39 
40 class VTKREMOTINGVIEWS_EXPORT vtkIceTSynchronizedRenderers : public vtkSynchronizedRenderers
41 {
42 public:
45  void PrintSelf(ostream& os, vtkIndent indent) override;
46 
53  virtual void SetRenderer(vtkRenderer*) override;
54 
59  void SetTileDimensions(int x, int y) { this->IceTCompositePass->SetTileDimensions(x, y); }
60 
65  void SetTileMullions(int x, int y) { this->IceTCompositePass->SetTileMullions(x, y); }
66 
73  {
74  this->IceTCompositePass->SetDataReplicatedOnAllProcesses(val);
75  }
76 
82  {
83  this->IceTCompositePass->SetPartitionOrdering(partitionOrdering);
84  }
85 
92  void SetUseOrderedCompositing(bool uoc)
93  {
94  this->IceTCompositePass->SetUseOrderedCompositing(uoc);
95  }
96 
100  virtual void SetImageReductionFactor(int val) override;
101  virtual int GetImageReductionFactor() override
102  {
103  return this->IceTCompositePass->GetImageReductionFactor();
104  }
105 
107 
112  {
113  this->Superclass::SetParallelController(cont);
114  this->IceTCompositePass->SetController(cont);
115  }
117 
119 
122  void SetImageProcessingPass(vtkImageProcessingPass*);
123  vtkGetObjectMacro(ImageProcessingPass, vtkImageProcessingPass);
125 
129  void SetUseDepthBuffer(bool);
130 
136  void SetRenderEmptyImages(bool);
137 
139 
146  void SetRenderPass(vtkRenderPass*);
147  vtkGetObjectMacro(RenderPass, vtkRenderPass);
149 
151 
155  vtkGetObjectMacro(IceTCompositePass, vtkIceTCompositePass);
157 
158 protected:
161 
165  vtkRawImage& CaptureRenderedImage() override;
166 
167  // We use vtkIceTCompositePass internally.
170 
171  // User specified custom passes
174 
175 private:
177  void operator=(const vtkIceTSynchronizedRenderers&) = delete;
178 };
179 
180 #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 SetPartitionOrdering(vtkPartitionOrderingInterface *partitionOrdering)
partition ordering that gives processes ordering.
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
static vtkSynchronizedRenderers * New()
Interface for ordering compositing.
virtual void SetRenderer(vtkRenderer *)
virtual int GetImageReductionFactor() override
virtual vtkRawImage & CaptureRenderedImage()
void operator=(const vtkObjectBase &)
IceT enabled render pass for distributed rendering.