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 | 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 | SetOrderedCompositingConfiguration (vtkPVDataRepresentation *repr, int config, const double *bds, int port=0) |
Pass information how to handle data redistribution when using 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 SetOrderedCompositingConfiguration), 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 SetOrderedCompositingConfiguration), 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 SetOrderedCompositingConfiguration), this control the mode for redistribution. More... | |
void | SetRedistributionModeToUniquelyAssignBoundaryCells (vtkPVDataRepresentation *repr, int port=0) |
For representations that have indicated that the data is redistributable (using SetOrderedCompositingConfiguration), this control the mode for redistribution. More... | |
void | SetGeometryBounds (vtkPVDataRepresentation *repr, const double bds[6], vtkMatrix4x4 *matrix=nullptr, int port=0) |
Pass data bounds information. More... | |
vtkBoundingBox | GetGeometryBounds (vtkPVDataRepresentation *repr, int port=0) |
Pass data bounds information. More... | |
vtkBoundingBox | GetTransformedGeometryBounds (vtkPVDataRepresentation *repr, int port=0) |
Pass data bounds information. 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... | |
const std::vector< vtkBoundingBox > & | GetCuts () const |
Provides access to the "cuts" built by this class when doing ordered compositing. More... | |
vtkTimeStamp | GetCutsMTime () const |
Provides access to the "cuts" built by this class when doing ordered compositing. More... | |
const std::vector< vtkBoundingBox > & | GetRawCuts () const |
When using an internally generated kd-tree for ordered compositing, this method provides access to the complete kd-tree and the rendering rank assignments for each node in the kd-tree. More... | |
const std::vector< int > & | GetRawCutsRankAssignments () const |
When using an internally generated kd-tree for ordered compositing, this method provides access to the complete kd-tree and the rendering rank assignments for each node in the kd-tree. 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 Attributes | |
std::vector< vtkBoundingBox > | Cuts |
std::vector< vtkBoundingBox > | RawCuts |
std::vector< int > | RawCutsRankAssignments |
vtkTimeStamp | CutsMTime |
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 31 of file vtkPVRenderViewDataDeliveryManager.h.
Definition at line 35 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
|
overrideprotected |
|
static |
|
virtual |
Reimplemented from vtkPVDataDeliveryManager.
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::SetRedistributionMode | ( | vtkPVDataRepresentation * | , |
int | mode, | ||
int | port = 0 |
||
) |
For representations that have indicated that the data is redistributable (using SetOrderedCompositingConfiguration), 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 SetOrderedCompositingConfiguration), 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 SetOrderedCompositingConfiguration), 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::SetRedistributionModeToUniquelyAssignBoundaryCells | ( | vtkPVDataRepresentation * | repr, |
int | port = 0 |
||
) |
For representations that have indicated that the data is redistributable (using SetOrderedCompositingConfiguration), 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::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.
TODO: check is this is still needed.
void vtkPVRenderViewDataDeliveryManager::SetOrderedCompositingConfiguration | ( | vtkPVDataRepresentation * | repr, |
int | config, | ||
const double * | bds, | ||
int | port = 0 |
||
) |
Pass information how to handle data redistribution when using ordered compositing.
void vtkPVRenderViewDataDeliveryManager::SetGeometryBounds | ( | vtkPVDataRepresentation * | repr, |
const double | bds[6], | ||
vtkMatrix4x4 * | matrix = nullptr , |
||
int | port = 0 |
||
) |
Pass data bounds information.
vtkBoundingBox vtkPVRenderViewDataDeliveryManager::GetGeometryBounds | ( | vtkPVDataRepresentation * | repr, |
int | port = 0 |
||
) |
Pass data bounds information.
vtkBoundingBox vtkPVRenderViewDataDeliveryManager::GetTransformedGeometryBounds | ( | vtkPVDataRepresentation * | repr, |
int | port = 0 |
||
) |
Pass data bounds information.
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.
|
inline |
Provides access to the "cuts" built by this class when doing ordered compositing.
Note, this may not be up-to-date unless ordered compositing is being used and are only available on the rendering-ranks i.e. pvserver or pvrenderserver ranks.
Definition at line 159 of file vtkPVRenderViewDataDeliveryManager.h.
|
inline |
Provides access to the "cuts" built by this class when doing ordered compositing.
Note, this may not be up-to-date unless ordered compositing is being used and are only available on the rendering-ranks i.e. pvserver or pvrenderserver ranks.
Definition at line 160 of file vtkPVRenderViewDataDeliveryManager.h.
|
inline |
When using an internally generated kd-tree for ordered compositing, this method provides access to the complete kd-tree and the rendering rank assignments for each node in the kd-tree.
These are empty when the explicit data bounds are being used to determine sorting order i.e. when vtkPVRenderViewDataDeliveryManager does not generate its own kd tree internally instead relies on the representation provided partitioning.
Definition at line 174 of file vtkPVRenderViewDataDeliveryManager.h.
|
inline |
When using an internally generated kd-tree for ordered compositing, this method provides access to the complete kd-tree and the rendering rank assignments for each node in the kd-tree.
These are empty when the explicit data bounds are being used to determine sorting order i.e. when vtkPVRenderViewDataDeliveryManager does not generate its own kd tree internally instead relies on the representation provided partitioning.
Definition at line 175 of file vtkPVRenderViewDataDeliveryManager.h.
|
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 187 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
Definition at line 188 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
Definition at line 189 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
Definition at line 190 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
Definition at line 192 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
Definition at line 193 of file vtkPVRenderViewDataDeliveryManager.h.
|
protected |
Definition at line 194 of file vtkPVRenderViewDataDeliveryManager.h.