VTK
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
vtkParallelRenderManager Class Reference

An object to control parallel rendering. More...

#include <vtkParallelRenderManager.h>

Inheritance diagram for vtkParallelRenderManager:
Inheritance graph
[legend]
Collaboration diagram for vtkParallelRenderManager:
Collaboration graph
[legend]

List of all members.

Classes

struct  LightInfo
struct  RendererInfo
struct  RenderWindowInfo

Public Types

enum  { NEAREST, LINEAR }
enum  Tags {
  RENDER_RMI_TAG = 34532, COMPUTE_VISIBLE_PROP_BOUNDS_RMI_TAG = 54636, WIN_INFO_TAG = 87834, REN_INFO_TAG = 87836,
  LIGHT_INFO_TAG = 87838, REN_ID_TAG = 58794, BOUNDS_TAG = 23543
}
typedef vtkObject Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkParallelRenderManagerNewInstance () const
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual vtkRenderWindowMakeRenderWindow ()
virtual vtkRendererMakeRenderer ()
virtual void InitializePieces ()
virtual void InitializeOffScreen ()
virtual void StartInteractor ()
virtual void StartServices ()
virtual void StopServices ()
virtual void InitializeRMIs ()
virtual void ResetAllCameras ()
virtual void ComputeVisiblePropBounds (vtkRenderer *ren, double bounds[6])
virtual void SetMaxImageReductionFactor (double)
virtual double GetMaxImageReductionFactor ()
virtual void SetImageReductionFactorForUpdateRate (double DesiredUpdateRate)
void TileWindows (int xsize, int ysize, int nColumns)
virtual void CheckForAbortRender ()
virtual int CheckForAbortComposite ()
virtual vtkRenderWindowGetRenderWindow ()
virtual void SetRenderWindow (vtkRenderWindow *renWin)
virtual vtkMultiProcessControllerGetController ()
virtual void SetController (vtkMultiProcessController *controller)
virtual void StartRender ()
virtual void EndRender ()
virtual void SatelliteStartRender ()
virtual void SatelliteEndRender ()
virtual void RenderRMI ()
virtual void ResetCamera (vtkRenderer *ren)
virtual void ResetCameraClippingRange (vtkRenderer *ren)
virtual void ComputeVisiblePropBoundsRMI (int renderId)
virtual void SetParallelRendering (int)
virtual int GetParallelRendering ()
virtual void ParallelRenderingOn ()
virtual void ParallelRenderingOff ()
virtual void SetRenderEventPropagation (int)
virtual int GetRenderEventPropagation ()
virtual void RenderEventPropagationOn ()
virtual void RenderEventPropagationOff ()
virtual void SetUseCompositing (int)
virtual int GetUseCompositing ()
virtual void UseCompositingOn ()
virtual void UseCompositingOff ()
virtual void SetImageReductionFactor (double factor)
virtual double GetImageReductionFactor ()
virtual void SetAutoImageReductionFactor (int)
virtual int GetAutoImageReductionFactor ()
virtual void AutoImageReductionFactorOn ()
virtual void AutoImageReductionFactorOff ()
virtual double GetRenderTime ()
virtual double GetImageProcessingTime ()
virtual int GetSyncRenderWindowRenderers ()
virtual void SetSyncRenderWindowRenderers (int)
virtual void SyncRenderWindowRenderersOn ()
virtual void SyncRenderWindowRenderersOff ()
virtual void AddRenderer (vtkRenderer *)
virtual void RemoveRenderer (vtkRenderer *)
virtual void RemoveAllRenderers ()
virtual void SetWriteBackImages (int)
virtual int GetWriteBackImages ()
virtual void WriteBackImagesOn ()
virtual void WriteBackImagesOff ()
virtual void SetMagnifyImages (int)
virtual int GetMagnifyImages ()
virtual void MagnifyImagesOn ()
virtual void MagnifyImagesOff ()
virtual void SetMagnifyImageMethod (int method)
virtual int GetMagnifyImageMethod ()
void SetMagnifyImageMethodToNearest ()
void SetMagnifyImageMethodToLinear ()
virtual void GetPixelData (vtkUnsignedCharArray *data)
virtual void GetPixelData (int x1, int y1, int x2, int y2, vtkUnsignedCharArray *data)
virtual void GetReducedPixelData (vtkUnsignedCharArray *data)
virtual void GetReducedPixelData (int x1, int y1, int x2, int y2, vtkUnsignedCharArray *data)
virtual intGetFullImageSize ()
virtual void GetFullImageSize (int &, int &)
virtual void GetFullImageSize (int[2])
virtual intGetReducedImageSize ()
virtual void GetReducedImageSize (int &, int &)
virtual void GetReducedImageSize (int[2])
virtual void SetUseRGBA (int)
virtual int GetUseRGBA ()
virtual void SetForceRenderWindowSize (int)
virtual int GetForceRenderWindowSize ()
virtual void SetForcedRenderWindowSize (int, int)
void SetForcedRenderWindowSize (int[2])
virtual intGetForcedRenderWindowSize ()
virtual void GetForcedRenderWindowSize (int &, int &)
virtual void GetForcedRenderWindowSize (int[2])
virtual void SetUseBackBuffer (int)
virtual int GetUseBackBuffer ()
virtual void UseBackBufferOn ()
virtual void UseBackBufferOff ()
virtual void SetSynchronizeTileProperties (int)
virtual int GetSynchronizeTileProperties ()
virtual void SynchronizeTilePropertiesOn ()
virtual void SynchronizeTilePropertiesOff ()
virtual void GenericStartRenderCallback ()
virtual void GenericEndRenderCallback ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkParallelRenderManagerSafeDownCast (vtkObjectBase *o)
static void SetDefaultRenderEventPropagation (bool val)
static bool GetDefaultRenderEventPropagation ()

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkParallelRenderManager ()
 ~vtkParallelRenderManager ()
