30 #ifndef vtkStructuredImplicitConnectivity_h
31 #define vtkStructuredImplicitConnectivity_h
33 #include "vtkFiltersParallelMPIModule.h"
37 VTK_ABI_NAMESPACE_BEGIN
52 VTK_ABI_NAMESPACE_BEGIN
54 class CommunicationManager;
55 struct DomainMetaData;
56 struct StructuredGrid;
62 VTK_ABI_NAMESPACE_BEGIN
216 VTK_ABI_NAMESPACE_END
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 ConstructOutput()
Constructs the output data-structures.
void PackData(int ext[6], vtkMultiProcessStream &bytestream)
Packs the data to send into a bytestream.
vtkStructuredImplicitConnectivity()
void EstablishConnectivity()
Finds implicit connectivity for a distributed structured dataset.
void GrowGrid(int dim)
Grows grid along a given dimension.
void ExchangeData()
Exchanges one layer (row or column) of data between neighboring grids to fix the implicit connectivit...
bool HasImplicitConnectivity()
Checks if there is implicit connectivity.
void SetWholeExtent(int wholeExt[6])
Sets the whole extent for the distributed structured domain.
static vtkStructuredImplicitConnectivity * New()
void RegisterRectilinearGrid(int gridID, int extent[6], vtkDataArray *xcoords, vtkDataArray *ycoords, vtkDataArray *zcoords, vtkPointData *pointData)
vtk::detail::StructuredGrid * OutputGrid
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkStructuredImplicitConnectivity() override
void ExchangeExtents()
Exchanges extents among processes.
void UnPackData(unsigned char *buffer, unsigned int size)
Unpacks the data to the output grid.
void GetOutputImageData(int gridID, vtkImageData *grid)
Gets the output uniform grid instance on this process.
vtk::detail::StructuredGrid * InputGrid
bool GlobalDataDescriptionMatch()
Checks if the data description matches globally.
void RegisterGrid(int gridID, int extent[6], vtkPoints *gridPnts, vtkPointData *pointData)
vtkMPIController * Controller
void AllocateBuffers(int dim)
Allocates send/rcv buffers needed to carry out the communication.
void GetOutputRectilinearGrid(int gridID, vtkRectilinearGrid *grid)
Gets the output rectilinear grid instance on this process.
void GetGlobalImplicitConnectivityState()
Gets whether there is implicit connectivity across all processes.
void ComputeNeighbors()
Computes the neighbors with implicit connectivity.
vtk::detail::CommunicationManager * CommManager
vtk::detail::DomainMetaData * DomainInfo
void GetOutputStructuredGrid(int gridID, vtkStructuredGrid *grid)
Gets the output structured grid instance on this process.
void UpdateNeighborList(int dim)
Updates the list of neighbors after growing the grid along the given dimension dim.
void SetController(vtkMPIController *)
const std::string pointData
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.