Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkPVRenderViewDataDeliveryManager Class Reference

vtkPVRenderView specific subclass of vtkPVDataDeliveryManager. More...

#include <vtkPVRenderViewDataDeliveryManager.h>

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

Public Types

typedef vtkPVDataDeliveryManager Superclass
 
- Public Types inherited from vtkPVDataDeliveryManager
typedef vtkObject Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void SetDeliverToAllProcesses (vtkPVDataRepresentation *, bool flag, bool low_res, int port=0)
 By default, this class only delivers geometries to nodes that are doing the rendering at a given stage. More...
 
void SetDeliverToClientAndRenderingProcesses (vtkPVDataRepresentation *, bool deliver_to_client, bool gather_before_delivery, bool low_res, int port=0)
 By default, this class only delivers geometries to nodes that are doing the rendering at a given stage. More...
 
void MarkAsRedistributable (vtkPVDataRepresentation *, bool value=true, int port=0)
 Under certain cases, e.g. More...
 
vtkPKdTreeGetKdTree ()
 Provides access to the partitioning kd-tree that was generated using the data provided by the representations. More...
 
void RedistributeDataForOrderedCompositing (bool use_lod)
 Called by the view on every render when ordered compositing is to be used to ensure that the geometries are redistributed, as needed. More...
 
void ClearRedistributedData (bool use_load)
 Removes all redistributed data that may have been redistributed for ordered compositing earlier when using KdTree based redistribution. More...
 
void SetOrderedCompositingInformation (vtkPVDataRepresentation *repr, vtkExtentTranslator *translator, const int whole_extents[6], const double origin[3], const double spacing[3], int port=0)
 Pass the structured-meta-data for determining rendering order for ordered compositing. More...
 
void SetStreamable (vtkPVDataRepresentation *, bool, int port=0)
 Mark a representation as streamable. More...
 
void DeliverStreamedPieces (unsigned int size, unsigned int *keys)
 Deliver streamed pieces. More...
 
bool GetRepresentationsReadyToStreamPieces (std::vector< unsigned int > &keys)
 Fills up the vector with the keys for representations that have non-null streaming pieces. More...
 
int GetDeliveredDataKey (bool low_res) const override
 Views that support changing of which ranks do the rendering at runtime based on things like data sizes, etc. More...
 
void SetRedistributionMode (vtkPVDataRepresentation *, int mode, int port=0)
 For representations that have indicated that the data is redistributable (using MarkAsRedistributable), this control the mode for redistribution. More...
 
void SetRedistributionModeToSplitBoundaryCells (vtkPVDataRepresentation *repr, int port=0)
 For representations that have indicated that the data is redistributable (using MarkAsRedistributable), this control the mode for redistribution. More...
 
void SetRedistributionModeToDuplicateBoundaryCells (vtkPVDataRepresentation *repr, int port=0)
 For representations that have indicated that the data is redistributable (using MarkAsRedistributable), this control the mode for redistribution. More...
 
void SetNextStreamedPiece (vtkPVDataRepresentation *repr, vtkDataObject *piece, int port=0)
 Passes the current streamed piece. More...
 
vtkDataObjectGetCurrentStreamedPiece (vtkPVDataRepresentation *repr, int port=0)
 Passes the current streamed piece. More...
 
void ClearStreamedPieces ()
 Passes the current streamed piece. More...
 
virtual bool GetUseRedistributedDataAsDeliveredData ()
 When set to true GetDeliveredDataKey returns REDISTRIBUTED_DATA_KEY else returns the key returned by GetViewDataDistributionMode. More...
 
virtual void SetUseRedistributedDataAsDeliveredData (bool)
 When set to true GetDeliveredDataKey returns REDISTRIBUTED_DATA_KEY else returns the key returned by GetViewDataDistributionMode. More...
 
- Public Member Functions inherited from vtkPVDataDeliveryManager
int GetSynchronizationMagicNumber ()
 Returned a hash number that can be used to verify that both client and server side are in synch representation wise for delivery. More...
 
vtkDataObjectGetPiece (vtkPVDataRepresentation *repr, bool low_res, int port=0)
 Returns the local data object set by calling SetPiece (or from the cache). More...
 
vtkDataObjectGetDeliveredPiece (vtkPVDataRepresentation *repr, bool low_res, int port=0)
 Returns the data object post-delivery. More...
 
void ClearCache (vtkPVDataRepresentation *repr)
 Clear all cached data objects for the given representation. More...
 
unsigned long GetVisibleDataSize (bool low_res)
 Returns the size for all visible geometry. More...
 
bool NeedsDelivery (vtkMTimeType timestamp, std::vector< unsigned int > &keys_to_deliver, bool use_lod)
 Internal method used to determine the list of representations that need their geometry delivered. More...
 
