33#ifndef vtkSynchronizedRenderers_h
34#define vtkSynchronizedRenderers_h
37#include "vtkRenderingParallelModule.h"
80 vtkSetMacro(ParallelRendering,
bool);
81 vtkGetMacro(ParallelRendering,
bool);
82 vtkBooleanMacro(ParallelRendering,
bool);
89 vtkSetClampMacro(ImageReductionFactor,
int, 1, 50);
90 vtkGetMacro(ImageReductionFactor,
int);
99 vtkSetMacro(WriteBackImages,
bool);
100 vtkGetMacro(WriteBackImages,
bool);
101 vtkBooleanMacro(WriteBackImages,
bool);
110 vtkSetMacro(RootProcessId,
int);
111 vtkGetMacro(RootProcessId,
int);
140 vtkSetMacro(AutomaticEventHandling,
bool);
141 vtkGetMacro(AutomaticEventHandling,
bool);
142 vtkBooleanMacro(AutomaticEventHandling,
bool);
157 vtkSetMacro(FixBackground,
bool);
158 vtkGetMacro(FixBackground,
bool);
159 vtkBooleanMacro(FixBackground,
bool);
164 SYNC_RENDERER_TAG = 15101,
165 RESET_CAMERA_TAG = 15102,
166 COMPUTE_BOUNDS_TAG = 15103
177 this->Size[0] = this->Size[1] = 0;
181 void Resize(
int dx,
int dy,
int numcomps)
184 this->Allocate(dx, dy, numcomps);
231 void Allocate(
int dx,
int dy,
int numcomps);
244 double CameraPosition[3];
245 double CameraFocalPoint[3];
246 double CameraViewUp[3];
247 double CameraWindowCenter[2];
248 double CameraClippingRange[2];
251 double EyeTransformMatrix[16];
252 double ModelTransformMatrix[16];
304 vtkObserver* Observer;
305 friend class vtkObserver;
310 double LastViewport[4];
312 double LastBackground[3];
313 double LastBackgroundAlpha;
314 bool LastTexturedBackground;
315 bool LastGradientBackground;
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.
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...