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

synchronizes renderers across processes. More...

#include <vtkSynchronizedRenderers.h>

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

List of all members.

Classes

struct  RendererInfo
struct  vtkRawImage
 vtkRawImage can be used to make it easier to deal with images for compositing/communicating over client-server etc. More...

Public Types

enum  { SYNC_RENDERER_TAG = 15101, RESET_CAMERA_TAG = 15102, COMPUTE_BOUNDS_TAG = 15103 }
typedef vtkObject Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkSynchronizedRenderersNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void CollectiveExpandForVisiblePropBounds (double bounds[6])
virtual void SetRenderer (vtkRenderer *)
virtual vtkRendererGetRenderer ()
virtual void SetParallelController (vtkMultiProcessController *)
virtual vtkMultiProcessControllerGetParallelController ()
virtual void SetParallelRendering (bool)
virtual bool GetParallelRendering ()
virtual void ParallelRenderingOn ()
virtual void ParallelRenderingOff ()
virtual void SetImageReductionFactor (int)
virtual int GetImageReductionFactor ()
virtual void SetWriteBackImages (bool)
virtual bool GetWriteBackImages ()
virtual void WriteBackImagesOn ()
virtual void WriteBackImagesOff ()
virtual void SetRootProcessId (int)
virtual int GetRootProcessId ()
virtual void SetCaptureDelegate (vtkSynchronizedRenderers *)
virtual vtkSynchronizedRenderersGetCaptureDelegate ()
virtual void SetAutomaticEventHandling (bool)
virtual bool GetAutomaticEventHandling ()
virtual void AutomaticEventHandlingOn ()
virtual void AutomaticEventHandlingOff ()

Static Public Member Functions

static vtkSynchronizedRenderersNew ()
static int IsTypeOf (const char *type)
static vtkSynchronizedRenderersSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkSynchronizedRenderers ()
 ~vtkSynchronizedRenderers ()
virtual void HandleStartRender ()
virtual void HandleEndRender ()
virtual void HandleAbortRender ()
virtual void MasterStartRender ()
virtual void SlaveStartRender ()
virtual void MasterEndRender ()
virtual void SlaveEndRender ()
virtual vtkRawImageCaptureRenderedImage ()
void PushImageToScreen ()

Protected Attributes

vtkMultiProcessControllerParallelController
vtkOpenGLRendererRenderer
vtkSynchronizedRenderersCaptureDelegate
vtkRawImage ReducedImage
vtkRawImage FullImage
bool ParallelRendering
int ImageReductionFactor
bool WriteBackImages
int RootProcessId
bool AutomaticEventHandling

Friends

class vtkObserver

Detailed Description

synchronizes renderers across processes.

vtkSynchronizedRenderers is used to synchronize renderers (vtkRenderer and subclasses) across processes for parallel rendering. It's designed to be used in conjunction with vtkSynchronizedRenderWindows to synchronize the render windows among those processes. This class handles synchronization of certain render parameters among the renderers such as viewport, camera parameters. It doesn't support compositing of rendered images across processes on its own. You typically either subclass to implement a compositing algorithm or use a renderer capable of compositing eg. IceT based renderer.

Tests:
vtkSynchronizedRenderers (Tests)

Definition at line 45 of file vtkSynchronizedRenderers.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Reimplemented in vtkCompositedSynchronizedRenderers, and vtkClientServerSynchronizedRenderers.

Definition at line 49 of file vtkSynchronizedRenderers.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
SYNC_RENDERER_TAG 
RESET_CAMERA_TAG 
COMPUTE_BOUNDS_TAG 

Definition at line 127 of file vtkSynchronizedRenderers.h.


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

Reimplemented in vtkCompositedSynchronizedRenderers, and vtkClientServerSynchronizedRenderers.

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

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

Reimplemented from vtkObject.

Reimplemented in vtkCompositedSynchronizedRenderers, and vtkClientServerSynchronizedRenderers.

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

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

Reimplemented from vtkObject.

Reimplemented in vtkCompositedSynchronizedRenderers, and vtkClientServerSynchronizedRenderers.

virtual vtkObjectBase* vtkSynchronizedRenderers::NewInstanceInternal ( ) const [protected, virtual]
void vtkSynchronizedRenderers::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 vtkCompositedSynchronizedRenderers, and vtkClientServerSynchronizedRenderers.

virtual void vtkSynchronizedRenderers::SetRenderer ( vtkRenderer ) [virtual]

Set the renderer to be synchronized by this instance. A vtkSynchronizedRenderers instance can be used to synchronize exactly 1 renderer on each processes. You can create multiple instances on vtkSynchronizedRenderers to synchronize multiple renderers.

Set the renderer to be synchronized by this instance. A vtkSynchronizedRenderers instance can be used to synchronize exactly 1 renderer on each processes. You can create multiple instances on vtkSynchronizedRenderers to synchronize multiple renderers.

Set the parallel message communicator. This is used to communicate among processes.

Set the parallel message communicator. This is used to communicate among processes.

virtual void vtkSynchronizedRenderers::SetParallelRendering ( bool  ) [virtual]