void Deliver (int use_low_res, unsigned int size, unsigned int *keys)
 Triggers delivery for the geometries of indicated representations. More...
 
void SetView (vtkPVView *)
 Get/Set the render-view. More...
 
vtkPVViewGetView () const
 Get/Set the render-view. More...
 
void RegisterRepresentation (vtkPVDataRepresentation *repr)
 View uses these methods to register a representation with the storage. More...
 
void UnRegisterRepresentation (vtkPVDataRepresentation *)
 View uses these methods to register a representation with the storage. More...
 
vtkPVDataRepresentationGetRepresentation (unsigned int)
 View uses these methods to register a representation with the storage. More...
 
void SetPiece (vtkPVDataRepresentation *repr, vtkDataObject *data, bool low_res, unsigned long trueSize=0, int port=0)
 Representations (indirectly via vtkPVRenderView::SetPiece()) call this method to register the geometry type they are rendering. More...
 
bool HasPiece (vtkPVDataRepresentation *repr, bool low_res=false, int port=0)
 
vtkAlgorithmOutputGetProducer (vtkPVDataRepresentation *, bool low_res, int port=0)
 Provides access to the producer port for the geometry of a registered representation. More...
 
vtkInformationGetPieceInformation (vtkPVDataRepresentation *repr, bool low_res, int port=0)
 Set/Get meta-data container for the specific piece. More...
 
int GetNumberOfPorts (vtkPVDataRepresentation *repr)
 Returns number of known port for the representation. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual vtkMTimeType GetMTime ()
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
void SetReferenceCount (int)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void PrintRevisions (ostream &)
 

Static Public Member Functions

static vtkPVRenderViewDataDeliveryManagerNew ()
 
static int IsTypeOf (const char *type)
 
static vtkPVRenderViewDataDeliveryManagerSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkPVDataDeliveryManager
static int IsTypeOf (const char *type)
 
static vtkPVDataDeliveryManagerSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 
static vtkObjectBaseNew ()
 

Protected Member Functions

 vtkPVRenderViewDataDeliveryManager ()
 
 ~vtkPVRenderViewDataDeliveryManager () override
 
void MoveData (vtkPVDataRepresentation *repr, bool low_res, int port) override
 This method is called to request that the subclass do appropriate transfer for the indicated representation. More...
 
int GetViewDataDistributionMode (bool low_res) const
 
int GetMoveMode (vtkInformation *info, int viewMode) const
 
- Protected Member Functions inherited from vtkPVDataDeliveryManager
 vtkPVDataDeliveryManager ()
 
 ~vtkPVDataDeliveryManager () override
 
double GetCacheKey (vtkPVDataRepresentation *repr) const
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

vtkSmartPointer< vtkPKdTreeKdTree
 
vtkTimeStamp RedistributionTimeStamp
 
std::string LastCutsGeneratorToken
 
bool UseRedistributedDataAsDeliveredData = false
 
- Protected Attributes inherited from vtkPVDataDeliveryManager
vtkInternalsInternals
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

vtkPVRenderView specific subclass of vtkPVDataDeliveryManager.

This class adds vtkPVRenderView specific data movement logic to vtkPVDataDeliveryManager.

Definition at line 42 of file vtkPVRenderViewDataDeliveryManager.h.

Member Typedef Documentation

◆ Superclass

Definition at line 46 of file vtkPVRenderViewDataDeliveryManager.h.

Constructor & Destructor Documentation

◆ vtkPVRenderViewDataDeliveryManager()

vtkPVRenderViewDataDeliveryManager::vtkPVRenderViewDataDeliveryManager ( )
protected

◆ ~vtkPVRenderViewDataDeliveryManager()

vtkPVRenderViewDataDeliveryManager::~vtkPVRenderViewDataDeliveryManager ( )
overrideprotected

Member Function Documentation

◆ New()

static vtkPVRenderViewDataDeliveryManager* vtkPVRenderViewDataDeliveryManager::New ( )
static

◆ GetClassName()

virtual const char* vtkPVRenderViewDataDeliveryManager::GetClassName ( )
virtual

Reimplemented from vtkPVDataDeliveryManager.

◆ IsTypeOf()

static int vtkPVRenderViewDataDeliveryManager::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual int vtkPVRenderViewDataDeliveryManager::IsA ( const char *  type)
virtual

Reimplemented from vtkPVDataDeliveryManager.

◆ SafeDownCast()

static vtkPVRenderViewDataDeliveryManager* vtkPVRenderViewDataDeliveryManager::SafeDownCast ( vtkObject o)
static

