30#ifndef vtkSynchronizedRenderers_h
31#define vtkSynchronizedRenderers_h
34#include "vtkRenderingParallelModule.h"
77 vtkSetMacro(ParallelRendering,
bool);
78 vtkGetMacro(ParallelRendering,
bool);
79 vtkBooleanMacro(ParallelRendering,
bool);
86 vtkSetClampMacro(ImageReductionFactor,
int, 1, 50);
87 vtkGetMacro(ImageReductionFactor,
int);
96 vtkSetMacro(WriteBackImages,
bool);
97 vtkGetMacro(WriteBackImages,
bool);
98 vtkBooleanMacro(WriteBackImages,
bool);
107 vtkSetMacro(RootProcessId,
int);
108 vtkGetMacro(RootProcessId,
int);
137 vtkSetMacro(AutomaticEventHandling,
bool);
138 vtkGetMacro(AutomaticEventHandling,
bool);
139 vtkBooleanMacro(AutomaticEventHandling,
bool);
154 vtkSetMacro(FixBackground,
bool);
155 vtkGetMacro(FixBackground,
bool);
156 vtkBooleanMacro(FixBackground,
bool);
161 SYNC_RENDERER_TAG = 15101,
162 RESET_CAMERA_TAG = 15102,
163 COMPUTE_BOUNDS_TAG = 15103
174 this->Size[0] = this->Size[1] = 0;
178 void Resize(
int dx,
int dy,
int numcomps)
181 this->Allocate(dx, dy, numcomps);
228 void Allocate(
int dx,
int dy,
int numcomps);
241 double CameraPosition[3];
242 double CameraFocalPoint[3];
243 double CameraViewUp[3];
244 double CameraWindowCenter[2];
245 double CameraClippingRange[2];
248 double EyeTransformMatrix[16];
249 double ModelTransformMatrix[16];
301 vtkObserver* Observer;
302 friend class vtkObserver;
307 double LastViewport[4];
309 double LastBackground[3];
310 double LastBackgroundAlpha;
311 bool LastTexturedBackground;
312 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
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...