virtual vtkRendererCollectionGetRenderers ()
virtual void SetRenderWindowSize ()
virtual void LocalComputeVisiblePropBounds (vtkRenderer *ren, double bounds[6])
virtual void MagnifyReducedImage ()
virtual void WriteFullImage ()
virtual void ReadReducedImage ()
virtual int LastRenderInFrontBuffer ()
virtual int ChooseBuffer ()
virtual int ImageReduceRenderer (vtkRenderer *)
void AddRenderWindowEventHandlers ()
void RemoveRenderWindowEventHandlers ()
virtual void SendWindowInformation ()
virtual void ReceiveWindowInformation ()
virtual void SendRendererInformation (vtkRenderer *)
virtual void ReceiveRendererInformation (vtkRenderer *)
virtual void CollectWindowInformation (vtkMultiProcessStream &)
virtual bool ProcessWindowInformation (vtkMultiProcessStream &)
virtual void CollectRendererInformation (vtkRenderer *, vtkMultiProcessStream &)
virtual bool ProcessRendererInformation (vtkRenderer *, vtkMultiProcessStream &)
virtual void PreRenderProcessing ()=0
virtual void PostRenderProcessing ()=0
virtual void SetRenderWindowPixelData (vtkUnsignedCharArray *pixels, const int pixelDimensions[2])

Protected Attributes

vtkRenderWindowRenderWindow
vtkMultiProcessControllerController
vtkRendererCollectionRenderers
int ForceRenderWindowSize
int ForcedRenderWindowSize [2]
int RootProcessId
int ObservingRenderWindow
int ObservingAbort
unsigned long StartRenderTag
unsigned long EndRenderTag
unsigned long ResetCameraTag
unsigned long ResetCameraClippingRangeTag
unsigned long AbortRenderCheckTag
double ImageReductionFactor
double MaxImageReductionFactor
int AutoImageReductionFactor
int WriteBackImages
int MagnifyImages
int MagnifyImageMethod
int UseRGBA
int SynchronizeTileProperties
int FullImageSize [2]
int ReducedImageSize [2]
vtkUnsignedCharArrayFullImage
vtkUnsignedCharArrayReducedImage
int FullImageUpToDate
int ReducedImageUpToDate
int RenderWindowImageUpToDate
vtkDoubleArrayViewports
int Lock
int ParallelRendering
int RenderEventPropagation
int UseCompositing
int SyncRenderWindowRenderers
vtkTimerLogTimer
double RenderTime
double ImageProcessingTime
double AverageTimePerPixel
int AddedRMIs
unsigned long RenderRMIId
unsigned long BoundsRMIId
int UseBackBuffer

Static Protected Attributes

static bool DefaultRenderEventPropagation
static void MagnifyImageNearest (vtkUnsignedCharArray *fullImage, const int fullImageSize[2], vtkUnsignedCharArray *reducedImage, const int reducedImageSize[2], const int fullImageViewport[4]=NULL, const int reducedImageViewport[4]=NULL)
static void MagnifyImageLinear (vtkUnsignedCharArray *fullImage, const int fullImageSize[2], vtkUnsignedCharArray *reducedImage, const int reducedImageSize[2], const int fullImageViewport[4]=NULL, const int reducedImageViewport[4]=NULL)
virtual void MagnifyImage (vtkUnsignedCharArray *fullImage, const int fullImageSize[2], vtkUnsignedCharArray *reducedImage, const int reducedImageSize[2], const int fullImageViewport[4]=NULL, const int reducedImageViewport[4]=NULL)

Detailed Description

An object to control parallel rendering.

vtkParallelRenderManager operates in multiple processes. It provides proper renderers and render windows for performing the parallel rendering correctly. It can also attach itself to render windows and propagate rendering events and camera views.

Attention:
Many parallel rendering schemes do not correctly handle transparency. Unless otherwise documented, assume a sub class does not.
Todo:
Synchronization/barrier primitives.
Todo:
Query ranges of scalar values of objects in addition to the boundary in three-space
@par      Events:
          vtkCommand::StartEvent vtkCommand::EndEvent

