vtkParallelRenderManager Class Reference

#include <vtkParallelRenderManager.h>

Inheritance diagram for vtkParallelRenderManager:

Inheritance graph
[legend]
Collaboration diagram for vtkParallelRenderManager:

Collaboration graph
[legend]

List of all members.


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 boundry in three-space
Events:
vtkCommand::StartEvent vtkCommand::EndEvent
Tests:
vtkParallelRenderManager (Tests)

Definition at line 63 of file vtkParallelRenderManager.h.

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)
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)

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 const char * GetClassName ()
virtual int IsA (const char *type)
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 void StartService ()
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 int * GetFullImageSize ()
virtual void GetFullImageSize (int &, int &)
virtual void GetFullImageSize (int[2])
virtual int * GetReducedImageSize ()
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 int * GetForcedRenderWindowSize ()
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 (vtkObject *o)
static void SetDefaultRenderEventPropagation (bool val)
static bool GetDefaultRenderEventPropagation ()

Protected Member Functions

 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

Classes

struct  LightInfo
struct  RendererInfo
struct  RenderWindowInfo

Member Typedef Documentation

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager.

Definition at line 66 of file vtkParallelRenderManager.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
NEAREST 
LINEAR 

Definition at line 262 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 358 of file vtkParallelRenderManager.h.


Constructor & Destructor Documentation

vtkParallelRenderManager::vtkParallelRenderManager (  )  [protected]

vtkParallelRenderManager::~vtkParallelRenderManager (  )  [protected]


Member Function Documentation

virtual const char* vtkParallelRenderManager::GetClassName (  )  [virtual]

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager.

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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager.

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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager.

static vtkParallelRenderManager* vtkParallelRenderManager::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager.

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.

virtual vtkRenderWindow* vtkParallelRenderManager::MakeRenderWindow (  )  [virtual]

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.

virtual vtkRenderer* vtkParallelRenderManager::MakeRenderer (  )  [virtual]

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.

virtual vtkRenderWindow* vtkParallelRenderManager::GetRenderWindow (  )  [virtual]

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.

virtual vtkMultiProcessController* vtkParallelRenderManager::GetController (  )  [virtual]

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.

virtual void vtkParallelRenderManager::InitializeOffScreen (  )  [virtual]

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.

virtual void vtkParallelRenderManager::SatelliteStartRender (  )  [virtual]

Callbacks that initialize and finish rendering and other tasks.

virtual void vtkParallelRenderManager::SatelliteEndRender (  )  [virtual]

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.

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

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.

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

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.

virtual int vtkParallelRenderManager::GetParallelRendering (  )  [virtual]

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.

virtual void vtkParallelRenderManager::ParallelRenderingOn (  )  [virtual]

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.

virtual void vtkParallelRenderManager::ParallelRenderingOff (  )  [virtual]

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.

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

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.

virtual int vtkParallelRenderManager::GetRenderEventPropagation (  )  [virtual]

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.

virtual void vtkParallelRenderManager::RenderEventPropagationOn (  )  [virtual]

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.

virtual void vtkParallelRenderManager::RenderEventPropagationOff (  )  [virtual]

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 166 of file vtkParallelRenderManager.h.