◆ PrintSelf()

void vtkPVRenderViewDataDeliveryManager::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Reimplemented from vtkPVDataDeliveryManager.

◆ SetDeliverToAllProcesses()

void vtkPVRenderViewDataDeliveryManager::SetDeliverToAllProcesses ( vtkPVDataRepresentation ,
bool  flag,
bool  low_res,
int  port = 0 
)

By default, this class only delivers geometries to nodes that are doing the rendering at a given stage.

However, certain representations, such as data-label representation, or cube-axes representation, need to the geometry to be delivered to all nodes always. That can be done by using this method (via vtkPVRenderView::SetDeliverToAllProcesses()).

◆ SetDeliverToClientAndRenderingProcesses()

void vtkPVRenderViewDataDeliveryManager::SetDeliverToClientAndRenderingProcesses ( vtkPVDataRepresentation ,
bool  deliver_to_client,
bool  gather_before_delivery,
bool  low_res,
int  port = 0 
)

By default, this class only delivers geometries to nodes that are doing the rendering at a given stage.

However, certain representations, such as text-source representation, need to the geometry to be delivered to the client as well. That can be done by using this method (via vtkPVRenderView::SetDeliverToAllProcesses()). The different between SetDeliverToAllProcesses() and this is that the former gather-and-scatters the data on the server nodes, while the latter will optionally gather the data to deliver to the client and never scatter.

◆ MarkAsRedistributable()

void vtkPVRenderViewDataDeliveryManager::MarkAsRedistributable ( vtkPVDataRepresentation ,
bool  value = true,
int  port = 0 
)

Under certain cases, e.g.

when remote rendering in parallel with translucent geometry, the geometry may need to be redistributed to ensure ordered compositing can be employed correctly. Marking geometry provided by a representation as redistributable makes it possible for this class to redistribute the geometry as needed. Only vtkPolyData, vtkUnstructuredGrid or a multi-block comprising of vtkPolyData is currently supported.

◆ SetRedistributionMode()

void vtkPVRenderViewDataDeliveryManager::SetRedistributionMode ( vtkPVDataRepresentation ,
int  mode,
int  port = 0 
)

For representations that have indicated that the data is redistributable (using MarkAsRedistributable), this control the mode for redistribution.

Specifically, it indicates how to handle cells that are on the boundary of the redistribution KdTree. Default is to split the cells, one can change it to duplicate cells instead by using mode as vtkDistributedDataFilter::ASSIGN_TO_ALL_INTERSECTING_REGIONS.

◆ SetRedistributionModeToSplitBoundaryCells()

void vtkPVRenderViewDataDeliveryManager::SetRedistributionModeToSplitBoundaryCells ( vtkPVDataRepresentation repr,
int  port = 0 
)

For representations that have indicated that the data is redistributable (using MarkAsRedistributable), this control the mode for redistribution.

Specifically, it indicates how to handle cells that are on the boundary of the redistribution KdTree. Default is to split the cells, one can change it to duplicate cells instead by using mode as vtkDistributedDataFilter::ASSIGN_TO_ALL_INTERSECTING_REGIONS.

◆ SetRedistributionModeToDuplicateBoundaryCells()

void vtkPVRenderViewDataDeliveryManager::SetRedistributionModeToDuplicateBoundaryCells ( vtkPVDataRepresentation repr,
int  port = 0 
)

For representations that have indicated that the data is redistributable (using MarkAsRedistributable), this control the mode for redistribution.

Specifically, it indicates how to handle cells that are on the boundary of the redistribution KdTree. Default is to split the cells, one can change it to duplicate cells instead by using mode as vtkDistributedDataFilter::ASSIGN_TO_ALL_INTERSECTING_REGIONS.

◆ GetKdTree()

vtkPKdTree* vtkPVRenderViewDataDeliveryManager::GetKdTree ( )

Provides access to the partitioning kd-tree that was generated using the data provided by the representations.

The view uses this kd-tree to decide on the compositing order when ordered compositing is being used.

◆ RedistributeDataForOrderedCompositing()

void vtkPVRenderViewDataDeliveryManager::RedistributeDataForOrderedCompositing ( bool  use_lod)

Called by the view on every render when ordered compositing is to be used to ensure that the geometries are redistributed, as needed.

◆ ClearRedistributedData()

void vtkPVRenderViewDataDeliveryManager::ClearRedistributedData ( bool  use_load)

Removes all redistributed data that may have been redistributed for ordered compositing earlier when using KdTree based redistribution.

◆ SetOrderedCompositingInformation()