@par      Tests:
          @ref c2_vtk_t_vtkParallelRenderManager "vtkParallelRenderManager (Tests)"

Definition at line 64 of file vtkParallelRenderManager.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager, and vtkImageRenderManager.

Definition at line 67 of file vtkParallelRenderManager.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
NEAREST 
LINEAR 

Definition at line 263 of file vtkParallelRenderManager.h.

Enumerator:
RENDER_RMI_TAG 
COMPUTE_VISIBLE_PROP_BOUNDS_RMI_TAG 
WIN_INFO_TAG 
REN_INFO_TAG 
LIGHT_INFO_TAG 
REN_ID_TAG 
BOUNDS_TAG 

Definition at line 360 of file vtkParallelRenderManager.h.


Constructor & Destructor Documentation


Member Function Documentation

static int vtkParallelRenderManager::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager, and vtkImageRenderManager.

virtual int vtkParallelRenderManager::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager, and vtkImageRenderManager.

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager, and vtkImageRenderManager.

virtual vtkObjectBase* vtkParallelRenderManager::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager, and vtkImageRenderManager.

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager, and vtkImageRenderManager.

virtual void vtkParallelRenderManager::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager, and vtkImageRenderManager.

Builds a vtkRenderWindow compatible with this render manager. The user program is responsible for registering the render window with the SetRenderWindow method and calling Delete. It is not advisable to use a parallel render manager with a render window that was not built with this method.

Builds a vtkRenderer compatible with this render manager. (Should we also register it?) The user program is responsible for calling Delete. It is not advisable to use a parallel render manager with a renderer that was not built with this method.

Set/Get the RenderWindow to use for compositing. We add a start and end observer to the window.

virtual void vtkParallelRenderManager::SetRenderWindow ( vtkRenderWindow renWin) [virtual]

Set/Get the RenderWindow to use for compositing. We add a start and end observer to the window.

Set/Get the vtkMultiProcessController which will handle communications for the parallel rendering.

virtual void vtkParallelRenderManager::SetController ( vtkMultiProcessController controller) [virtual]

Set/Get the vtkMultiProcessController which will handle communications for the parallel rendering.

virtual void vtkParallelRenderManager::InitializePieces ( ) [virtual]

This method sets the piece and number of pieces for each actor with a polydata mapper.

Make all rendering windows not viewable set as off screen rendering. To make all renderwindows on screen rendering again, call OffScreenRenderingOff on all the render windows. This class assumes the window on root node is the only one viewable. Subclasses should change this as necessary.

virtual void vtkParallelRenderManager::StartInteractor ( ) [virtual]

Initializes the RMIs and then, if on root node, starts the interactor on the attached render window. Otherwise, starts processing RMIs. When the interactor returns, it breaks the RMI listening on all other processors.

virtual void vtkParallelRenderManager::StartServices ( ) [virtual]

If on node other than root, starts serving RMI requests for parallel renders.

virtual void vtkParallelRenderManager::StopServices ( ) [virtual]

If on root node, stops the RMI processing on all service nodes.

virtual void vtkParallelRenderManager::StartRender ( ) [virtual]

Callbacks that initialize and finish rendering and other tasks.

virtual void vtkParallelRenderManager::EndRender ( ) [virtual]

Callbacks that initialize and finish rendering and other tasks.

Callbacks that initialize and finish rendering and other tasks.

Callbacks that initialize and finish rendering and other tasks.

virtual void vtkParallelRenderManager::RenderRMI ( ) [virtual]

Callbacks that initialize and finish rendering and other tasks.

virtual void vtkParallelRenderManager::ResetCamera ( vtkRenderer ren) [virtual]

Callbacks that initialize and finish rendering and other tasks.

Callbacks that initialize and finish rendering and other tasks.

virtual void vtkParallelRenderManager::ComputeVisiblePropBoundsRMI ( int  renderId) [virtual]

Callbacks that initialize and finish rendering and other tasks.

virtual void vtkParallelRenderManager::InitializeRMIs ( ) [virtual]
virtual void vtkParallelRenderManager::ResetAllCameras ( ) [virtual]

Resets the camera of each renderer contained in the RenderWindow. Should only be called in the "root" process, and all remote processes must be processing RMIs for this method to complete.

virtual void vtkParallelRenderManager::ComputeVisiblePropBounds ( vtkRenderer ren,
double  bounds[6] 
) [virtual]

Calculates the bounds by gathering information from all processes.

Turns on/off parallel rendering. When on (the default) the object responds to render events of the attached window, propagates the render event to other processors, and otherwise enables the parallel rendering process.

Turns on/off parallel rendering. When on (the default) the object responds to render events of the attached window, propagates the render event to other processors, and otherwise enables the parallel rendering process.

Turns on/off parallel rendering. When on (the default) the object responds to render events of the attached window, propagates the render event to other processors, and otherwise enables the parallel rendering process.

