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 
29 class VTKREMOTINGVIEWS_EXPORT vtkIceTSynchronizedRenderers : public vtkSynchronizedRenderers
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
vtkOrderedCompositingHelper
helper to assist in determine process order when rendering
Definition: vtkOrderedCompositingHelper.h:23
vtkSynchronizedRenderers::CaptureRenderedImage
virtual vtkRawImage & CaptureRenderedImage()
vtkObjectBase::operator=
void operator=(const vtkObjectBase &)
vtkIceTSynchronizedRenderers::IceTCompositePass
vtkIceTCompositePass * IceTCompositePass
Definition: vtkIceTSynchronizedRenderers.h:158
vtkIceTSynchronizedRenderers::ImageProcessingPass
vtkImageProcessingPass * ImageProcessingPass
Definition: vtkIceTSynchronizedRenderers.h:162
vtkIceTSynchronizedRenderers::SetTileMullions
void SetTileMullions(int x, int y)
Set the tile mullions.
Definition: vtkIceTSynchronizedRenderers.h:54
vtkIceTCompositePass.h
vtkSynchronizedRenderers::SetImageReductionFactor
virtual void SetImageReductionFactor(int)
vtkIceTSynchronizedRenderers::GetImageReductionFactor
int GetImageReductionFactor() override
Definition: vtkIceTSynchronizedRenderers.h:90
vtkIceTSynchronizedRenderers::CameraRenderPass
vtkCameraPass * CameraRenderPass
Definition: vtkIceTSynchronizedRenderers.h:157
vtkIceTSynchronizedRenderers::SetUseOrderedCompositing
void SetUseOrderedCompositing(bool uoc)
Set this to true, if compositing must be done in a specific order.
Definition: vtkIceTSynchronizedRenderers.h:81
vtkMultiProcessController
vtkIceTSynchronizedRenderers
vtkSynchronizedRenderers subclass that uses IceT for parallel rendering and compositing.
Definition: vtkIceTSynchronizedRenderers.h:29
vtkIndent
vtkIceTSynchronizedRenderers::SetTileDimensions
void SetTileDimensions(int x, int y)
Set the tile dimensions.
Definition: vtkIceTSynchronizedRenderers.h:48
vtkCameraPass
vtkSynchronizedRenderers.h
vtkIceTCompositePass
IceT enabled render pass for distributed rendering.
Definition: vtkIceTCompositePass.h:46
vtkIceTSynchronizedRenderers::SetDataReplicatedOnAllProcesses
void SetDataReplicatedOnAllProcesses(bool val)
Set to true if data is replicated on all processes.
Definition: vtkIceTSynchronizedRenderers.h:61
vtkIceTSynchronizedRenderers::SetOrderedCompositingHelper
void SetOrderedCompositingHelper(vtkOrderedCompositingHelper *helper)
partition ordering that gives processes ordering.
Definition: vtkIceTSynchronizedRenderers.h:70
vtkSynchronizedRenderers
vtkRenderer
vtkIceTSynchronizedRenderers::RenderPass
vtkRenderPass * RenderPass
Definition: vtkIceTSynchronizedRenderers.h:161
vtkSynchronizedRenderers::New
static vtkSynchronizedRenderers * New()
vtkSynchronizedRenderers::SetRenderer
virtual void SetRenderer(vtkRenderer *)
vtkIceTSynchronizedRenderers::SetParallelController
void SetParallelController(vtkMultiProcessController *cont) override
Set the parallel message communicator.
Definition: vtkIceTSynchronizedRenderers.h:100
vtkImageProcessingPass
vtkRenderPass
vtkSynchronizedRenderers::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)