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

#include <vtkStructuredImplicitConnectivity.h>

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

Public Types

typedef vtkObject Superclass
 
- Public Types inherited from vtkObject
typedef vtkObjectBase 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. More...
 
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. More...
 
bool HasImplicitConnectivity ()
 Checks if there is implicit connectivity. More...
 
void ExchangeData ()
 Exchanges one layer (row or column) of data between neighboring grids to fix the implicit connectivity. More...
 
void GetOutputStructuredGrid (const int gridID, vtkStructuredGrid *grid)
 Gets the output structured grid instance on this process. More...
 
void GetOutputImageData (const int gridID, vtkImageData *grid)
 Gets the output uniform grid instance on this process. More...
 
void GetOutputRectilinearGrid (const int gridID, vtkRectilinearGrid *grid)
 Gets the output rectilinear grid instance on this process. More...
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
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 *)
 
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)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
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)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- 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)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static vtkStructuredImplicitConnectivityNew ()
 
static int IsTypeOf (const char *type)
 
static vtkStructuredImplicitConnectivitySafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

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

vtkMPIControllerController
 
vtk::detail::DomainMetaData * DomainInfo
 
vtk::detail::StructuredGrid * InputGrid
 
vtk::detail::StructuredGrid * OutputGrid
 
vtk::detail::CommunicationManager * CommManager
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

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

Definition at line 75 of file vtkStructuredImplicitConnectivity.h.

Constructor & Destructor Documentation

vtkStructuredImplicitConnectivity::vtkStructuredImplicitConnectivity ( )
protected
virtual vtkStructuredImplicitConnectivity::~vtkStructuredImplicitConnectivity ( )
protectedvirtual

Member Function Documentation

static vtkStructuredImplicitConnectivity* vtkStructuredImplicitConnectivity::New ( )
static
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 *  type)
static
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.

static vtkStructuredImplicitConnectivity* vtkStructuredImplicitConnectivity::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkStructuredImplicitConnectivity::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkObject.

vtkStructuredImplicitConnectivity* vtkStructuredImplicitConnectivity::NewInstance ( ) const
void vtkStructuredImplicitConnectivity::SetWholeExtent ( int  wholeExt[6])

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 
)
void vtkStructuredImplicitConnectivity::EstablishConnectivity ( )

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
bool vtkStructuredImplicitConnectivity::HasImplicitConnectivity ( )

Checks if there is implicit connectivity.

Returns
status true if implicit connectivity in one or more dimensions.
void vtkStructuredImplicitConnectivity::ExchangeData ( )

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
void vtkStructuredImplicitConnectivity::GetOutputStructuredGrid ( const int  gridID,
vtkStructuredGrid grid 
)

Gets the output structured grid instance on this process.

Parameters
gridIDthe ID of the grid
gridpointer to data-structure where to store the output.
void vtkStructuredImplicitConnectivity::GetOutputImageData ( const int  gridID,
vtkImageData grid 
)

Gets the output uniform grid instance on this process.

Parameters
gridIDthe ID of the grid.
gridpointer to data-structure where to store the output.
void vtkStructuredImplicitConnectivity::GetOutputRectilinearGrid ( const int  gridID,
vtkRectilinearGrid grid 
)

Gets the output rectilinear grid instance on this process.

Parameters
gridIDthe ID of the grid.
gridpointer to data-structure where to store the output.
bool vtkStructuredImplicitConnectivity::GlobalDataDescriptionMatch ( )
protected

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.

void vtkStructuredImplicitConnectivity::AllocateBuffers ( const int  dim)
protected

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

void vtkStructuredImplicitConnectivity::ComputeNeighbors ( )
protected

Computes the neighbors with implicit connectivity.

void vtkStructuredImplicitConnectivity::ConstructOutput ( )
protected

Constructs the output data-structures.

void vtkStructuredImplicitConnectivity::GrowGrid ( const int  dim)
protected

Grows grid along a given dimension.

Parameters
dimthe dimension in query.
void vtkStructuredImplicitConnectivity::UpdateNeighborList ( const int  dim)
protected

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

Parameters
dimthe dimension in query.
void vtkStructuredImplicitConnectivity::GetGlobalImplicitConnectivityState ( )
protected

Gets whether there is implicit connectivity across all processes.

void vtkStructuredImplicitConnectivity::ExchangeExtents ( )
protected

Exchanges extents among processes.

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

Member Data Documentation

vtkMPIController* vtkStructuredImplicitConnectivity::Controller
protected

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: