49 #ifndef __vtkParallelRenderManager_h
50 #define __vtkParallelRenderManager_h
98 virtual void InitializePieces();
105 virtual void InitializeOffScreen();
111 virtual void StartInteractor();
115 virtual void StartServices();
118 virtual void StopServices();
122 virtual void StartRender();
123 virtual void EndRender();
124 virtual void SatelliteStartRender();
125 virtual void SatelliteEndRender();
126 virtual void RenderRMI();
128 virtual void ResetCameraClippingRange(
vtkRenderer *ren);
129 virtual void ComputeVisiblePropBoundsRMI(
int renderId);
132 virtual void InitializeRMIs();
137 virtual void ResetAllCameras();
140 virtual void ComputeVisiblePropBounds(
vtkRenderer *ren,
double bounds[6]);
147 vtkSetMacro(ParallelRendering,
int);
148 vtkGetMacro(ParallelRendering,
int);
149 vtkBooleanMacro(ParallelRendering,
int);
157 vtkSetMacro(RenderEventPropagation,
int);
158 vtkGetMacro(RenderEventPropagation,
int);
159 vtkBooleanMacro(RenderEventPropagation,
int);
176 vtkSetMacro(UseCompositing,
int);
177 vtkGetMacro(UseCompositing,
int);
178 vtkBooleanMacro(UseCompositing,
int);
193 virtual void SetImageReductionFactor(
double factor);
194 vtkGetMacro(ImageReductionFactor,
double);
197 vtkSetMacro(MaxImageReductionFactor,
double);
198 vtkGetMacro(MaxImageReductionFactor,
double);
205 virtual void SetImageReductionFactorForUpdateRate(
double DesiredUpdateRate);
211 vtkSetMacro(AutoImageReductionFactor,
int);
212 vtkGetMacro(AutoImageReductionFactor,
int);
213 vtkBooleanMacro(AutoImageReductionFactor,
int);
218 vtkGetMacro(RenderTime,
double);
219 vtkGetMacro(ImageProcessingTime,
double);
231 vtkGetMacro(SyncRenderWindowRenderers,
int);
232 vtkSetMacro(SyncRenderWindowRenderers,
int);
233 vtkBooleanMacro(SyncRenderWindowRenderers,
int);
236 virtual void RemoveAllRenderers();
247 vtkSetMacro(WriteBackImages,
int);
248 vtkGetMacro(WriteBackImages,
int);
249 vtkBooleanMacro(WriteBackImages,
int);
256 vtkSetMacro(MagnifyImages,
int);
257 vtkGetMacro(MagnifyImages,
int);
258 vtkBooleanMacro(MagnifyImages,
int);
269 virtual void SetMagnifyImageMethod(
int method);
270 vtkGetMacro(MagnifyImageMethod,
int);
272 this->SetMagnifyImageMethod(NEAREST);
275 this->SetMagnifyImageMethod(LINEAR);
282 const int fullImageSize[2],
284 const int reducedImageSize[2],
285 const int fullImageViewport[4] = NULL,
286 const int reducedImageViewport[4] = NULL);
288 const int fullImageSize[2],
290 const int reducedImageSize[2],
291 const int fullImageViewport[4] = NULL,
292 const int reducedImageViewport[4] = NULL);
294 const int fullImageSize[2],
296 const int reducedImageSize[2],
297 const int fullImageViewport[4] = NULL,
298 const int reducedImageViewport[4] = NULL);
308 virtual void GetPixelData(
int x1,
int y1,
int x2,
int y2,
319 virtual void GetReducedPixelData(
int x1,
int y1,
int x2,
int y2,
325 vtkGetVector2Macro(FullImageSize,
int);
328 vtkGetVector2Macro(ReducedImageSize,
int);
333 void TileWindows(
int xsize,
int ysize,
int nColumns);
338 vtkSetMacro(UseRGBA,
int);
339 vtkGetMacro(UseRGBA,
int);
346 vtkSetMacro(ForceRenderWindowSize,
int);
347 vtkGetMacro(ForceRenderWindowSize,
int);
353 vtkSetVector2Macro(ForcedRenderWindowSize,
int);
354 vtkGetVector2Macro(ForcedRenderWindowSize,
int);
359 RENDER_RMI_TAG=34532,
360 COMPUTE_VISIBLE_PROP_BOUNDS_RMI_TAG=54636,
363 LIGHT_INFO_TAG=87838,
373 #if defined(_COMPILER_VERSION)
374 # pragma set woff 3303
376 #if defined(__INTEL_COMPILER)
377 # pragma warning (push)
378 # pragma warning (disable:858)
381 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
382 # define StartServiceA StartService
383 # define StartServiceW StartService
388 VTK_LEGACY(
virtual void StartService());
390 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE
391 # undef StartServiceW
392 # undef StartServiceA
394 VTK_LEGACY(
virtual void StartServiceA());
395 VTK_LEGACY(
virtual void StartServiceW());
400 #if defined(__INTEL_COMPILER)
401 # pragma warning (pop)
403 #if defined(_COMPILER_VERSION)
404 # pragma reset woff 3303
412 vtkSetMacro(UseBackBuffer,
int);
413 vtkGetMacro(UseBackBuffer,
int);
414 vtkBooleanMacro(UseBackBuffer,
int);
422 vtkSetMacro(SynchronizeTileProperties,
int);
423 vtkGetMacro(SynchronizeTileProperties,
int);
424 vtkBooleanMacro(SynchronizeTileProperties,
int);
430 virtual void GenericStartRenderCallback();
431 virtual void GenericEndRenderCallback();
442 void AddRenderWindowEventHandlers();
443 void RemoveRenderWindowEventHandlers();
453 int ForcedRenderWindowSize[2];
482 int FullImageSize[2];
483 int ReducedImageSize[2];
539 virtual void PreRenderProcessing() = 0;
540 virtual void PostRenderProcessing() = 0;
545 virtual void SetRenderWindowSize();
550 virtual void LocalComputeVisiblePropBounds(
vtkRenderer *ren,
double bounds[6]);
553 virtual void MagnifyReducedImage();
556 virtual void WriteFullImage();
559 virtual void ReadReducedImage();
563 virtual int LastRenderInFrontBuffer();
566 virtual int ChooseBuffer();
571 const int pixelDimensions[2]);
589 double TileViewport[4];
601 double CameraPosition[3];
602 double CameraFocalPoint[3];
603 double CameraViewUp[3];
604 double WindowCenter[2];
605 double CameraClippingRange[2];
608 double Background2[3];
621 double FocalPoint[3];
641 #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
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
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