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

a distributed structured dataset that is implicitly connected among partitions without abutting. More...

#include <vtkStructuredImplicitConnectivity.h>

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

Public Types

typedef vtkObject Superclass
 

Public Member Functions

void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
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
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool 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)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Static Public Member Functions

static vtkStructuredImplicitConnectivityNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkStructuredImplicitConnectivitySafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

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 ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- 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 70 of file vtkStructuredImplicitConnectivity.h.

Member Typedef Documentation

Definition at line 76 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 
)
overridevirtual

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 vtkTypeBool vtkStructuredImplicitConnectivity::IsTypeOf ( const char *  type)
static
virtual vtkTypeBool 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 vtkObjectBase.

static vtkStructuredImplicitConnectivity* vtkStructuredImplicitConnectivity::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkStructuredImplicitConnectivity::NewInstanceInternal ( ) const
protectedvirtual
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 != nullptr
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 != nullptr
this->DomainInfo != nullptr
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 != nullptr
this->DomainInfo != nullptr
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 != nullptr.
Note
This method is collective operation. All ranks must call it.

Member Data Documentation

vtkMPIController* vtkStructuredImplicitConnectivity::Controller
protected

Definition at line 168 of file vtkStructuredImplicitConnectivity.h.

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

Definition at line 170 of file vtkStructuredImplicitConnectivity.h.

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

Definition at line 171 of file vtkStructuredImplicitConnectivity.h.

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

Definition at line 172 of file vtkStructuredImplicitConnectivity.h.

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

Definition at line 173 of file vtkStructuredImplicitConnectivity.h.


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