VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkStructuredImplicitConnectivity Class Reference

#include <vtkStructuredImplicitConnectivity.h>

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

List of all members.

Public Types

typedef vtkObject Superclass

Public Member Functions

void PrintSelf (ostream &os, vtkIndent indent)
virtual int IsA (const char *type)
vtkStructuredImplicitConnectivityNewInstance () const
void SetWholeExtent (int wholeExt[6])
 Sets the whole extent for the distributed structured domain.
void RegisterGrid (const int gridID, int extent[6], vtkPoints *gridPnts, vtkPointData *pointData)
void RegisterRectilinearGrid (const int gridID, int extent[6], vtkDataArray *xcoords, vtkDataArray *ycoords, vtkDataArray *zcoords, vtkPointData *pointData)
void EstablishConnectivity ()
 Finds implicit connectivity for a distributed structured dataset.
bool HasImplicitConnectivity ()
 Checks if there is implicit connectivity.
void ExchangeData ()
 Exchanges one layer (row or column) of data between neighboring grids to fix the implicit connectivity.
void GetOutputStructuredGrid (const int gridID, vtkStructuredGrid *grid)
 Gets the output structured grid instance on this process.
void GetOutputImageData (const int gridID, vtkImageData *grid)
 Gets the output uniform grid instance on this process.
void GetOutputRectilinearGrid (const int gridID, vtkRectilinearGrid *grid)
 Gets the output rectilinear grid instance on this process.

Static Public Member Functions

static
vtkStructuredImplicitConnectivity
New ()
static int IsTypeOf (const char *type)
static
vtkStructuredImplicitConnectivity
SafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkStructuredImplicitConnectivity ()
virtual ~vtkStructuredImplicitConnectivity ()
bool GlobalDataDescriptionMatch ()
 Checks if the data description matches globally.
void PackData (int ext[6], vtkMultiProcessStream &bytestream)
 Packs the data to send into a bytestream.
void UnPackData (unsigned char *buffer, unsigned int size)
 Unpacks the data to the output grid.
void AllocateBuffers (const int dim)
 Allocates send/rcv buffers needed to carry out the communication.
void ComputeNeighbors ()
 Computes the neighbors with implicit connectivity.
void ConstructOutput ()
 Constructs the output data-structures.
void GrowGrid (const int dim)
 Grows grid along a given dimension.
void UpdateNeighborList (const int dim)
 Updates the list of neighbors after growing the grid along the given dimension dim.
void GetGlobalImplicitConnectivityState ()
 Gets whether there is implicit connectivity across all processes.
void ExchangeExtents ()
 Exchanges extents among processes.

Protected Attributes

vtkMPIControllerController
vtk::detail::DomainMetaData * DomainInfo
vtk::detail::StructuredGrid * InputGrid
vtk::detail::StructuredGrid * OutputGrid
vtk::detail::CommunicationManager * CommManager

Detailed Description

a distributed structured dataset that is implicitly connected among partitions without abutting. This creates a gap between partitions and introduces a cell that spans multiple zones. This typically arises with finite difference grids, which are partitioned with respect to the nodes of the grid, or, when a filter samples the grid, e.g., to get a lower resolution representation.

This class is intended as a lower-level helper for higher level VTK filters that provides functionality for resolving the implicit connectivity (gap) between two or more partitions of a distributed structured dataset.

Warning:
The present implementation requires:
  • one block/grid per rank.
  • 2-D (XY,YZ or XZ planes) or 3-D datasets.
  • node-center fields must match across processes.
Tests:
vtkStructuredImplicitConnectivity (Tests)

Definition at line 69 of file vtkStructuredImplicitConnectivity.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 75 of file vtkStructuredImplicitConnectivity.h.


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

void vtkStructuredImplicitConnectivity::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

static int vtkStructuredImplicitConnectivity::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

virtual int vtkStructuredImplicitConnectivity::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented from vtkObject.

Reimplemented from vtkObject.

Reimplemented from vtkObject.

Sets the whole extent for the distributed structured domain.

Parameters:
wholeExtthe extent of the entire domain (in).
Note:
All ranks must call this method with the same whole extent.
Postcondition:
this->DomainInfo != NULL
void vtkStructuredImplicitConnectivity::RegisterGrid ( const int  gridID,
int  extent[6],
vtkPoints gridPnts,
vtkPointData pointData 
)
void vtkStructuredImplicitConnectivity::RegisterRectilinearGrid ( const int  gridID,
int  extent[6],
vtkDataArray xcoords,
vtkDataArray ycoords,
vtkDataArray zcoords,
vtkPointData pointData 
)

Finds implicit connectivity for a distributed structured dataset.

Note:
This is a collective operation, all ranks must call this method.
Precondition:
this->Controller != NULL
this->DomainInfo != NULL

Checks if there is implicit connectivity.

Returns:
status true if implicit connectivity in one or more dimensions.

Exchanges one layer (row or column) of data between neighboring grids to fix the implicit connectivity.

Note:
This is a collective operation, all ranks must call this method.
Precondition:
this->Controller != NULL
this->DomainInfo != NULL

Gets the output structured grid instance on this process.

Parameters:
gridIDthe ID of the grid
gridpointer to data-structure where to store the output.

Gets the output uniform grid instance on this process.

Parameters:
gridIDthe ID of the grid.
gridpointer to data-structure where to store the output.

Gets the output rectilinear grid instance on this process.

Parameters:
gridIDthe ID of the grid.
gridpointer to data-structure where to store the output.

Checks if the data description matches globally.

void vtkStructuredImplicitConnectivity::PackData ( int  ext[6],
vtkMultiProcessStream bytestream 
) [protected]

Packs the data to send into a bytestream.

void vtkStructuredImplicitConnectivity::UnPackData ( unsigned char *  buffer,
unsigned int  size 
) [protected]

Unpacks the data to the output grid.

Allocates send/rcv buffers needed to carry out the communication.

Computes the neighbors with implicit connectivity.

Constructs the output data-structures.

void vtkStructuredImplicitConnectivity::GrowGrid ( const int  dim) [protected]

Grows grid along a given dimension.

Parameters:
dimthe dimension in query.

Updates the list of neighbors after growing the grid along the given dimension dim.

Parameters:
dimthe dimension in query.

Gets whether there is implicit connectivity across all processes.

Exchanges extents among processes.

Precondition:
this->Controller != NULL.
Note:
This method is collective operation. All ranks must call it.

Member Data Documentation

Definition at line 152 of file vtkStructuredImplicitConnectivity.h.

vtk::detail::DomainMetaData* vtkStructuredImplicitConnectivity::DomainInfo [protected]

Definition at line 154 of file vtkStructuredImplicitConnectivity.h.

vtk::detail::StructuredGrid* vtkStructuredImplicitConnectivity::InputGrid [protected]

Definition at line 155 of file vtkStructuredImplicitConnectivity.h.

vtk::detail::StructuredGrid* vtkStructuredImplicitConnectivity::OutputGrid [protected]

Definition at line 156 of file vtkStructuredImplicitConnectivity.h.

vtk::detail::CommunicationManager* vtkStructuredImplicitConnectivity::CommManager [protected]

Definition at line 157 of file vtkStructuredImplicitConnectivity.h.


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