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.

This class is based on the vtkCompositeManager class, except that it can handle any type of parallel rendering.

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 65 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_INT_TAG = 87834, WIN_INFO_DOUBLE_TAG = 87835,
  REN_INFO_INT_TAG = 87836, REN_INFO_DOUBLE_TAG = 87837, LIGHT_INFO_DOUBLE_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 ()
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 ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkParallelRenderManagerSafeDownCast (vtkObject *o)

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 *)
virtual void SendWindowInformation ()
virtual void ReceiveWindowInformation ()
virtual void SendRendererInformation (vtkRenderer *)
virtual void ReceiveRendererInformation (vtkRenderer *)
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 const int WIN_INFO_INT_SIZE
static const int WIN_INFO_DOUBLE_SIZE
static const int REN_INFO_INT_SIZE
static const int REN_INFO_DOUBLE_SIZE
static const int LIGHT_INFO_DOUBLE_SIZE

Classes

struct  LightInfoDouble
struct  RendererInfoDouble
struct  RendererInfoInt
struct  RenderWindowInfoDouble
struct  RenderWindowInfoInt

Member Typedef Documentation

Reimplemented from vtkObject.

Reimplemented in vtkCompositeRenderManager.

Definition at line 68 of file vtkParallelRenderManager.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
NEAREST 
LINEAR 

Definition at line 254 of file vtkParallelRenderManager.h.

Enumerator:
RENDER_RMI_TAG 
COMPUTE_VISIBLE_PROP_BOUNDS_RMI_TAG 
WIN_INFO_INT_TAG 
WIN_INFO_DOUBLE_TAG 
REN_INFO_INT_TAG 
REN_INFO_DOUBLE_TAG 
LIGHT_INFO_DOUBLE_TAG 
REN_ID_TAG 
BOUNDS_TAG 

Definition at line 350 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 (  )  [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.

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 263 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 266 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 362 of file vtkParallelRenderManager.h.

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

Definition at line 363 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 vtkRendererCollection* vtkParallelRenderManager::GetRenderers (  )  [protected, virtual]

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

Used to synchronize rendering information per frame.

Definition at line 489 of file vtkParallelRenderManager.h.

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

Used to synchronize rendering information per frame.

Definition at line 490 of file vtkParallelRenderManager.h.

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

Used to synchronize rendering information per frame.

Definition at line 491 of file vtkParallelRenderManager.h.

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

Used to synchronize rendering information per frame.

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


Member Data Documentation

Definition at line 424 of file vtkParallelRenderManager.h.

Definition at line 425 of file vtkParallelRenderManager.h.

Definition at line 426 of file vtkParallelRenderManager.h.

Definition at line 430 of file vtkParallelRenderManager.h.

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

Definition at line 441 of file vtkParallelRenderManager.h.

Definition at line 442 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::StartRenderTag [protected]

Definition at line 444 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::EndRenderTag [protected]

Definition at line 445 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::ResetCameraTag [protected]

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

Definition at line 451 of file vtkParallelRenderManager.h.

Definition at line 452 of file vtkParallelRenderManager.h.

Definition at line 454 of file vtkParallelRenderManager.h.

Definition at line 455 of file vtkParallelRenderManager.h.

Definition at line 456 of file vtkParallelRenderManager.h.

Definition at line 458 of file vtkParallelRenderManager.h.

Definition at line 459 of file vtkParallelRenderManager.h.

Definition at line 460 of file vtkParallelRenderManager.h.

Definition at line 461 of file vtkParallelRenderManager.h.

Definition at line 463 of file vtkParallelRenderManager.h.

Definition at line 464 of file vtkParallelRenderManager.h.

Definition at line 466 of file vtkParallelRenderManager.h.

Definition at line 467 of file vtkParallelRenderManager.h.

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

Definition at line 476 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.

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

Definition at line 485 of file vtkParallelRenderManager.h.

const int vtkParallelRenderManager::WIN_INFO_INT_SIZE [static, protected]

Definition at line 582 of file vtkParallelRenderManager.h.

const int vtkParallelRenderManager::WIN_INFO_DOUBLE_SIZE [static, protected]

Definition at line 583 of file vtkParallelRenderManager.h.

const int vtkParallelRenderManager::REN_INFO_INT_SIZE [static, protected]

Definition at line 584 of file vtkParallelRenderManager.h.

const int vtkParallelRenderManager::REN_INFO_DOUBLE_SIZE [static, protected]

Definition at line 585 of file vtkParallelRenderManager.h.

const int vtkParallelRenderManager::LIGHT_INFO_DOUBLE_SIZE [static, protected]

Definition at line 586 of file vtkParallelRenderManager.h.

Definition at line 589 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::RenderRMIId [protected]

Definition at line 590 of file vtkParallelRenderManager.h.

unsigned long vtkParallelRenderManager::BoundsRMIId [protected]

Definition at line 591 of file vtkParallelRenderManager.h.

Definition at line 592 of file vtkParallelRenderManager.h.


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

Generated on Sat Dec 27 13:41:02 2008 for VTK by  doxygen 1.5.6