ParaView
|
baseclass for all ParaView views. More...
#include <vtkPVView.h>
Public Types | |
enum | { ViewTimeChangedEvent = 9000 } |
typedef vtkView | Superclass |
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) |
Initialize the view with an identifier. More... | |
virtual void | StillRender ()=0 |
Triggers a high-resolution render. More... | |
virtual void | InteractiveRender ()=0 |
Triggers a interactive render. More... | |
virtual void | Update () |
Overridden to not call Update() directly on the input representations, instead use ProcessViewRequest() for all vtkPVDataRepresentations. More... | |
bool | InTileDisplayMode () |
Returns true if the application is currently in tile display mode. More... | |
bool | InCaveDisplayMode () |
Returns true if the application is currently in cave/immersive display mode. More... | |
bool | GetLocalProcessSupportsInteraction () |
Returns true if the local process can support interaction. More... | |
virtual unsigned int | GetIdentifier () |
virtual void | SetPosition (int, int) |
Set the position on this view in the multiview configuration. More... | |
virtual int * | GetPosition () |
Set the position on this view in the multiview configuration. More... | |
virtual void | GetPosition (int &, int &) |
Set the position on this view in the multiview configuration. More... | |
virtual void | GetPosition (int [2]) |
Set the position on this view in the multiview configuration. More... | |
virtual void | SetSize (int, int) |
Set the size of this view in the multiview configuration. More... | |
virtual int * | GetSize () |
Set the size of this view in the multiview configuration. More... | |
virtual void | GetSize (int &, int &) |
Set the size of this view in the multiview configuration. More... | |
virtual void | GetSize (int [2]) |
Set the size of this view in the multiview configuration. More... | |
bool | SynchronizeBounds (double bounds[6]) |
This encapsulates a whole lot of logic for communication between processes. More... | |
bool | SynchronizeSize (double &size) |
This encapsulates a whole lot of logic for communication between processes. More... | |
bool | SynchronizeSize (unsigned int &size) |
This encapsulates a whole lot of logic for communication between processes. More... | |
virtual void | SetViewTime (double value) |
Get/Set the time this view is showing. More... | |
virtual double | GetViewTime () |
Get/Set the time this view is showing. More... | |
virtual void | SetCacheKey (double) |
Get/Set the cache key. More... | |
virtual double | GetCacheKey () |
Get/Set the cache key. More... | |
virtual void | SetUseCache (bool) |
Get/Set whether caching is enabled. More... | |
virtual bool | GetUseCache () |
Get/Set whether caching is enabled. More... | |
virtual void | PrepareForScreenshot () |
These methods are used to setup the view for capturing screen shots. More... | |
virtual void | CleanupAfterScreenshot () |
These methods are used to setup the view for capturing screen shots. More... | |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkPVView * | SafeDownCast (vtkObject *o) |
static void | SetEnableStreaming (bool) |
static bool | GetEnableStreaming () |
static vtkInformationObjectBaseKey * | VIEW () |
Key used to pass the vtkPVView pointer to the representation during any of the view passes such as REQUEST_UPDATE(), REQUEST_UPDATE_LOD(), REQUEST_RENDER(), etc. More... | |
static vtkInformationRequestKey * | REQUEST_UPDATE () |
This is a Update-Data pass. More... | |
static vtkInformationRequestKey * | REQUEST_UPDATE_LOD () |
This is a Update-LOD-Data pass. More... | |
static vtkInformationRequestKey * | REQUEST_RENDER () |
This is a render pass. More... | |
Protected Member Functions | |
vtkPVView () | |
~vtkPVView () | |
virtual void | AddRepresentationInternal (vtkDataRepresentation *rep) |
Overridden to check that the representation has View setup properly. More... | |
Protected Attributes | |
vtkPVSynchronizedRenderWindows * | SynchronizedWindows |
unsigned int | Identifier |
Every view gets a unique identifier that it uses to register itself with the SynchronizedWindows. More... | |
double | CacheKey |
bool | UseCache |
int | Size [2] |
int | Position [2] |
vtkInformation * | RequestInformation |
These are passed as arguments to vtkDataRepresentation::ProcessViewRequest(). More... | |
vtkInformationVector * | ReplyInformationVector |
These are passed as arguments to vtkDataRepresentation::ProcessViewRequest(). More... | |
double | ViewTime |
Subclasses can use this method to trigger a pass on all representations. More... | |
void | CallProcessViewRequest (vtkInformationRequestKey *passType, vtkInformation *request, vtkInformationVector *reply) |
Subclasses can use this method to trigger a pass on all representations. More... | |
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 38 of file vtkPVView.h.
typedef vtkView vtkPVView::Superclass |
Definition at line 41 of file vtkPVView.h.
anonymous enum |
Enumerator | |
---|---|
ViewTimeChangedEvent |
Definition at line 47 of file vtkPVView.h.
|
protected |
|
protected |
|
virtual |
Reimplemented in vtkPVRenderView, vtkPVXYChartView, vtkPVPlotMatrixView, vtkPVOrthographicSliceView, vtkPythonView, vtkSpreadSheetView, vtkPVContextView, and vtkPVMultiSliceView.
|
static |
|
virtual |
Reimplemented in vtkPVRenderView, vtkPVXYChartView, vtkPVPlotMatrixView, vtkPVOrthographicSliceView, vtkPythonView, vtkSpreadSheetView, vtkPVContextView, and vtkPVMultiSliceView.
|
static |
void vtkPVView::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) |
|
static |
|
static |
|
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, vtkPVContextView, and vtkPVOrthographicSliceView.
|
virtual |
Set the position on this view in the multiview configuration.
This can be called only after Initialize().
Reimplemented in vtkPVRenderView.
|
virtual |
Set the position on this view in the multiview configuration.
This can be called only after Initialize().
|
virtual |
Set the position on this view in the multiview configuration.
This can be called only after Initialize().
|
virtual |
Set the position on this view in the multiview configuration.
This can be called only after Initialize().
|
virtual |
Set the size of this view in the multiview configuration.
This can be called only after Initialize().
Reimplemented in vtkPVRenderView.
|
virtual |
Set the size of this view in the multiview configuration.
This can be called only after Initialize().
|
virtual |
Set the size of this view in the multiview configuration.
This can be called only after Initialize().
|
virtual |
Set the size of this view in the multiview configuration.
This can be called only after Initialize().
|
pure virtual |
Triggers a high-resolution render.
Implemented in vtkPVRenderView, vtkPythonView, vtkSpreadSheetView, and vtkPVContextView.
|
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, vtkPythonView, 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 |
Get/Set the time this view is showing.
Whenever time is changed, this fires a ViewTimeChangedEvent event.
|
virtual |
Get/Set the time this view is showing.
Whenever time is changed, this fires a ViewTimeChangedEvent event.
|
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 |
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 |
Get/Set whether caching is enabled.
|
virtual |
Get/Set whether caching is enabled.
|
virtual |
These methods are used to setup the view for capturing screen shots.
|
virtual |
These methods are used to setup the view for capturing screen shots.
|
static |
Key used to pass the vtkPVView pointer to the representation during any of the view passes such as REQUEST_UPDATE(), REQUEST_UPDATE_LOD(), REQUEST_RENDER(), etc.
|
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 |
This is a Update-LOD-Data pass.
All representations are expected to update their lod-data, if any. This is assured to be called only after REQUEST_UPDATE() pass.
|
static |
This is a render pass.
This is called for every render, hence representations should not do any work that doesn't depend on things that could change every render.
|
virtual |
Overridden to not call Update() directly on the input representations, instead use ProcessViewRequest() for all vtkPVDataRepresentations.
Reimplemented in vtkPVRenderView, vtkPVXYChartView, vtkPVContextView, vtkSpreadSheetView, vtkPVOrthographicSliceView, vtkPythonView, and vtkPVMultiSliceView.
bool vtkPVView::InTileDisplayMode | ( | ) |
Returns true if the application is currently in tile display mode.
bool vtkPVView::InCaveDisplayMode | ( | ) |
Returns true if the application is currently in cave/immersive display mode.
bool vtkPVView::GetLocalProcessSupportsInteraction | ( | ) |
Returns true if the local process can support interaction.
This will return true only on the client node e.g. Qt client (or pvpython) when connected to builtin or remote server. On server nodes this will return false. CAVEAT: Currently this returns true on root node on batch and false on all other nodes. In reality batch processes should not support interaction. Due to a bug in vtkPVAxesWidget, if there's no interactor, the batch mode ends up missing the orientation widget and hence rendering differently than pvpython. To avoid that, this method curretly returns true on the root node in batch mode. This will however change in the future once vtkPVAxesWidget has been cleaned up.
|
virtual |
|
protectedvirtual |
Overridden to check that the representation has View setup properly.
Older implementations of vtkPVDataRepresentations::AddToView() subclasses didn't call the superclass implementations. We check that that's not the case and warn.
Reimplemented in vtkPVRenderView.
|
protected |
Subclasses can use this method to trigger a pass on all representations.
|
protected |
Definition at line 231 of file vtkPVView.h.
|
protected |
Every view gets a unique identifier that it uses to register itself with the SynchronizedWindows.
This is set in Initialize().
Definition at line 237 of file vtkPVView.h.
|
protected |
These are passed as arguments to vtkDataRepresentation::ProcessViewRequest().
This avoid repeated creation and deletion of vtkInformation objects.
Definition at line 245 of file vtkPVView.h.
|
protected |
These are passed as arguments to vtkDataRepresentation::ProcessViewRequest().
This avoid repeated creation and deletion of vtkInformation objects.
Definition at line 246 of file vtkPVView.h.
|
protected |
Subclasses can use this method to trigger a pass on all representations.
Definition at line 255 of file vtkPVView.h.
|
protected |
Definition at line 258 of file vtkPVView.h.
|
protected |
Definition at line 259 of file vtkPVView.h.
|
protected |
Definition at line 261 of file vtkPVView.h.
|
protected |
Definition at line 262 of file vtkPVView.h.