ParaView
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkPVView Class Reference

baseclass for all ParaView views. More...

#include <vtkPVView.h>

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

List of all members.

Public Types

enum  { ViewTimeChangedEvent = 9000 }

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void Initialize (unsigned int id)
virtual void SetPosition (int, int)
virtual void SetSize (int, int)
virtual void StillRender ()=0
virtual void InteractiveRender ()=0
virtual void Update ()
virtual unsigned int GetIdentifier ()
bool SynchronizeBounds (double bounds[6])
bool SynchronizeSize (double &size)
bool SynchronizeSize (unsigned int &size)
virtual void SetViewTime (double value)
virtual double GetViewTime ()
virtual void SetCacheKey (double)
virtual double GetCacheKey ()
virtual void SetUseCache (bool)
virtual bool GetUseCache ()
virtual void PrepareForScreenshot ()
virtual void CleanupAfterScreenshot ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkPVViewSafeDownCast (vtkObject *o)
static vtkInformationRequestKeyREQUEST_UPDATE ()
static vtkInformationRequestKeyREQUEST_INFORMATION ()
static vtkInformationRequestKeyREQUEST_PREPARE_FOR_RENDER ()
static vtkInformationRequestKeyREQUEST_DELIVERY ()
static vtkInformationRequestKeyREQUEST_RENDER ()

Protected Member Functions

 vtkPVView ()
 ~vtkPVView ()
bool InTileDisplayMode ()

Protected Attributes

vtkPVSynchronizedRenderWindowsSynchronizedWindows
unsigned int Identifier
double CacheKey
bool UseCache
int Size [2]
int Position [2]
vtkInformationRequestInformation
vtkInformationVectorReplyInformationVector
double ViewTime
void CallProcessViewRequest (vtkInformationRequestKey *passType, vtkInformation *request, vtkInformationVector *reply)

Detailed Description

baseclass for all ParaView views.

vtkPVView adds API to vtkView for ParaView specific views. Typically, one writes a simple vtkView subclass for their custom view. Then one subclasses vtkPVView to use their own vtkView subclass with added support for parallel rendering, tile-displays and client-server. Even if the view is client-only view, it needs to address these other configuration gracefully.

Definition at line 35 of file vtkPVView.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
ViewTimeChangedEvent 

Definition at line 41 of file vtkPVView.h.


Constructor & Destructor Documentation

vtkPVView::vtkPVView ( ) [protected]
vtkPVView::~vtkPVView ( ) [protected]

Member Function Documentation

virtual const char* vtkPVView::GetClassName ( ) [virtual]
static int vtkPVView::IsTypeOf ( const char *  type) [static]
virtual int vtkPVView::IsA ( const char *  type) [virtual]
static vtkPVView* vtkPVView::SafeDownCast ( vtkObject o) [static]
void vtkPVView::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]
virtual void vtkPVView::Initialize ( unsigned int  id) [virtual]

Initialize the view with an identifier. Unless noted otherwise, this method must be called before calling any other methods on this class.

Reimplemented in vtkPVRenderView, and vtkPVContextView.

virtual void vtkPVView::SetPosition ( int  ,
int   
) [virtual]

Set the position on this view in the multiview configuration. This can be called only after Initialize().

virtual void vtkPVView::SetSize ( int  ,
int   
) [virtual]

Set the size of this view in the multiview configuration. This can be called only after Initialize().

virtual void vtkPVView::StillRender ( ) [pure virtual]

Triggers a high-resolution render.

Implemented in vtkPVRenderView, vtkSpreadSheetView, and vtkPVContextView.

virtual void vtkPVView::InteractiveRender ( ) [pure virtual]

Triggers a interactive render. Based on the settings on the view, this may result in a low-resolution rendering or a simplified geometry rendering.

Implemented in vtkPVRenderView, vtkSpreadSheetView, and vtkPVContextView.

bool vtkPVView::SynchronizeBounds ( double  bounds[6])

This encapsulates a whole lot of logic for communication between processes. Given the ton of information this class keeps, it can easily aid vtkViews to synchronize information such as bounds/ data-size among all processes efficiently. This can be achieved by using these methods. Note that these methods should be called on all processes at the same time otherwise we will have deadlocks. We may make this API generic in future, for now this works.

bool vtkPVView::SynchronizeSize ( double size)

This encapsulates a whole lot of logic for communication between processes. Given the ton of information this class keeps, it can easily aid vtkViews to synchronize information such as bounds/ data-size among all processes efficiently. This can be achieved by using these methods. Note that these methods should be called on all processes at the same time otherwise we will have deadlocks. We may make this API generic in future, for now this works.

bool vtkPVView::SynchronizeSize ( unsigned int size)