Turns on/off parallel rendering. When on (the default) the object responds to render events of the attached window, propagates the render event to other processors, and otherwise enables the parallel rendering process.

Turns on/off render event propagation. When on (the default) and ParallelRendering is on, process 0 will send an RMI call to all remote processes to perform a synchronized render. When off, render must be manually called on each process.

Turns on/off render event propagation. When on (the default) and ParallelRendering is on, process 0 will send an RMI call to all remote processes to perform a synchronized render. When off, render must be manually called on each process.

Turns on/off render event propagation. When on (the default) and ParallelRendering is on, process 0 will send an RMI call to all remote processes to perform a synchronized render. When off, render must be manually called on each process.

Turns on/off render event propagation. When on (the default) and ParallelRendering is on, process 0 will send an RMI call to all remote processes to perform a synchronized render. When off, render must be manually called on each process.

static void vtkParallelRenderManager::SetDefaultRenderEventPropagation ( bool  val) [inline, static]

Get/Set the default value used for RenderEventPropagation when a new instance of vtkParallelRenderManager is created. Set to true by default.

Definition at line 167 of file vtkParallelRenderManager.h.

Get/Set the default value used for RenderEventPropagation when a new instance of vtkParallelRenderManager is created. Set to true by default.

Definition at line 169 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::SetUseCompositing ( int  ) [virtual]

This is used for tiled display rendering. When data has been duplicated on all processes, then we do not need to compositing. Cameras and renders are still propagated though.

This is used for tiled display rendering. When data has been duplicated on all processes, then we do not need to compositing. Cameras and renders are still propagated though.

virtual void vtkParallelRenderManager::UseCompositingOn ( ) [virtual]

This is used for tiled display rendering. When data has been duplicated on all processes, then we do not need to compositing. Cameras and renders are still propagated though.

virtual void vtkParallelRenderManager::UseCompositingOff ( ) [virtual]

This is used for tiled display rendering. When data has been duplicated on all processes, then we do not need to compositing. Cameras and renders are still propagated though.

virtual void vtkParallelRenderManager::SetImageReductionFactor ( double  factor) [virtual]

Set/Get the reduction factor (for sort-last based parallel renderers). The size of rendered image is divided by the reduction factor and then is blown up to the size of the current vtkRenderWindow. Setting higher reduction factors enables shorter image transfer times (which is often the bottleneck) but will greatly reduce image quality. A reduction factor of 2 or greater should only be used for intermediate images in interactive applications. A reduction factor of 1 (or less) will result in no change in image quality. A parallel render manager may ignore the image reduction factor if it will result in little or no performance enhancements (eg. it does not do image space manipulations).

Set/Get the reduction factor (for sort-last based parallel renderers). The size of rendered image is divided by the reduction factor and then is blown up to the size of the current vtkRenderWindow. Setting higher reduction factors enables shorter image transfer times (which is often the bottleneck) but will greatly reduce image quality. A reduction factor of 2 or greater should only be used for intermediate images in interactive applications. A reduction factor of 1 (or less) will result in no change in image quality. A parallel render manager may ignore the image reduction factor if it will result in little or no performance enhancements (eg. it does not do image space manipulations).

virtual void vtkParallelRenderManager::SetImageReductionFactorForUpdateRate ( double  DesiredUpdateRate) [virtual]

Sets the ReductionFactor based on the given desired update rate and the rendering metrics taken from the last time UpdateServerInfo was called. Note that if AutoReductionFactor is on, this function is called with the desired update rate of the render window automatically.

If on, the ReductionFactor is automatically adjusted to best meet the the DesiredUpdateRate in the current RenderWindow based on metrics from the last render.

If on, the ReductionFactor is automatically adjusted to best meet the the DesiredUpdateRate in the current RenderWindow based on metrics from the last render.

If on, the ReductionFactor is automatically adjusted to best meet the the DesiredUpdateRate in the current RenderWindow based on metrics from the last render.

If on, the ReductionFactor is automatically adjusted to best meet the the DesiredUpdateRate in the current RenderWindow based on metrics from the last render.

Get rendering metrics.

Get rendering metrics.

Reimplemented in vtkCompositeRenderManager.

By default, the state of all renderers in the root's render window is propagated to the rest of the processes. In order for this to work, all render windows must have the same renderers in the same order. If this is not the case, you can turn off the SyncRenderWindowRenderers. When this flag is off, the list of renderers held by this parallel render manager (initially empty) is synced. You can modify the list of renderers with the AddRenderer, RemoveRenderer, and RemoveAllRenderers methods.

By default, the state of all renderers in the root's render window is propagated to the rest of the processes. In order for this to work, all render windows must have the same renderers in the same order. If this is not the case, you can turn off the SyncRenderWindowRenderers. When this flag is off, the list of renderers held by this parallel render manager (initially empty) is synced. You can modify the list of renderers with the AddRenderer, RemoveRenderer, and RemoveAllRenderers methods.

