47 #ifndef vtkParallelRenderManager_h 48 #define vtkParallelRenderManager_h 51 #include "vtkRenderingParallelModule.h" 107 virtual void InitializePieces();
116 virtual void InitializeOffScreen();
124 virtual void StartInteractor();
130 virtual void StartServices();
135 virtual void StopServices();
141 virtual void StartRender();
142 virtual void EndRender();
143 virtual void SatelliteStartRender();
144 virtual void SatelliteEndRender();
145 virtual void RenderRMI();
147 virtual void ResetCameraClippingRange(
vtkRenderer* ren);
148 virtual void ComputeVisiblePropBoundsRMI(
int renderId);
151 virtual void InitializeRMIs();
158 virtual void ResetAllCameras();
163 virtual void ComputeVisiblePropBounds(
vtkRenderer* ren,
double bounds[6]);
172 vtkSetMacro(ParallelRendering,
int);
173 vtkGetMacro(ParallelRendering,
int);
174 vtkBooleanMacro(ParallelRendering,
int);
184 vtkSetMacro(RenderEventPropagation,
int);
185 vtkGetMacro(RenderEventPropagation,
int);
186 vtkBooleanMacro(RenderEventPropagation,
int);
209 vtkSetMacro(UseCompositing,
int);
210 vtkGetMacro(UseCompositing,
int);
211 vtkBooleanMacro(UseCompositing,
int);
228 virtual void SetImageReductionFactor(
double factor);
229 vtkGetMacro(ImageReductionFactor,
double);
232 vtkSetMacro(MaxImageReductionFactor,
double);
233 vtkGetMacro(MaxImageReductionFactor,
double);
241 virtual void SetImageReductionFactorForUpdateRate(
double DesiredUpdateRate);
249 vtkSetMacro(AutoImageReductionFactor,
int);
250 vtkGetMacro(AutoImageReductionFactor,
int);
251 vtkBooleanMacro(AutoImageReductionFactor,
int);
258 vtkGetMacro(RenderTime,
double);
259 vtkGetMacro(ImageProcessingTime,
double);
272 vtkGetMacro(SyncRenderWindowRenderers,
int);
273 vtkSetMacro(SyncRenderWindowRenderers,
int);
274 vtkBooleanMacro(SyncRenderWindowRenderers,
int);
277 virtual void RemoveAllRenderers();
290 vtkSetMacro(WriteBackImages,
int);
291 vtkGetMacro(WriteBackImages,
int);
292 vtkBooleanMacro(WriteBackImages,
int);
301 vtkSetMacro(MagnifyImages,
int);
302 vtkGetMacro(MagnifyImages,
int);
303 vtkBooleanMacro(MagnifyImages,
int);
318 virtual void SetMagnifyImageMethod(
int method);
319 vtkGetMacro(MagnifyImageMethod,
int);
330 const int fullImageViewport[4] =
nullptr,
const int reducedImageViewport[4] =
nullptr);
333 const int fullImageViewport[4] =
nullptr,
const int reducedImageViewport[4] =
nullptr);
336 const int fullImageViewport[4] =
nullptr,
const int reducedImageViewport[4] =
nullptr);
367 vtkGetVector2Macro(FullImageSize,
int);
373 vtkGetVector2Macro(ReducedImageSize,
int);
380 void TileWindows(
int xsize,
int ysize,
int nColumns);
387 vtkSetMacro(UseRGBA,
int);
388 vtkGetMacro(UseRGBA,
int);
396 vtkSetMacro(ForceRenderWindowSize,
int);
397 vtkGetMacro(ForceRenderWindowSize,
int);
405 vtkSetVector2Macro(ForcedRenderWindowSize,
int);
406 vtkGetVector2Macro(ForcedRenderWindowSize,
int);
411 RENDER_RMI_TAG = 34532,
412 COMPUTE_VISIBLE_PROP_BOUNDS_RMI_TAG = 54636,
413 WIN_INFO_TAG = 87834,
414 REN_INFO_TAG = 87836,
415 LIGHT_INFO_TAG = 87838,
430 vtkSetMacro(UseBackBuffer,
int);
431 vtkGetMacro(UseBackBuffer,
int);
432 vtkBooleanMacro(UseBackBuffer,
int);
441 vtkSetMacro(SynchronizeTileProperties,
int);
442 vtkGetMacro(SynchronizeTileProperties,
int);
443 vtkBooleanMacro(SynchronizeTileProperties,
int);
452 virtual void GenericStartRenderCallback();
453 virtual void GenericEndRenderCallback();
464 void AddRenderWindowEventHandlers();
465 void RemoveRenderWindowEventHandlers();
475 int ForcedRenderWindowSize[2];
506 int FullImageSize[2];
507 int ReducedImageSize[2];
564 virtual void PreRenderProcessing() = 0;
565 virtual void PostRenderProcessing() = 0;
572 virtual void SetRenderWindowSize();
579 virtual void LocalComputeVisiblePropBounds(
vtkRenderer* ren,
double bounds[6]);
584 virtual void MagnifyReducedImage();
589 virtual void WriteFullImage();
594 virtual void ReadReducedImage();
600 virtual int LastRenderInFrontBuffer();
605 virtual int ChooseBuffer();
610 virtual void SetRenderWindowPixelData(
vtkUnsignedCharArray* pixels,
const int pixelDimensions[2]);
629 double TileViewport[4];
644 double CameraPosition[3];
645 double CameraFocalPoint[3];
646 double CameraViewUp[3];
647 double WindowCenter[2];
648 double CameraClippingRange[2];
651 double Background2[3];
667 double FocalPoint[3];
690 #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