Enable/Disable parallel rendering. Unless Parallel rendering is on, the cameras won't be synchronized across processes.

Enable/Disable parallel rendering. Unless Parallel rendering is on, the cameras won't be synchronized across processes.

Enable/Disable parallel rendering. Unless Parallel rendering is on, the cameras won't be synchronized across processes.

Enable/Disable parallel rendering. Unless Parallel rendering is on, the cameras won't be synchronized across processes.

Get/Set the image reduction factor.

Get/Set the image reduction factor.

virtual void vtkSynchronizedRenderers::SetWriteBackImages ( bool  ) [virtual]

If on (default), the rendered images are pasted back on to the screen. You should turn this flag off on processes that are not meant to be visible to the user.

If on (default), the rendered images are pasted back on to the screen. You should turn this flag off on processes that are not meant to be visible to the user.

virtual void vtkSynchronizedRenderers::WriteBackImagesOn ( ) [virtual]

If on (default), the rendered images are pasted back on to the screen. You should turn this flag off on processes that are not meant to be visible to the user.

If on (default), the rendered images are pasted back on to the screen. You should turn this flag off on processes that are not meant to be visible to the user.

virtual void vtkSynchronizedRenderers::SetRootProcessId ( int  ) [virtual]

Get/Set the root-process id. This is required when the ParallelController is a vtkSocketController. Set to 0 by default (which will not work when using a vtkSocketController but will work for vtkMPIController).

Get/Set the root-process id. This is required when the ParallelController is a vtkSocketController. Set to 0 by default (which will not work when using a vtkSocketController but will work for vtkMPIController).

Computes visible prob bounds. This must be called on all processes at the same time. The collective result is made available on all processes once this method returns. Note that this method requires that bounds is initialized to some value. This expands the bounds to include the prop bounds.

When set, this->CaptureRenderedImage() does not capture image from the screen instead passes the call to the delegate.

When set, this->CaptureRenderedImage() does not capture image from the screen instead passes the call to the delegate.

virtual void vtkSynchronizedRenderers::SetAutomaticEventHandling ( bool  ) [virtual]

When multiple groups of processes are synchronized together using different controllers, one needs to specify the order in which the various synchronizers execute. In such cases one starts with the outer most vtkSynchronizedRenderers, sets the dependent one as a CaptureDelegate on it and the turn off AutomaticEventHandling on the delegate.

When multiple groups of processes are synchronized together using different controllers, one needs to specify the order in which the various synchronizers execute. In such cases one starts with the outer most vtkSynchronizedRenderers, sets the dependent one as a CaptureDelegate on it and the turn off AutomaticEventHandling on the delegate.

When multiple groups of processes are synchronized together using different controllers, one needs to specify the order in which the various synchronizers execute. In such cases one starts with the outer most vtkSynchronizedRenderers, sets the dependent one as a CaptureDelegate on it and the turn off AutomaticEventHandling on the delegate.

When multiple groups of processes are synchronized together using different controllers, one needs to specify the order in which the various synchronizers execute. In such cases one starts with the outer most vtkSynchronizedRenderers, sets the dependent one as a CaptureDelegate on it and the turn off AutomaticEventHandling on the delegate.

virtual void vtkSynchronizedRenderers::HandleStartRender ( ) [protected, virtual]
virtual void vtkSynchronizedRenderers::HandleEndRender ( ) [protected, virtual]
virtual void vtkSynchronizedRenderers::HandleAbortRender ( ) [inline, protected, virtual]

Definition at line 219 of file vtkSynchronizedRenderers.h.

virtual void vtkSynchronizedRenderers::MasterStartRender ( ) [protected, virtual]
virtual void vtkSynchronizedRenderers::SlaveStartRender ( ) [protected, virtual]
virtual void vtkSynchronizedRenderers::MasterEndRender ( ) [protected, virtual]
virtual void vtkSynchronizedRenderers::SlaveEndRender ( ) [protected, virtual]

Can be used in HandleEndRender(), MasterEndRender() or SlaveEndRender() calls to capture the rendered image. If this->ImageReductionFactor, then the image will be capture in this->ReducedImage, otherwise it will be captured in this->FullImage (this->ReducedImage will be pointing to the same image).

Can be used in HandleEndRender(), MasterEndRender() or SlaveEndRender() calls to paste back the image from either this->ReducedImage or this->FullImage info the viewport.


Friends And Related Function Documentation

friend class vtkObserver [friend]

Definition at line 258 of file vtkSynchronizedRenderers.h.


Member Data Documentation

Definition at line 227 of file vtkSynchronizedRenderers.h.

Definition at line 228 of file vtkSynchronizedRenderers.h.

Definition at line 242 of file vtkSynchronizedRenderers.h.

Definition at line 243 of file vtkSynchronizedRenderers.h.

Definition at line 244 of file vtkSynchronizedRenderers.h.

Definition at line 246 of file vtkSynchronizedRenderers.h.

Definition at line 247 of file vtkSynchronizedRenderers.h.

Definition at line 248 of file vtkSynchronizedRenderers.h.

Definition at line 249 of file vtkSynchronizedRenderers.h.

Definition at line 250 of file vtkSynchronizedRenderers.h.


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