By default, the state of all renderers in the root's render window is propagated to the rest of the processes. In order for this to work, all render windows must have the same renderers in the same order. If this is not the case, you can turn off the SyncRenderWindowRenderers. When this flag is off, the list of renderers held by this parallel render manager (initially empty) is synced. You can modify the list of renderers with the AddRenderer, RemoveRenderer, and RemoveAllRenderers methods.

By default, the state of all renderers in the root's render window is propagated to the rest of the processes. In order for this to work, all render windows must have the same renderers in the same order. If this is not the case, you can turn off the SyncRenderWindowRenderers. When this flag is off, the list of renderers held by this parallel render manager (initially empty) is synced. You can modify the list of renderers with the AddRenderer, RemoveRenderer, and RemoveAllRenderers methods.

virtual void vtkParallelRenderManager::AddRenderer ( vtkRenderer ) [virtual]

By default, the state of all renderers in the root's render window is propagated to the rest of the processes. In order for this to work, all render windows must have the same renderers in the same order. If this is not the case, you can turn off the SyncRenderWindowRenderers. When this flag is off, the list of renderers held by this parallel render manager (initially empty) is synced. You can modify the list of renderers with the AddRenderer, RemoveRenderer, and RemoveAllRenderers methods.

virtual void vtkParallelRenderManager::RemoveRenderer ( vtkRenderer ) [virtual]

By default, the state of all renderers in the root's render window is propagated to the rest of the processes. In order for this to work, all render windows must have the same renderers in the same order. If this is not the case, you can turn off the SyncRenderWindowRenderers. When this flag is off, the list of renderers held by this parallel render manager (initially empty) is synced. You can modify the list of renderers with the AddRenderer, RemoveRenderer, and RemoveAllRenderers methods.

By default, the state of all renderers in the root's render window is propagated to the rest of the processes. In order for this to work, all render windows must have the same renderers in the same order. If this is not the case, you can turn off the SyncRenderWindowRenderers. When this flag is off, the list of renderers held by this parallel render manager (initially empty) is synced. You can modify the list of renderers with the AddRenderer, RemoveRenderer, and RemoveAllRenderers methods.

virtual void vtkParallelRenderManager::SetWriteBackImages ( int  ) [virtual]

If on (the default), the result of any image space manipulations are written back to the render window frame buffer. If off, the image stored in the frame buffer may not be correct. Either way, the correct frame buffer images may be read with vtkParallelRenderManager::GetPixelData. Turning WriteBackImages off may result in a speedup if the render window is not visible to the user and images are read back for further processing or transit.

If on (the default), the result of any image space manipulations are written back to the render window frame buffer. If off, the image stored in the frame buffer may not be correct. Either way, the correct frame buffer images may be read with vtkParallelRenderManager::GetPixelData. Turning WriteBackImages off may result in a speedup if the render window is not visible to the user and images are read back for further processing or transit.

virtual void vtkParallelRenderManager::WriteBackImagesOn ( ) [virtual]

If on (the default), the result of any image space manipulations are written back to the render window frame buffer. If off, the image stored in the frame buffer may not be correct. Either way, the correct frame buffer images may be read with vtkParallelRenderManager::GetPixelData. Turning WriteBackImages off may result in a speedup if the render window is not visible to the user and images are read back for further processing or transit.

If on (the default), the result of any image space manipulations are written back to the render window frame buffer. If off, the image stored in the frame buffer may not be correct. Either way, the correct frame buffer images may be read with vtkParallelRenderManager::GetPixelData. Turning WriteBackImages off may result in a speedup if the render window is not visible to the user and images are read back for further processing or transit.

virtual void vtkParallelRenderManager::SetMagnifyImages ( int  ) [virtual]

If on (the default), when the ImageReductionFactor is greater than 1 and WriteBackImages is on, the image will be magnified to fill the entire render window.

If on (the default), when the ImageReductionFactor is greater than 1 and WriteBackImages is on, the image will be magnified to fill the entire render window.

virtual void vtkParallelRenderManager::MagnifyImagesOn ( ) [virtual]

If on (the default), when the ImageReductionFactor is greater than 1 and WriteBackImages is on, the image will be magnified to fill the entire render window.

virtual void vtkParallelRenderManager::MagnifyImagesOff ( ) [virtual]

If on (the default), when the ImageReductionFactor is greater than 1 and WriteBackImages is on, the image will be magnified to fill the entire render window.

virtual void vtkParallelRenderManager::SetMagnifyImageMethod ( int  method) [virtual]

Sets the method used to magnify images. Nearest simply replicates each pixel enough times to fill the image. Linear performs linear interpolation between the pixels.

Sets the method used to magnify images. Nearest simply replicates each pixel enough times to fill the image. Linear performs linear interpolation between the pixels.

Sets the method used to magnify images. Nearest simply replicates each pixel enough times to fill the image. Linear performs linear interpolation between the pixels.

Definition at line 272 of file vtkParallelRenderManager.h.

Sets the method used to magnify images. Nearest simply replicates each pixel enough times to fill the image. Linear performs linear interpolation between the pixels.

