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);
121 void CollectiveExpandForVisiblePropBounds(
double bounds[6]);
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);
207 bool PushToViewport(
vtkRenderer* renderer,
bool blend =
true);
216 bool PushToFrameBuffer(
vtkRenderer* ren,
bool blend =
true);
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];
264 virtual void HandleStartRender();
265 virtual void HandleEndRender();
268 virtual void MasterStartRender();
269 virtual void SlaveStartRender();
271 virtual void MasterEndRender();
272 virtual void SlaveEndRender();
288 virtual void PushImageToScreen();
304 vtkObserver* Observer;
305 friend class vtkObserver;
310 double LastViewport[4];
312 double LastBackground[3];
313 double LastBackgroundAlpha;
314 bool LastTexturedBackground;
315 bool LastGradientBackground;
int CameraParallelProjection
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
stream used to pass data across processes using vtkMultiProcessController.
vtkSynchronizedRenderers * CaptureDelegate
abstract specification for renderers
vtkUnsignedCharArray * GetRawPtr()
static vtkSmartPointer< T > New()
Create an instance of a VTK object.
vtkRawImage can be used to make it easier to deal with images for compositing/communicating over clie...
virtual void HandleAbortRender()
a simple class to control print indentation
vtkMultiProcessController * ParallelController
bool AutomaticEventHandling
double CameraParallelScale
dynamic, self-adjusting array of unsigned char
void Resize(int dx, int dy, int numcomps)
synchronizes renderers across processes.
Perform FXAA antialiasing on the current framebuffer.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkOpenGLRenderer * Renderer
Configuration for FXAA implementations.
Multiprocessing communication superclass.