vtkPVRenderView specific subclass of vtkPVDataDeliveryManager. More...
#include <vtkPVRenderViewDataDeliveryManager.h>
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... | |
vtkPKdTree * | GetKdTree () |
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... | |
vtkDataObject * | GetCurrentStreamedPiece (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... | |
vtkDataObject * | GetPiece (vtkPVDataRepresentation *repr, bool low_res, int port=0) |
Returns the local data object set by calling SetPiece (or from the cache). More... | |
vtkDataObject * | GetDeliveredPiece (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... | |
vtkPVView * | GetView () 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... | |
vtkPVDataRepresentation * | GetRepresentation (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) |
vtkAlgorithmOutput * | GetProducer (vtkPVDataRepresentation *, bool low_res, int port=0) |
Provides access to the producer port for the geometry of a registered representation. More... | |
vtkInformation * | GetPieceInformation (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) |
vtkCommand * | GetCommand (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) |
vtkCommand * | GetCommand (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 vtkPVRenderViewDataDeliveryManager * | New () |
static int | IsTypeOf (const char *type) |
static vtkPVRenderViewDataDeliveryManager * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkPVDataDeliveryManager | |
static int | IsTypeOf (const char *type) |
static vtkPVDataDeliveryManager * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
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 vtkObjectBase * | New () |
static vtkObjectBase * | New () |
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< vtkPKdTree > | KdTree |
vtkTimeStamp | RedistributionTimeStamp |
std::string | LastCutsGeneratorToken |
bool | UseRedistributedDataAsDeliveredData = false |
Protected Attributes inherited from vtkPVDataDeliveryManager | |
vtkInternals * | Internals |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
vtkPVRenderView specific subclass of vtkPVDataDeliveryManager.
This class adds vtkPVRenderView specific data movement logic to vtkPVDataDeliveryManager.
Definition at line 42 of file vtkPVRenderViewDataDeliveryManager.h.
Definition at line 46 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
|
overrideprotected |
|
static |
|
virtual |
Reimplemented from vtkPVDataDeliveryManager.
|
static |
|
virtual |
Reimplemented from vtkPVDataDeliveryManager.
|
static |
|
overridevirtual |
Reimplemented from vtkPVDataDeliveryManager.
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()).
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.
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.
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
.
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
.
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
.
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.
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.
void vtkPVRenderViewDataDeliveryManager::ClearRedistributedData | ( | bool | use_load | ) |
Removes all redistributed data that may have been redistributed for ordered compositing earlier when using KdTree based redistribution.
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.
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.
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.
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.
void vtkPVRenderViewDataDeliveryManager::ClearStreamedPieces | ( | ) |
Passes the current streamed piece.
This is the piece that will be delivered to the rendering node.
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.
bool vtkPVRenderViewDataDeliveryManager::GetRepresentationsReadyToStreamPieces | ( | std::vector< unsigned int > & | keys | ) |
Fills up the vector with the keys for representations that have non-null streaming pieces.
|
virtual |
When set to true GetDeliveredDataKey returns REDISTRIBUTED_DATA_KEY
else returns the key returned by GetViewDataDistributionMode.
|
virtual |
When set to true GetDeliveredDataKey returns REDISTRIBUTED_DATA_KEY
else returns the key returned by GetViewDataDistributionMode.
|
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.
|
overrideprotectedvirtual |
This method is called to request that the subclass do appropriate transfer for the indicated representation.
Implements vtkPVDataDeliveryManager.
|
protected |
|
protected |
|
protected |
Definition at line 176 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
Definition at line 177 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
Definition at line 178 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
Definition at line 179 of file vtkPVRenderViewDataDeliveryManager.h.