50 #ifndef vtkParallelRenderManager_h 51 #define vtkParallelRenderManager_h 54 #include "vtkRenderingParallelModule.h" 110 virtual void InitializePieces();
119 virtual void InitializeOffScreen();
127 virtual void StartInteractor();
133 virtual void StartServices();
138 virtual void StopServices();
144 virtual void StartRender();
145 virtual void EndRender();
146 virtual void SatelliteStartRender();
147 virtual void SatelliteEndRender();
148 virtual void RenderRMI();
150 virtual void ResetCameraClippingRange(
vtkRenderer* ren);
151 virtual void ComputeVisiblePropBoundsRMI(
int renderId);
154 virtual void InitializeRMIs();
161 virtual void ResetAllCameras();
166 virtual void ComputeVisiblePropBounds(
vtkRenderer* ren,
double bounds[6]);
175 vtkSetMacro(ParallelRendering,
int);
176 vtkGetMacro(ParallelRendering,
int);
177 vtkBooleanMacro(ParallelRendering,
int);
187 vtkSetMacro(RenderEventPropagation,
int);
188 vtkGetMacro(RenderEventPropagation,
int);
189 vtkBooleanMacro(RenderEventPropagation,
int);
212 vtkSetMacro(UseCompositing,
int);
213 vtkGetMacro(UseCompositing,
int);
214 vtkBooleanMacro(UseCompositing,
int);
231 virtual void SetImageReductionFactor(
double factor);
232 vtkGetMacro(ImageReductionFactor,
double);
235 vtkSetMacro(MaxImageReductionFactor,
double);
236 vtkGetMacro(MaxImageReductionFactor,
double);
244 virtual void SetImageReductionFactorForUpdateRate(
double DesiredUpdateRate);
252 vtkSetMacro(AutoImageReductionFactor,
int);
253 vtkGetMacro(AutoImageReductionFactor,
int);
254 vtkBooleanMacro(AutoImageReductionFactor,
int);
261 vtkGetMacro(RenderTime,
double);
262 vtkGetMacro(ImageProcessingTime,
double);
275 vtkGetMacro(SyncRenderWindowRenderers,
int);
276 vtkSetMacro(SyncRenderWindowRenderers,
int);
277 vtkBooleanMacro(SyncRenderWindowRenderers,
int);
280 virtual void RemoveAllRenderers();
293 vtkSetMacro(WriteBackImages,
int);
294 vtkGetMacro(WriteBackImages,
int);
295 vtkBooleanMacro(WriteBackImages,
int);
304 vtkSetMacro(MagnifyImages,
int);
305 vtkGetMacro(MagnifyImages,
int);
306 vtkBooleanMacro(MagnifyImages,
int);
321 virtual void SetMagnifyImageMethod(
int method);
322 vtkGetMacro(MagnifyImageMethod,
int);
333 const int fullImageViewport[4] =
nullptr,
const int reducedImageViewport[4] =
nullptr);
336 const int fullImageViewport[4] =
nullptr,
const int reducedImageViewport[4] =
nullptr);
339 const int fullImageViewport[4] =
nullptr,
const int reducedImageViewport[4] =
nullptr);
370 vtkGetVector2Macro(FullImageSize,
int);
376 vtkGetVector2Macro(ReducedImageSize,
int);
383 void TileWindows(
int xsize,
int ysize,
int nColumns);
390 vtkSetMacro(UseRGBA,
int);
391 vtkGetMacro(UseRGBA,
int);
399 vtkSetMacro(ForceRenderWindowSize,
int);
400 vtkGetMacro(ForceRenderWindowSize,
int);
408 vtkSetVector2Macro(ForcedRenderWindowSize,
int);
409 vtkGetVector2Macro(ForcedRenderWindowSize,
int);
414 RENDER_RMI_TAG = 34532,
415 COMPUTE_VISIBLE_PROP_BOUNDS_RMI_TAG = 54636,
416 WIN_INFO_TAG = 87834,
417 REN_INFO_TAG = 87836,
418 LIGHT_INFO_TAG = 87838,
433 vtkSetMacro(UseBackBuffer,
int);
434 vtkGetMacro(UseBackBuffer,
int);
435 vtkBooleanMacro(UseBackBuffer,
int);
444 vtkSetMacro(SynchronizeTileProperties,
int);
445 vtkGetMacro(SynchronizeTileProperties,
int);
446 vtkBooleanMacro(SynchronizeTileProperties,
int);
455 virtual void GenericStartRenderCallback();
456 virtual void GenericEndRenderCallback();
467 void AddRenderWindowEventHandlers();
468 void RemoveRenderWindowEventHandlers();
478 int ForcedRenderWindowSize[2];
509 int FullImageSize[2];
510 int ReducedImageSize[2];
567 virtual void PreRenderProcessing() = 0;
568 virtual void PostRenderProcessing() = 0;
575 virtual void SetRenderWindowSize();
582 virtual void LocalComputeVisiblePropBounds(
vtkRenderer* ren,
double bounds[6]);
587 virtual void MagnifyReducedImage();
592 virtual void WriteFullImage();
597 virtual void ReadReducedImage();
603 virtual int LastRenderInFrontBuffer();
608 virtual int ChooseBuffer();
613 virtual void SetRenderWindowPixelData(
vtkUnsignedCharArray* pixels,
const int pixelDimensions[2]);
632 double TileViewport[4];
647 double CameraPosition[3];
648 double CameraFocalPoint[3];
649 double CameraViewUp[3];
650 double WindowCenter[2];
651 double CameraClippingRange[2];
654 double Background2[3];
670 double FocalPoint[3];
693 #endif // vtkParalleRenderManager_h
vtkUnsignedCharArray * FullImage
virtual bool ProcessWindowInformation(vtkMultiProcessStream &)
vtkMultiProcessController * Controller
virtual bool ProcessRendererInformation(vtkRenderer *, vtkMultiProcessStream &)
abstract base class for most VTK objects
virtual int CheckForAbortComposite()
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.
vtkUnsignedCharArray * ReducedImage
An object to control parallel rendering.
int RenderWindowImageUpToDate
unsigned long EndRenderTag
unsigned long BoundsRMIId
int SyncRenderWindowRenderers
unsigned long StartRenderTag
double AverageTimePerPixel
Used by SetImageReductionFactorForUpdateRate to smooth transitions transitions between image reductio...
abstract specification for renderers
virtual void SendRendererInformation(vtkRenderer *)
static void SetDefaultRenderEventPropagation(bool val)
Get/Set the default value used for RenderEventPropagation when a new instance of vtkParallelRenderMan...
void SetMagnifyImageMethodToNearest()
Sets the method used to magnify images.
unsigned long AbortRenderCheckTag
double ImageReductionFactor
vtkDoubleArray * Viewports
dynamic, self-adjusting array of double
Timer support and logging.
int ObservingRenderWindow
an ordered list of renderers
virtual void CollectWindowInformation(vtkMultiProcessStream &)
Subclass should override these methods (instead of SendWindowInformation/ReceiveWindowInformation or ...
a simple class to control print indentation
double ImageProcessingTime
int ForceRenderWindowSize
vtkRenderWindow * RenderWindow
virtual void ReceiveRendererInformation(vtkRenderer *)
virtual void CheckForAbortRender()
virtual void ReceiveWindowInformation()
dynamic, self-adjusting array of unsigned char
static bool GetDefaultRenderEventPropagation()
create a window for renderers to draw into
virtual void SendWindowInformation()
Used to synchronize rendering information per frame.
int RootProcessId
The "root" node's process id.
unsigned long RenderRMIId
int AutoImageReductionFactor
unsigned long ResetCameraClippingRangeTag
double MaxImageReductionFactor
void SetMagnifyImageMethodToLinear()
Sets the method used to magnify images.
unsigned long ResetCameraTag
static bool DefaultRenderEventPropagation
int SynchronizeTileProperties
vtkRendererCollection * Renderers
int RenderEventPropagation
virtual void CollectRendererInformation(vtkRenderer *, vtkMultiProcessStream &)
virtual int ImageReduceRenderer(vtkRenderer *)
Returns true if the image for the given renderer should be rendered at a reduced size to be magnified...
Multiprocessing communication superclass.
double ImageReductionFactor