This encapsulates a whole lot of logic for communication between processes. Given the ton of information this class keeps, it can easily aid vtkViews to synchronize information such as bounds/ data-size among all processes efficiently. This can be achieved by using these methods. Note that these methods should be called on all processes at the same time otherwise we will have deadlocks. We may make this API generic in future, for now this works.

virtual void vtkPVView::SetViewTime ( double  value) [virtual]

Get/Set the time this view is showing. Whenever time is changed, this fires a ViewTimeChangedEvent event.

virtual double vtkPVView::GetViewTime ( ) [virtual]

Get/Set the time this view is showing. Whenever time is changed, this fires a ViewTimeChangedEvent event.

virtual void vtkPVView::SetCacheKey ( double  ) [virtual]

Get/Set the cache key. When caching is enabled, this key is used to identify what geometry cache to use for the current render. It is passed on to the representations in vtkPVView::Update(). The CacheKey is respected only when UseCache is true.

virtual double vtkPVView::GetCacheKey ( ) [virtual]

Get/Set the cache key. When caching is enabled, this key is used to identify what geometry cache to use for the current render. It is passed on to the representations in vtkPVView::Update(). The CacheKey is respected only when UseCache is true.

virtual void vtkPVView::SetUseCache ( bool  ) [virtual]

Get/Set whether caching is enabled.

virtual bool vtkPVView::GetUseCache ( ) [virtual]

Get/Set whether caching is enabled.

virtual void vtkPVView::PrepareForScreenshot ( ) [virtual]

These methods are used to setup the view for capturing screen shots.

Reimplemented in vtkPVRenderView.

virtual void vtkPVView::CleanupAfterScreenshot ( ) [virtual]

These methods are used to setup the view for capturing screen shots.

static vtkInformationRequestKey* vtkPVView::REQUEST_UPDATE ( ) [static]

This is a Update-Data pass. All representations are expected to update their inputs and prepare geometries for rendering. All heavy work that has to happen only when input-data changes can be done in this pass. This is the first pass.

static vtkInformationRequestKey* vtkPVView::REQUEST_INFORMATION ( ) [static]

This is a Request-MetaData pass. This happens only after REQUEST_UPDATE() has happened. In this pass representations typically publish information that may be useful for rendering optimizations such as geometry sizes, etc.

static vtkInformationRequestKey* vtkPVView::REQUEST_PREPARE_FOR_RENDER ( ) [static]

This is a Prepare-for-rendering pass. This happens only after REQUEST_UPDATE() has happened. This is called for every render.

static vtkInformationRequestKey* vtkPVView::REQUEST_DELIVERY ( ) [static]

This is called to make representations deliver data to the rendering nodes after REQUEST_PREPARE_FOR_RENDER(). Called for every render only on those representations that should deliver data.

static vtkInformationRequestKey* vtkPVView::REQUEST_RENDER ( ) [static]

This is a render pass. This happens only after REQUEST_PREPARE_FOR_RENDER() (and optionally REQUEST_DELIVERY()) has happened. This is called for every render.

virtual void vtkPVView::Update ( ) [virtual]

Overridden to not call Update() directly on the input representations, instead use ProcessViewRequest() for all vtkPVDataRepresentations.

Reimplemented from vtkView.

Reimplemented in vtkPVRenderView, vtkPVContextView, and vtkSpreadSheetView.

virtual unsigned int vtkPVView::GetIdentifier ( ) [virtual]
bool vtkPVView::InTileDisplayMode ( ) [protected]

Returns true if the application is currently in tile display mode.

void vtkPVView::CallProcessViewRequest ( vtkInformationRequestKey passType,
vtkInformation request,
vtkInformationVector reply 
) [protected]

Subclasses can use this method to trigger a pass on all representations.


Member Data Documentation

Definition at line 159 of file vtkPVView.h.

unsigned int vtkPVView::Identifier [protected]

Every view gets a unique identifier that it uses to register itself with the SynchronizedWindows. This is set in Initialize().

Definition at line 163 of file vtkPVView.h.

These are passed as arguments to vtkDataRepresentation::ProcessViewRequest(). This avoid repeated creation and deletion of vtkInformation objects.

Definition at line 169 of file vtkPVView.h.

These are passed as arguments to vtkDataRepresentation::ProcessViewRequest(). This avoid repeated creation and deletion of vtkInformation objects.

Definition at line 170 of file vtkPVView.h.

Subclasses can use this method to trigger a pass on all representations.

Definition at line 179 of file vtkPVView.h.

Definition at line 182 of file vtkPVView.h.

bool vtkPVView::UseCache [protected]

Definition at line 183 of file vtkPVView.h.

int vtkPVView::Size[2] [protected]

Definition at line 185 of file vtkPVView.h.

int vtkPVView::Position[2] [protected]

Definition at line 186 of file vtkPVView.h.


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