39#ifndef vtkStructuredImplicitConnectivity_h
40#define vtkStructuredImplicitConnectivity_h
42#include "vtkFiltersParallelMPIModule.h"
60class CommunicationManager;
abstract superclass for arrays of numeric data
topologically and geometrically regular array of data
a simple class to control print indentation
Process communication using MPI.
stream used to pass data across processes using vtkMultiProcessController.
abstract base class for most VTK objects
represent and manipulate point attribute data
represent and manipulate 3D points
a dataset that is topologically regular with variable spacing in the three coordinate directions
topologically regular array of data
a distributed structured dataset that is implicitly connected among partitions without abutting.
void GetOutputRectilinearGrid(const int gridID, vtkRectilinearGrid *grid)
Gets the output rectilinear grid instance on this process.
void GetOutputStructuredGrid(const int gridID, vtkStructuredGrid *grid)
Gets the output structured grid instance on this process.
void ConstructOutput()
Constructs the output data-structures.
void PackData(int ext[6], vtkMultiProcessStream &bytestream)
Packs the data to send into a bytestream.
void RegisterRectilinearGrid(const int gridID, int extent[6], vtkDataArray *xcoords, vtkDataArray *ycoords, vtkDataArray *zcoords, vtkPointData *pointData)
vtkStructuredImplicitConnectivity()
void EstablishConnectivity()
Finds implicit connectivity for a distributed structured dataset.
static vtkStructuredImplicitConnectivity * New()
void ExchangeData()
Exchanges one layer (row or column) of data between neighboring grids to fix the implicit connectivit...
void GetOutputImageData(const int gridID, vtkImageData *grid)
Gets the output uniform grid instance on this process.
bool HasImplicitConnectivity()
Checks if there is implicit connectivity.
void SetWholeExtent(int wholeExt[6])
Sets the whole extent for the distributed structured domain.
vtk::detail::StructuredGrid * OutputGrid
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void AllocateBuffers(const int dim)
Allocates send/rcv buffers needed to carry out the communication.
void ExchangeExtents()
Exchanges extents among processes.
void UnPackData(unsigned char *buffer, unsigned int size)
Unpacks the data to the output grid.
vtk::detail::StructuredGrid * InputGrid
bool GlobalDataDescriptionMatch()
Checks if the data description matches globally.
vtkMPIController * Controller
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 RegisterGrid(const int gridID, int extent[6], vtkPoints *gridPnts, vtkPointData *pointData)
void ComputeNeighbors()
Computes the neighbors with implicit connectivity.
vtk::detail::CommunicationManager * CommManager
vtk::detail::DomainMetaData * DomainInfo
virtual ~vtkStructuredImplicitConnectivity()
void GrowGrid(const int dim)
Grows grid along a given dimension.
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.