void vtkPVRenderViewDataDeliveryManager::SetOrderedCompositingInformation ( vtkPVDataRepresentation repr,
vtkExtentTranslator translator,
const int  whole_extents[6],
const double  origin[3],
const double  spacing[3],
int  port = 0 
)

Pass the structured-meta-data for determining rendering order for ordered compositing.

◆ SetStreamable()

void vtkPVRenderViewDataDeliveryManager::SetStreamable ( vtkPVDataRepresentation ,
bool  ,
int  port = 0 
)

Mark a representation as streamable.

Any representation can indicate that it is streamable i.e. the view can call streaming passses on it and it will deliver data incrementally.

◆ SetNextStreamedPiece()

void vtkPVRenderViewDataDeliveryManager::SetNextStreamedPiece ( vtkPVDataRepresentation repr,
vtkDataObject piece,
int  port = 0 
)

Passes the current streamed piece.

This is the piece that will be delivered to the rendering node.

◆ GetCurrentStreamedPiece()

vtkDataObject* vtkPVRenderViewDataDeliveryManager::GetCurrentStreamedPiece ( vtkPVDataRepresentation repr,
int  port = 0 
)

Passes the current streamed piece.

This is the piece that will be delivered to the rendering node.

◆ ClearStreamedPieces()

void vtkPVRenderViewDataDeliveryManager::ClearStreamedPieces ( )

Passes the current streamed piece.

This is the piece that will be delivered to the rendering node.

◆ DeliverStreamedPieces()

void vtkPVRenderViewDataDeliveryManager::DeliverStreamedPieces ( unsigned int  size,
unsigned int keys 
)

Deliver streamed pieces.

Unlike regular data, streamed pieces are delivered and released. Representations are expected to manage the pieces once they are delivered to them.

◆ GetRepresentationsReadyToStreamPieces()

bool vtkPVRenderViewDataDeliveryManager::GetRepresentationsReadyToStreamPieces ( std::vector< unsigned int > &  keys)

Fills up the vector with the keys for representations that have non-null streaming pieces.

◆ GetUseRedistributedDataAsDeliveredData()

virtual bool vtkPVRenderViewDataDeliveryManager::GetUseRedistributedDataAsDeliveredData ( )
virtual

When set to true GetDeliveredDataKey returns REDISTRIBUTED_DATA_KEY else returns the key returned by GetViewDataDistributionMode.

◆ SetUseRedistributedDataAsDeliveredData()

virtual void vtkPVRenderViewDataDeliveryManager::SetUseRedistributedDataAsDeliveredData ( bool  )
virtual

When set to true GetDeliveredDataKey returns REDISTRIBUTED_DATA_KEY else returns the key returned by GetViewDataDistributionMode.

◆ GetDeliveredDataKey()

int vtkPVRenderViewDataDeliveryManager::GetDeliveredDataKey ( bool  low_res) const
overridevirtual

Views that support changing of which ranks do the rendering at runtime based on things like data sizes, etc.

may override this method to provide a unique key for each different mode. This makes it possible to keep delivered data object for each mode separate and thus avoid transfers if the mode is changed on the fly.

Default implementation simply returns 0.

Reimplemented from vtkPVDataDeliveryManager.

◆ MoveData()

void vtkPVRenderViewDataDeliveryManager::MoveData ( vtkPVDataRepresentation repr,
bool  low_res,
int  port 
)
overrideprotectedvirtual

This method is called to request that the subclass do appropriate transfer for the indicated representation.

Implements vtkPVDataDeliveryManager.

◆ GetViewDataDistributionMode()

int vtkPVRenderViewDataDeliveryManager::GetViewDataDistributionMode ( bool  low_res) const
protected

◆ GetMoveMode()

int vtkPVRenderViewDataDeliveryManager::GetMoveMode ( vtkInformation info,
int  viewMode 
) const
protected

Member Data Documentation

◆ KdTree

vtkSmartPointer<vtkPKdTree> vtkPVRenderViewDataDeliveryManager::KdTree
protected

Definition at line 176 of file vtkPVRenderViewDataDeliveryManager.h.

◆ RedistributionTimeStamp

vtkTimeStamp vtkPVRenderViewDataDeliveryManager::RedistributionTimeStamp
protected

Definition at line 177 of file vtkPVRenderViewDataDeliveryManager.h.

◆ LastCutsGeneratorToken

std::string vtkPVRenderViewDataDeliveryManager::LastCutsGeneratorToken
protected

Definition at line 178 of file vtkPVRenderViewDataDeliveryManager.h.

◆ UseRedistributedDataAsDeliveredData

bool vtkPVRenderViewDataDeliveryManager::UseRedistributedDataAsDeliveredData = false
protected

Definition at line 179 of file vtkPVRenderViewDataDeliveryManager.h.


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