21#ifndef vtkSynchronizedRenderers_h
22#define vtkSynchronizedRenderers_h
25#include "vtkRenderingParallelModule.h"
31VTK_ABI_NAMESPACE_BEGIN
71 vtkSetMacro(ParallelRendering,
bool);
72 vtkGetMacro(ParallelRendering,
bool);
73 vtkBooleanMacro(ParallelRendering,
bool);
80 vtkSetClampMacro(ImageReductionFactor,
int, 1, 50);
81 vtkGetMacro(ImageReductionFactor,
int);
90 vtkSetMacro(WriteBackImages,
bool);
91 vtkGetMacro(WriteBackImages,
bool);
92 vtkBooleanMacro(WriteBackImages,
bool);
101 vtkSetMacro(RootProcessId,
int);
102 vtkGetMacro(RootProcessId,
int);
139 vtkSetMacro(AutomaticEventHandling,
bool);
140 vtkGetMacro(AutomaticEventHandling,
bool);
141 vtkBooleanMacro(AutomaticEventHandling,
bool);
156 vtkSetMacro(FixBackground,
bool);
157 vtkGetMacro(FixBackground,
bool);
158 vtkBooleanMacro(FixBackground,
bool);
163 SYNC_RENDERER_TAG = 15101,
164 RESET_CAMERA_TAG = 15102,
165 COMPUTE_BOUNDS_TAG = 15103
176 this->Size[0] = this->Size[1] = 0;
180 void Resize(
int dx,
int dy,
int numcomps)
183 this->Allocate(dx, dy, numcomps);
230 void Allocate(
int dx,
int dy,
int numcomps);
243 double CameraPosition[3];
244 double CameraFocalPoint[3];
245 double CameraViewUp[3];
246 double CameraWindowCenter[2];
247 double CameraClippingRange[2];
250 double EyeTransformMatrix[16];
251 double ModelTransformMatrix[16];
303 vtkObserver* Observer;
304 friend class vtkObserver;
309 double LastViewport[4];
311 double LastBackground[3];
312 double LastBackgroundAlpha;
313 bool LastTexturedBackground;
314 bool LastGradientBackground;
318 std::unique_ptr<vtkInternals> Internal;
Configuration for FXAA implementations.
a simple class to control print indentation
Multiprocessing communication superclass.
stream used to pass data across processes using vtkMultiProcessController.
abstract base class for most VTK objects
Perform FXAA antialiasing on the current framebuffer.
abstract specification for renderers
Hold a reference to a vtkObjectBase instance.
static vtkSmartPointer< T > New()
Create an instance of a VTK object.
synchronizes renderers across processes.
virtual void SetParallelController(vtkMultiProcessController *)
Set the parallel message communicator.
vtkOpenGLRenderer * Renderer
virtual void SlaveStartRender()
virtual void SetRenderer(vtkRenderer *)
Set the renderer to be synchronized by this instance.
static vtkSynchronizedRenderers * New()
virtual vtkRawImage & CaptureRenderedImage()
Can be used in HandleEndRender(), MasterEndRender() or SlaveEndRender() calls to capture the rendered...
vtkSynchronizedRenderers()
virtual void HandleStartRender()
bool AutomaticEventHandling
virtual void HandleAbortRender()
vtkSynchronizedRenderers * CaptureDelegate
~vtkSynchronizedRenderers() override
virtual void HandleEndRender()
void CollectiveExpandForVisiblePropBounds(double bounds[6])
Computes visible prob bounds.
void EnableSynchronizableActors(bool)
Allows synchronizing collections of actors from local to remote renderer.
virtual vtkRenderer * GetRenderer()
Set the renderer to be synchronized by this instance.
vtkMultiProcessController * ParallelController
virtual void SetCaptureDelegate(vtkSynchronizedRenderers *)
When set, this->CaptureRenderedImage() does not capture image from the screen instead passes the call...
virtual void MasterEndRender()
virtual void SlaveEndRender()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void MasterStartRender()
virtual void PushImageToScreen()
Can be used in HandleEndRender(), MasterEndRender() or SlaveEndRender() calls to paste back the image...
dynamic, self-adjusting array of unsigned char
void CopyTo(vtkRenderer *)
bool Restore(vtkMultiProcessStream &stream)
void Save(vtkMultiProcessStream &stream)
void CopyFrom(vtkRenderer *)
double CameraParallelScale
int CameraParallelProjection
vtkRawImage can be used to make it easier to deal with images for compositing/communicating over clie...
void SaveAsPNG(VTK_FILEPATH const char *filename)
void Initialize(int dx, int dy, vtkUnsignedCharArray *data)
Create the buffer from an image data.
bool PushToViewport(vtkRenderer *renderer, bool blend=true)
Pushes the image to the viewport.
void Resize(int dx, int dy, int numcomps)
vtkUnsignedCharArray * GetRawPtr()
bool Capture(vtkRenderer *)
bool PushToFrameBuffer(vtkRenderer *ren, bool blend=true)
This is a raw version of PushToViewport() that assumes that the glViewport() has already been setup e...