You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.3 KiB
C

/*=========================================================================
Program: Visualization Toolkit
Module: vtkPixelExtentIO.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkPixelExtentIO
*
* A small collection of I/O routines that can write vtkPixelExtent's
* or collections of them to disk for visualization as unstructured
* grids.
*/
#ifndef vtkPixelExtentIO_h
#define vtkPixelExtentIO_h
#include "vtkIOLegacyModule.h" // for export
#include "vtkPixelExtent.h" // for pixel extent
#include <deque> // for std::deque
class vtkUnstructuredGrid;
class VTKIOLEGACY_EXPORT vtkPixelExtentIO
{
public:
/**
* Writes deque of extents for each MPI rank to disk
* as an unstructured grid. Each extent is converted to
* a QUAD cell. Rank is encoded in a cell data array.
* It's aassumed that the data is duplicated on all
* ranks thus only rank 0 writes the data to disk.
*/
static void Write(
int commRank, const char* fileName, const std::deque<std::deque<vtkPixelExtent> >& exts);
/**
* Writes an extent for each MPI rank to disk as an
* unstructured grid. It's expected that the index into
* the deque identifies the rank. Each extent is converted
* to a QUAD cell. Rank is encoded in a cell data array.
* It's aassumed that the data is duplicated on all
* ranks thus only rank 0 writes the data to disk.
*/
static void Write(int commRank, const char* fileName, const std::deque<vtkPixelExtent>& exts);
//@{
/**
* Write an extent per MPI rank to disk. All ranks
* write. It's assumed that each rank passes a unique
* filename.
*/
static void Write(int commRank, const char* fileName, const vtkPixelExtent& ext);
//@}
};
/**
* Insert the extent into an unstructured grid.
*/
VTKIOLEGACY_EXPORT
vtkUnstructuredGrid& operator<<(vtkUnstructuredGrid& data, const vtkPixelExtent& ext);
#endif
// VTK-HeaderTest-Exclude: vtkPixelExtentIO.h