Definition at line 275 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::MagnifyImage ( vtkUnsignedCharArray fullImage,
const int  fullImageSize[2],
vtkUnsignedCharArray reducedImage,
const int  reducedImageSize[2],
const int  fullImageViewport[4] = NULL,
const int  reducedImageViewport[4] = NULL 
) [virtual]

Convenience functions for magnifying images.

static void vtkParallelRenderManager::MagnifyImageNearest ( vtkUnsignedCharArray fullImage,
const int  fullImageSize[2],
vtkUnsignedCharArray reducedImage,
const int  reducedImageSize[2],
const int  fullImageViewport[4] = NULL,
const int  reducedImageViewport[4] = NULL 
) [static]

Convenience functions for magnifying images.

static void vtkParallelRenderManager::MagnifyImageLinear ( vtkUnsignedCharArray fullImage,
const int  fullImageSize[2],
vtkUnsignedCharArray reducedImage,
const int  reducedImageSize[2],
const int  fullImageViewport[4] = NULL,
const int  reducedImageViewport[4] = NULL 
) [static]

Convenience functions for magnifying images.

The most appropriate way to retrieve full size image data after a render. Will work regardless of whether WriteBackImages or MagnifyImage is on or off. The data returned may be a shallow copy of an internal array. Therefore, the data may be invalid after the next render or if the ParallelRenderManager is destroyed.

virtual void vtkParallelRenderManager::GetPixelData ( int  x1,
int  y1,
int  x2,
int  y2,
vtkUnsignedCharArray data 
) [virtual]

The most appropriate way to retrieve full size image data after a render. Will work regardless of whether WriteBackImages or MagnifyImage is on or off. The data returned may be a shallow copy of an internal array. Therefore, the data may be invalid after the next render or if the ParallelRenderManager is destroyed.

The most appropriate way to retrieve reduced size image data after a render. Will work regardless of whether WriteBackImages or MagnifyImage is on or off. The data returned may be a shallow copy of an internal array. Therefore, the data may be invalid after the next render or if the ParallelRenderManager is destroyed.

virtual void vtkParallelRenderManager::GetReducedPixelData ( int  x1,
int  y1,
int  x2,
int  y2,
vtkUnsignedCharArray data 
) [virtual]

The most appropriate way to retrieve reduced size image data after a render. Will work regardless of whether WriteBackImages or MagnifyImage is on or off. The data returned may be a shallow copy of an internal array. Therefore, the data may be invalid after the next render or if the ParallelRenderManager is destroyed.

Returns the full image size calculated at the last render.

virtual void vtkParallelRenderManager::GetFullImageSize ( int ,
int  
) [virtual]

Returns the full image size calculated at the last render.

virtual void vtkParallelRenderManager::GetFullImageSize ( int  [2]) [virtual]

Returns the full image size calculated at the last render.

Returns the reduced image size calculated at the last render.

virtual void vtkParallelRenderManager::GetReducedImageSize ( int ,
int  
) [virtual]

Returns the reduced image size calculated at the last render.

virtual void vtkParallelRenderManager::GetReducedImageSize ( int  [2]) [virtual]

Returns the reduced image size calculated at the last render.

void vtkParallelRenderManager::TileWindows ( int  xsize,
int  ysize,
int  nColumns 
)

Given the x and y size of the render windows, reposition them in a tile of n columns.

virtual void vtkParallelRenderManager::SetUseRGBA ( int  ) [virtual]

Get/Set if all Images must use RGBA instead of RGB. By default, this flag is on.

Get/Set if all Images must use RGBA instead of RGB. By default, this flag is on.

If ForceRenderWindowSize is set to true, the render manager will use the RenderWindowSize ivar instead of getting the size from the render window.

If ForceRenderWindowSize is set to true, the render manager will use the RenderWindowSize ivar instead of getting the size from the render window.

virtual void vtkParallelRenderManager::SetForcedRenderWindowSize ( int  ,
int   
) [virtual]

If ForceRenderWindowSize is set to true, the render manager will use the Size ivar instead of getting the size from the render window.

If ForceRenderWindowSize is set to true, the render manager will use the Size ivar instead of getting the size from the render window.

If ForceRenderWindowSize is set to true, the render manager will use the Size ivar instead of getting the size from the render window.

virtual void vtkParallelRenderManager::GetForcedRenderWindowSize ( int ,
int  
) [virtual]

If ForceRenderWindowSize is set to true, the render manager will use the Size ivar instead of getting the size from the render window.

If ForceRenderWindowSize is set to true, the render manager will use the Size ivar instead of getting the size from the render window.

virtual void vtkParallelRenderManager::CheckForAbortRender ( ) [inline, virtual]

Definition at line 370 of file vtkParallelRenderManager.h.

Definition at line 371 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::SetUseBackBuffer ( int  ) [virtual]

The default is to allow the use of the back buffer for compositing. If set to false, this will prevent to manager from swapping buffers. This allows something else (for instance VisibleCellSelection) to control front/back buffer swapping.

