21 #ifndef vtkSynchronizedRenderers_h
22 #define vtkSynchronizedRenderers_h
26 #include "vtkRenderingParallelModule.h"
32 VTK_ABI_NAMESPACE_BEGIN
82 vtkSetMacro(ParallelRendering,
bool);
83 vtkGetMacro(ParallelRendering,
bool);
84 vtkBooleanMacro(ParallelRendering,
bool);
91 vtkSetClampMacro(ImageReductionFactor,
int, 1, 50);
92 vtkGetMacro(ImageReductionFactor,
int);
101 vtkSetMacro(WriteBackImages,
bool);
102 vtkGetMacro(WriteBackImages,
bool);
103 vtkBooleanMacro(WriteBackImages,
bool);
112 vtkSetMacro(RootProcessId,
int);
113 vtkGetMacro(RootProcessId,
int);
123 void CollectiveExpandForVisiblePropBounds(
double bounds[6]);
139 void EnableSynchronizableActors(
bool);
150 vtkSetMacro(AutomaticEventHandling,
bool);
151 vtkGetMacro(AutomaticEventHandling,
bool);
152 vtkBooleanMacro(AutomaticEventHandling,
bool);
167 vtkSetMacro(FixBackground,
bool);
168 vtkGetMacro(FixBackground,
bool);
169 vtkBooleanMacro(FixBackground,
bool);
174 SYNC_RENDERER_TAG = 15101,
175 RESET_CAMERA_TAG = 15102,
176 COMPUTE_BOUNDS_TAG = 15103
187 this->Size[0] = this->Size[1] = 0;
191 void Resize(
int dx,
int dy,
int numcomps)
194 this->Allocate(dx, dy, numcomps);
217 bool PushToViewport(
vtkRenderer* renderer,
bool blend =
true);
226 bool PushToFrameBuffer(
vtkRenderer* ren,
bool blend =
true);
241 void Allocate(
int dx,
int dy,
int numcomps);
254 double CameraPosition[3];
255 double CameraFocalPoint[3];
256 double CameraViewUp[3];
257 double CameraWindowCenter[2];
258 double CameraClippingRange[2];
262 double EyeTransformMatrix[16];
263 double ModelTransformMatrix[16];
275 virtual void HandleStartRender();
276 virtual void HandleEndRender();
279 virtual void MasterStartRender();
280 virtual void SlaveStartRender();
282 virtual void MasterEndRender();
283 virtual void SlaveEndRender();
300 virtual void PushImageToScreen();
316 vtkObserver* Observer;
317 friend class vtkObserver;
322 double LastViewport[4];
324 double LastBackground[3];
325 double LastBackgroundAlpha;
326 bool LastTexturedBackground;
327 bool LastGradientBackground;
331 std::unique_ptr<vtkInternals> Internal;
334 VTK_ABI_NAMESPACE_END
int CameraParallelProjection
Store data for independent viewers.
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
double CameraEyeSeparation
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.