8#ifndef vtkMPIPixelView_h
9#define vtkMPIPixelView_h
17VTK_ABI_NAMESPACE_BEGIN
24 MPI_Initialized(&mpiOk);
27 std::cerr <<
"This class requires the MPI runtime." << std::endl;
34 MPI_Datatype nativeType;
42 domain.
Size(domainDims);
48 decomp.
Size(decompDims);
56 unsigned long long nCells = decomp.
Size();
57 iErr = MPI_Type_contiguous((
int)nCells, nativeType, &view);
60 MPI_Type_free(&nativeType);
66 iErr = MPI_Type_create_subarray(
67 2, domainDims, decompDims, decompStart, MPI_ORDER_FORTRAN, nativeType, &view);
70 MPI_Type_free(&nativeType);
74 iErr = MPI_Type_commit(&view);
77 MPI_Type_free(&nativeType);
81 MPI_Type_free(&nativeType);
Representation of a cartesian pixel plane and common operations on it.
void GetStartIndex(int first[2]) const
Get the start/end index.
void Size(T nCells[2]) const
Get the number in each direction.
int vtkMPIPixelViewNew(const vtkPixelExtent &domain, const vtkPixelExtent &decomp, int nComps, MPI_Datatype &view)