49 #ifndef vtkParallelRenderManager_h
50 #define vtkParallelRenderManager_h
52 #include "vtkRenderingParallelModule.h"
99 virtual void InitializePieces();
106 virtual void InitializeOffScreen();
112 virtual void StartInteractor();
116 virtual void StartServices();
119 virtual void StopServices();
123 virtual void StartRender();
124 virtual void EndRender();
125 virtual void SatelliteStartRender();
126 virtual void SatelliteEndRender();
127 virtual void RenderRMI();
129 virtual void ResetCameraClippingRange(
vtkRenderer *ren);
130 virtual void ComputeVisiblePropBoundsRMI(
int renderId);
133 virtual void InitializeRMIs();
138 virtual void ResetAllCameras();
141 virtual void ComputeVisiblePropBounds(
vtkRenderer *ren,
double bounds[6]);
148 vtkSetMacro(ParallelRendering,
int);
149 vtkGetMacro(ParallelRendering,
int);
150 vtkBooleanMacro(ParallelRendering,
int);
158 vtkSetMacro(RenderEventPropagation,
int);
159 vtkGetMacro(RenderEventPropagation,
int);
160 vtkBooleanMacro(RenderEventPropagation,
int);
177 vtkSetMacro(UseCompositing,
int);
178 vtkGetMacro(UseCompositing,
int);
179 vtkBooleanMacro(UseCompositing,
int);
194 virtual void SetImageReductionFactor(
double factor);
195 vtkGetMacro(ImageReductionFactor,
double);
198 vtkSetMacro(MaxImageReductionFactor,
double);
199 vtkGetMacro(MaxImageReductionFactor,
double);
206 virtual void SetImageReductionFactorForUpdateRate(
double DesiredUpdateRate);
212 vtkSetMacro(AutoImageReductionFactor,
int);
213 vtkGetMacro(AutoImageReductionFactor,
int);
214 vtkBooleanMacro(AutoImageReductionFactor,
int);
219 vtkGetMacro(RenderTime,
double);
220 vtkGetMacro(ImageProcessingTime,
double);
232 vtkGetMacro(SyncRenderWindowRenderers,
int);
233 vtkSetMacro(SyncRenderWindowRenderers,
int);
234 vtkBooleanMacro(SyncRenderWindowRenderers,
int);
237 virtual void RemoveAllRenderers();
248 vtkSetMacro(WriteBackImages,
int);
249 vtkGetMacro(WriteBackImages,
int);
250 vtkBooleanMacro(WriteBackImages,
int);
257 vtkSetMacro(MagnifyImages,
int);
258 vtkGetMacro(MagnifyImages,
int);
259 vtkBooleanMacro(MagnifyImages,
int);
270 virtual void SetMagnifyImageMethod(
int method);
271 vtkGetMacro(MagnifyImageMethod,
int);
273 this->SetMagnifyImageMethod(NEAREST);
276 this->SetMagnifyImageMethod(LINEAR);
283 const int fullImageSize[2],
285 const int reducedImageSize[2],
286 const int fullImageViewport[4] = NULL,
287 const int reducedImageViewport[4] = NULL);
289 const int fullImageSize[2],
291 const int reducedImageSize[2],
292 const int fullImageViewport[4] = NULL,
293 const int reducedImageViewport[4] = NULL);
295 const int fullImageSize[2],
297 const int reducedImageSize[2],
298 const int fullImageViewport[4] = NULL,
299 const int reducedImageViewport[4] = NULL);
309 virtual void GetPixelData(
int x1,
int y1,
int x2,
int y2,
320 virtual void GetReducedPixelData(
int x1,
int y1,
int x2,
int y2,
326 vtkGetVector2Macro(FullImageSize,
int);
330 vtkGetVector2Macro(ReducedImageSize,
int);
335 void TileWindows(
int xsize,
int ysize,
int nColumns);
340 vtkSetMacro(UseRGBA,
int);
341 vtkGetMacro(UseRGBA,
int);
348 vtkSetMacro(ForceRenderWindowSize,
int);
349 vtkGetMacro(ForceRenderWindowSize,
int);
355 vtkSetVector2Macro(ForcedRenderWindowSize,
int);
356 vtkGetVector2Macro(ForcedRenderWindowSize,
int);
361 RENDER_RMI_TAG=34532,
362 COMPUTE_VISIBLE_PROP_BOUNDS_RMI_TAG=54636,
365 LIGHT_INFO_TAG=87838,
379 vtkSetMacro(UseBackBuffer,
int);
380 vtkGetMacro(UseBackBuffer,
int);
381 vtkBooleanMacro(UseBackBuffer,
int);
389 vtkSetMacro(SynchronizeTileProperties,
int);
390 vtkGetMacro(SynchronizeTileProperties,
int);
391 vtkBooleanMacro(SynchronizeTileProperties,
int);
397 virtual void GenericStartRenderCallback();
398 virtual void GenericEndRenderCallback();
409 void AddRenderWindowEventHandlers();
410 void RemoveRenderWindowEventHandlers();
420 int ForcedRenderWindowSize[2];
449 int FullImageSize[2];
450 int ReducedImageSize[2];
506 virtual void PreRenderProcessing() = 0;
507 virtual void PostRenderProcessing() = 0;
512 virtual void SetRenderWindowSize();
517 virtual void LocalComputeVisiblePropBounds(
vtkRenderer *ren,
double bounds[6]);
520 virtual void MagnifyReducedImage();
523 virtual void WriteFullImage();
526 virtual void ReadReducedImage();
530 virtual int LastRenderInFrontBuffer();
533 virtual int ChooseBuffer();
538 const int pixelDimensions[2]);
556 double TileViewport[4];
568 double CameraPosition[3];
569 double CameraFocalPoint[3];
570 double CameraViewUp[3];
571 double WindowCenter[2];
572 double CameraClippingRange[2];
575 double Background2[3];
588 double FocalPoint[3];
608 #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()
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
virtual void SetRenderWindow(vtkRenderWindow *renwin)
unsigned long StartRenderTag
double AverageTimePerPixel
abstract specification for renderers
virtual void SendRendererInformation(vtkRenderer *)
static void SetDefaultRenderEventPropagation(bool val)
void SetMagnifyImageMethodToNearest()
unsigned long AbortRenderCheckTag
double ImageReductionFactor
vtkDoubleArray * Viewports
dynamic, self-adjusting array of double
Timer support and logging.
int ObservingRenderWindow
virtual void CollectWindowInformation(vtkMultiProcessStream &)
virtual void PrintSelf(ostream &os, vtkIndent indent)
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
vtkWeakPointer< vtkRenderWindow > RenderWindow
static bool GetDefaultRenderEventPropagation()
create a window for renderers to draw into
virtual void SendWindowInformation()
unsigned long RenderRMIId
int AutoImageReductionFactor
unsigned long ResetCameraClippingRangeTag
double MaxImageReductionFactor
void SetMagnifyImageMethodToLinear()
unsigned long ResetCameraTag
static bool DefaultRenderEventPropagation
int SynchronizeTileProperties
vtkRendererCollection * Renderers
int RenderEventPropagation
virtual void CollectRendererInformation(vtkRenderer *, vtkMultiProcessStream &)
virtual int ImageReduceRenderer(vtkRenderer *)
Multiprocessing communication superclass.
double ImageReductionFactor