The default is to allow the use of the back buffer for compositing. If set to false, this will prevent to manager from swapping buffers. This allows something else (for instance VisibleCellSelection) to control front/back buffer swapping.

virtual void vtkParallelRenderManager::UseBackBufferOn ( ) [virtual]

The default is to allow the use of the back buffer for compositing. If set to false, this will prevent to manager from swapping buffers. This allows something else (for instance VisibleCellSelection) to control front/back buffer swapping.

virtual void vtkParallelRenderManager::UseBackBufferOff ( ) [virtual]

The default is to allow the use of the back buffer for compositing. If set to false, this will prevent to manager from swapping buffers. This allows something else (for instance VisibleCellSelection) to control front/back buffer swapping.

When set the render manager will synchronize the TileViewport and TileScale properties. This may not be desirable in cases where there's some other mechanism to set the tile dimensions eg. Tile displays.

When set the render manager will synchronize the TileViewport and TileScale properties. This may not be desirable in cases where there's some other mechanism to set the tile dimensions eg. Tile displays.

When set the render manager will synchronize the TileViewport and TileScale properties. This may not be desirable in cases where there's some other mechanism to set the tile dimensions eg. Tile displays.

When set the render manager will synchronize the TileViewport and TileScale properties. This may not be desirable in cases where there's some other mechanism to set the tile dimensions eg. Tile displays.

INTERNAL METHODS (DON NOT USE). There are internal methods made public so that they can be called from callback functions.

INTERNAL METHODS (DON NOT USE). There are internal methods made public so that they can be called from callback functions.

Add/Remove event handlers for the render window.

Add/Remove event handlers for the render window.

virtual void vtkParallelRenderManager::SendWindowInformation ( ) [inline, protected, virtual]

Used to synchronize rendering information per frame. These are old methods provided for backwords compatibility. One should look at using CollectWindowInformation(), ProcessWindowInformation() etc. for bufferred sending of information over.

Definition at line 481 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::ReceiveWindowInformation ( ) [inline, protected, virtual]

Used to synchronize rendering information per frame. These are old methods provided for backwords compatibility. One should look at using CollectWindowInformation(), ProcessWindowInformation() etc. for bufferred sending of information over.

Definition at line 482 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::SendRendererInformation ( vtkRenderer ) [inline, protected, virtual]

Used to synchronize rendering information per frame. These are old methods provided for backwords compatibility. One should look at using CollectWindowInformation(), ProcessWindowInformation() etc. for bufferred sending of information over.

Definition at line 483 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::ReceiveRendererInformation ( vtkRenderer ) [inline, protected, virtual]

Used to synchronize rendering information per frame. These are old methods provided for backwords compatibility. One should look at using CollectWindowInformation(), ProcessWindowInformation() etc. for bufferred sending of information over.

Definition at line 484 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::CollectWindowInformation ( vtkMultiProcessStream ) [inline, protected, virtual]

Subclass should override these methods (instead of SendWindowInformation/ReceiveWindowInformation or SendRendererInformation/ReceiveRendererInformation) to collect or process meta-data to synchronize rendering information per frame. Subclass should not use the Controller directly to send receive messages in any of these methods otherwise deadlocks may ensue.

Definition at line 494 of file vtkParallelRenderManager.h.

virtual bool vtkParallelRenderManager::ProcessWindowInformation ( vtkMultiProcessStream ) [inline, protected, virtual]

Subclass should override these methods (instead of SendWindowInformation/ReceiveWindowInformation or SendRendererInformation/ReceiveRendererInformation) to collect or process meta-data to synchronize rendering information per frame. Subclass should not use the Controller directly to send receive messages in any of these methods otherwise deadlocks may ensue.

Definition at line 495 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::CollectRendererInformation ( vtkRenderer ,
vtkMultiProcessStream  
) [inline, protected, virtual]

Subclass should override these methods (instead of SendWindowInformation/ReceiveWindowInformation or SendRendererInformation/ReceiveRendererInformation) to collect or process meta-data to synchronize rendering information per frame. Subclass should not use the Controller directly to send receive messages in any of these methods otherwise deadlocks may ensue.

Definition at line 497 of file vtkParallelRenderManager.h.

virtual bool vtkParallelRenderManager::ProcessRendererInformation ( vtkRenderer ,
vtkMultiProcessStream  
) [inline, protected, virtual]

Subclass should override these methods (instead of SendWindowInformation/ReceiveWindowInformation or SendRendererInformation/ReceiveRendererInformation) to collect or process meta-data to synchronize rendering information per frame. Subclass should not use the Controller directly to send receive messages in any of these methods otherwise deadlocks may ensue.

Definition at line 499 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::PreRenderProcessing ( ) [protected, pure virtual]

Here is a good place to handle processing of data before and after render.

Implemented in vtkCompositeRenderManager, and vtkImageRenderManager.

virtual void vtkParallelRenderManager::PostRenderProcessing ( ) [protected, pure virtual]