static bool vtkParallelRenderManager::GetDefaultRenderEventPropagation (  )  [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 168 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.

virtual int vtkParallelRenderManager::GetUseCompositing (  )  [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::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).

virtual double vtkParallelRenderManager::GetImageReductionFactor (  )  [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).

virtual void vtkParallelRenderManager::SetMaxImageReductionFactor ( double   )  [virtual]

virtual double vtkParallelRenderManager::GetMaxImageReductionFactor (  )  [virtual]

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.

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

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

virtual int vtkParallelRenderManager::GetAutoImageReductionFactor (  )  [virtual]

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

virtual void vtkParallelRenderManager::AutoImageReductionFactorOn (  )  [virtual]

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

virtual void vtkParallelRenderManager::AutoImageReductionFactorOff (  )  [virtual]

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

virtual double vtkParallelRenderManager::GetRenderTime (  )  [virtual]

Get rendering metrics.

virtual double vtkParallelRenderManager::GetImageProcessingTime (  )  [virtual]

Get rendering metrics.

Reimplemented in vtkCompositeRenderManager.

virtual int vtkParallelRenderManager::GetSyncRenderWindowRenderers (  )  [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::SetSyncRenderWindowRenderers ( int   )  [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::SyncRenderWindowRenderersOn (  )  [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::SyncRenderWindowRenderersOff (  )  [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::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.

virtual void vtkParallelRenderManager::RemoveAllRenderers (  )  [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::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.

virtual int vtkParallelRenderManager::GetWriteBackImages (  )  [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.

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.

virtual void vtkParallelRenderManager::WriteBackImagesOff (  )  [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.

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.

virtual int vtkParallelRenderManager::GetMagnifyImages (  )  [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::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.

virtual int vtkParallelRenderManager::GetMagnifyImageMethod (  )  [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.

void vtkParallelRenderManager::SetMagnifyImageMethodToNearest (  )  [inline]

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 271 of file vtkParallelRenderManager.h.

void vtkParallelRenderManager::SetMagnifyImageMethodToLinear (  )  [inline]

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 274 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.

virtual void vtkParallelRenderManager::GetPixelData ( 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.

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.

virtual void vtkParallelRenderManager::GetReducedPixelData ( 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.

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.

virtual int* vtkParallelRenderManager::GetFullImageSize (  )  [virtual]

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.

virtual int* vtkParallelRenderManager::GetReducedImageSize (  )  [virtual]

Returns the full image size calculated at the last render.

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

Returns the full image size calculated at the last render.

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

Returns the full 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.

virtual int vtkParallelRenderManager::GetUseRGBA (  )  [virtual]

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

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

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

virtual int vtkParallelRenderManager::GetForceRenderWindowSize (  )  [virtual]

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.

void vtkParallelRenderManager::SetForcedRenderWindowSize ( int  [2]  ) 

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

virtual int* vtkParallelRenderManager::GetForcedRenderWindowSize (  )  [virtual]

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.

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

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 368 of file vtkParallelRenderManager.h.

virtual int vtkParallelRenderManager::CheckForAbortComposite (  )  [inline, virtual]

Definition at line 369 of file vtkParallelRenderManager.h.

virtual void vtkParallelRenderManager::StartService (  )  [virtual]

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.

virtual int vtkParallelRenderManager::GetUseBackBuffer (  )  [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::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.

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

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.

virtual int vtkParallelRenderManager::GetSynchronizeTileProperties (  )  [virtual]

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.

virtual void vtkParallelRenderManager::SynchronizeTilePropertiesOn (  )  [virtual]

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.

virtual void vtkParallelRenderManager::SynchronizeTilePropertiesOff (  )  [virtual]

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.

virtual void vtkParallelRenderManager::GenericStartRenderCallback (  )  [virtual]

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

virtual void vtkParallelRenderManager::GenericEndRenderCallback (  )  [virtual]

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

void vtkParallelRenderManager::AddRenderWindowEventHandlers (  )  [protected]

Add/Remove event handlers for the render window.

void vtkParallelRenderManager::RemoveRenderWindowEventHandlers (  )  [protected]

Add/Remove event handlers for the render window.

virtual vtkRendererCollection* vtkParallelRenderManager::GetRenderers (  )  [protected, virtual]

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 514 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 515 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 516 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 517 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 527 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 528 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 530 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 532 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.

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

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

Implemented in vtkCompositeRenderManager.

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 578 of file vtkParallelRenderManager.h.


Member Data Documentation

Definition at line 446 of file vtkParallelRenderManager.h.

Definition at line 447 of file vtkParallelRenderManager.h.

Definition at line 448 of file vtkParallelRenderManager.h.

Definition at line 452 of file vtkParallelRenderManager.h.

Definition at line 453 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 461 of file vtkParallelRenderManager.h.

Definition at line 463 of file vtkParallelRenderManager.h.

Definition at line 464 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::StartRenderTag [protected]

Definition at line 466 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::EndRenderTag [protected]

Definition at line 467 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::ResetCameraTag [protected]

Definition at line 468 of file vtkParallelRenderManager.h.

Definition at line 469 of file vtkParallelRenderManager.h.

Definition at line 470 of file vtkParallelRenderManager.h.

Definition at line 472 of file vtkParallelRenderManager.h.

Definition at line 473 of file vtkParallelRenderManager.h.

Definition at line 474 of file vtkParallelRenderManager.h.

Definition at line 476 of file vtkParallelRenderManager.h.

Definition at line 477 of file vtkParallelRenderManager.h.

Definition at line 478 of file vtkParallelRenderManager.h.

Definition at line 480 of file vtkParallelRenderManager.h.

Definition at line 481 of file vtkParallelRenderManager.h.

Definition at line 482 of file vtkParallelRenderManager.h.

Definition at line 483 of file vtkParallelRenderManager.h.

Definition at line 485 of file vtkParallelRenderManager.h.

Definition at line 486 of file vtkParallelRenderManager.h.

Definition at line 488 of file vtkParallelRenderManager.h.

Definition at line 489 of file vtkParallelRenderManager.h.

Definition at line 490 of file vtkParallelRenderManager.h.

Definition at line 492 of file vtkParallelRenderManager.h.

Definition at line 494 of file vtkParallelRenderManager.h.

Definition at line 495 of file vtkParallelRenderManager.h.

Definition at line 496 of file vtkParallelRenderManager.h.

Definition at line 497 of file vtkParallelRenderManager.h.

Definition at line 498 of file vtkParallelRenderManager.h.

Definition at line 500 of file vtkParallelRenderManager.h.

Definition at line 502 of file vtkParallelRenderManager.h.

Definition at line 503 of file vtkParallelRenderManager.h.

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

Definition at line 507 of file vtkParallelRenderManager.h.

Definition at line 625 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::RenderRMIId [protected]

Definition at line 626 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::BoundsRMIId [protected]

Definition at line 627 of file vtkParallelRenderManager.h.

Definition at line 628 of file vtkParallelRenderManager.h.

Definition at line 630 of file vtkParallelRenderManager.h.


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

Generated on Wed Jun 3 19:22:25 2009 for VTK by  doxygen 1.5.6