vtkIceTSynchronizedRenderers.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
18 #ifndef vtkIceTSynchronizedRenderers_h
19 #define vtkIceTSynchronizedRenderers_h
20 
21 #include "vtkIceTCompositePass.h" // needed for inline methods.
22 #include "vtkRemotingViewsModule.h" //needed for exports
24 
25 class vtkCameraPass;
28 
30 {
31 public:
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
42  void SetRenderer(vtkRenderer*) override;
43 
48  void SetTileDimensions(int x, int y) { this->IceTCompositePass->SetTileDimensions(x, y); }
49 
54  void SetTileMullions(int x, int y) { this->IceTCompositePass->SetTileMullions(x, y); }
55 
62  {
63  this->IceTCompositePass->SetDataReplicatedOnAllProcesses(val);
64  }
65 
71  {
72  this->IceTCompositePass->SetOrderedCompositingHelper(helper);
73  }
74 
81  void SetUseOrderedCompositing(bool uoc)
82  {
83  this->IceTCompositePass->SetUseOrderedCompositing(uoc);
84  }
85 
89  void SetImageReductionFactor(int val) override;
90  int GetImageReductionFactor() override
91  {
92  return this->IceTCompositePass->GetImageReductionFactor();
93  }
94 
96 
101  {
102  this->Superclass::SetParallelController(cont);
103  this->IceTCompositePass->SetController(cont);
104  }
106 
108 
111  void SetImageProcessingPass(vtkImageProcessingPass*);
112  vtkGetObjectMacro(ImageProcessingPass, vtkImageProcessingPass);
114 
118  void SetUseDepthBuffer(bool);
119 
125  void SetRenderEmptyImages(bool);
126 
128 
135  void SetRenderPass(vtkRenderPass*);
136  vtkGetObjectMacro(RenderPass, vtkRenderPass);
138 
140 
144  vtkGetObjectMacro(IceTCompositePass, vtkIceTCompositePass);
146 
147 protected:
149  ~vtkIceTSynchronizedRenderers() override;
150 
154  vtkRawImage& CaptureRenderedImage() override;
155 
156  // We use vtkIceTCompositePass internally.
159 
160  // User specified custom passes
163 
164 private:
166  void operator=(const vtkIceTSynchronizedRenderers&) = delete;
167 };
168 
169 #endif
vtkSynchronizedRenderers subclass that uses IceT for parallel rendering and compositing.
virtual void SetImageReductionFactor(int)
#define VTKREMOTINGVIEWS_EXPORT
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 SetParallelController(vtkMultiProcessController *cont) override
Set the parallel message communicator.
void SetOrderedCompositingHelper(vtkOrderedCompositingHelper *helper)
partition ordering that gives processes ordering.
static vtkSynchronizedRenderers * New()
virtual void SetRenderer(vtkRenderer *)
virtual vtkRawImage & CaptureRenderedImage()
void operator=(const vtkObjectBase &)
IceT enabled render pass for distributed rendering.
helper to assist in determine process order when rendering