Here is a good place to handle processing of data before and after render.

Implemented in vtkCompositeRenderManager, and vtkImageRenderManager.

virtual void vtkParallelRenderManager::SetRenderWindowSize ( ) [protected, virtual]

Called in satellites to set the render window size to the current FullImageSize and ReducedImageSize (or vice versa).

virtual void vtkParallelRenderManager::LocalComputeVisiblePropBounds ( vtkRenderer ren,
double  bounds[6] 
) [protected, virtual]

Called by ComputeVisiblePropBoundsRMI to get the bounds of a local renderer. Override this method if the true bounds are different than those reported by the renderer.

virtual void vtkParallelRenderManager::MagnifyReducedImage ( ) [protected, virtual]

When called, fills FullImage.

virtual void vtkParallelRenderManager::WriteFullImage ( ) [protected, virtual]

Write the full image back to the RenderWindow.

virtual void vtkParallelRenderManager::ReadReducedImage ( ) [protected, virtual]

Reads in the reduced image from the RenderWindow.

virtual int vtkParallelRenderManager::LastRenderInFrontBuffer ( ) [protected, virtual]

Returns 1 if the RenderWindow's last image is in the front buffer, 0 if it is in the back.

virtual int vtkParallelRenderManager::ChooseBuffer ( ) [protected, virtual]

Select buffer to read from / render into.

virtual void vtkParallelRenderManager::SetRenderWindowPixelData ( vtkUnsignedCharArray pixels,
const int  pixelDimensions[2] 
) [protected, virtual]

Sets the current render window's pixel data.

virtual int vtkParallelRenderManager::ImageReduceRenderer ( vtkRenderer ) [inline, protected, virtual]

Returns true if the image for the given renderer should be rendered at a reduced size to be magnified later. This method always returns true, but subclasses may render some renderers at a reduced size, magnify them, and then render the other renderers at full resolution.

Definition at line 545 of file vtkParallelRenderManager.h.


Member Data Documentation

Definition at line 413 of file vtkParallelRenderManager.h.

Definition at line 414 of file vtkParallelRenderManager.h.

Definition at line 415 of file vtkParallelRenderManager.h.

Definition at line 419 of file vtkParallelRenderManager.h.

Definition at line 420 of file vtkParallelRenderManager.h.

The "root" node's process id. This is the node which is listening for and propagating new render events from the RenderWindow. All processes on the controller must have the same value. This value must be set before SetRenderWindow method is called. In the constructor or the SetController methods are good places. By default this is set to 0.

Definition at line 428 of file vtkParallelRenderManager.h.

Definition at line 430 of file vtkParallelRenderManager.h.

Definition at line 431 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::StartRenderTag [protected]

Definition at line 433 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::EndRenderTag [protected]

Definition at line 434 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::ResetCameraTag [protected]

Definition at line 435 of file vtkParallelRenderManager.h.

Definition at line 436 of file vtkParallelRenderManager.h.

Definition at line 437 of file vtkParallelRenderManager.h.

Definition at line 439 of file vtkParallelRenderManager.h.

Definition at line 440 of file vtkParallelRenderManager.h.

Definition at line 441 of file vtkParallelRenderManager.h.

Definition at line 443 of file vtkParallelRenderManager.h.

Definition at line 444 of file vtkParallelRenderManager.h.

Definition at line 445 of file vtkParallelRenderManager.h.

Definition at line 447 of file vtkParallelRenderManager.h.

Definition at line 448 of file vtkParallelRenderManager.h.

Definition at line 449 of file vtkParallelRenderManager.h.

Definition at line 450 of file vtkParallelRenderManager.h.

Definition at line 452 of file vtkParallelRenderManager.h.

Definition at line 453 of file vtkParallelRenderManager.h.

Definition at line 455 of file vtkParallelRenderManager.h.

Definition at line 456 of file vtkParallelRenderManager.h.

Definition at line 457 of file vtkParallelRenderManager.h.

Definition at line 459 of file vtkParallelRenderManager.h.

Definition at line 461 of file vtkParallelRenderManager.h.

Definition at line 462 of file vtkParallelRenderManager.h.

Definition at line 463 of file vtkParallelRenderManager.h.

Definition at line 464 of file vtkParallelRenderManager.h.

Definition at line 465 of file vtkParallelRenderManager.h.

Definition at line 467 of file vtkParallelRenderManager.h.

Definition at line 469 of file vtkParallelRenderManager.h.

Definition at line 470 of file vtkParallelRenderManager.h.

Used by SetImageReductionFactorForUpdateRate to smooth transitions transitions between image reduction factors.

Definition at line 474 of file vtkParallelRenderManager.h.

Definition at line 595 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::RenderRMIId [protected]

Definition at line 596 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::BoundsRMIId [protected]

Definition at line 597 of file vtkParallelRenderManager.h.

Definition at line 598 of file vtkParallelRenderManager.h.

Definition at line 600 of file vtkParallelRenderManager.h.


The documentation for this class was generated from the following file: