Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

109 lines
3.5 KiB

/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: vtkPDataSetWriter.h,v $
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.
=========================================================================*/
// .NAME vtkPDataSetWriter - Manages writing pieces of a data set.
// .SECTION Description
// vtkPDataSetWriter will write a piece of a file, and will also create
// a metadata file that lists all of the files in a data set.
#ifndef __vtkPDataSetWriter_h
#define __vtkPDataSetWriter_h
#include "vtkDataSetWriter.h"
class vtkImageData;
class vtkRectilinearGrid;
class vtkStructuredGrid;
class VTK_PARALLEL_EXPORT vtkPDataSetWriter : public vtkDataSetWriter
{
public:
void PrintSelf(ostream& os, vtkIndent indent);
vtkTypeRevisionMacro(vtkPDataSetWriter,vtkDataSetWriter);
static vtkPDataSetWriter *New();
// Description:
// Write the pvtk file and cooresponding vtk files.
virtual int Write();
// Description:
// This is how many pieces the whole data set will be divided into.
void SetNumberOfPieces(int num);
vtkGetMacro(NumberOfPieces, int);
// Description:
// Extra ghost cells will be written out to each piece file
// if this value is larger than 0.
vtkSetMacro(GhostLevel, int);
vtkGetMacro(GhostLevel, int);
// Description:
// This is the range of pieces that that this writer is
// responsible for writing. All pieces must be written
// by some process. The process that writes piece 0 also
// writes the pvtk file that lists all the piece file names.
vtkSetMacro(StartPiece, int);
vtkGetMacro(StartPiece, int);
vtkSetMacro(EndPiece, int);
vtkGetMacro(EndPiece, int);
// Description:
// This file pattern uses the file name and piece number
// to contruct a file name for the piece file.
vtkSetStringMacro(FilePattern);
vtkGetStringMacro(FilePattern);
// Description:
// This flag determines whether to use absolute paths for the piece files.
// By default the pieces are put in the main directory, and the piece file
// names in the meta data pvtk file are relative to this directory.
// This should make moving the whole lot to another directory, an easier task.
vtkSetMacro(UseRelativeFileNames, int);
vtkGetMacro(UseRelativeFileNames, int);
vtkBooleanMacro(UseRelativeFileNames, int);
protected:
vtkPDataSetWriter();
~vtkPDataSetWriter();
//BTX
ostream *OpenFile();
int WriteUnstructuredMetaData(vtkDataSet *input,
char *root, char *str, ostream *fptr);
int WriteImageMetaData(vtkImageData *input,
char *root, char *str, ostream *fptr);
int WriteRectilinearGridMetaData(vtkRectilinearGrid *input,
char *root, char *str, ostream *fptr);
int WriteStructuredGridMetaData(vtkStructuredGrid *input,
char *root, char *str, ostream *fptr);
//ETX
int StartPiece;
int EndPiece;
int NumberOfPieces;
int GhostLevel;
int UseRelativeFileNames;
char *FilePattern;
void DeleteFiles();
private:
vtkPDataSetWriter(const vtkPDataSetWriter&); // Not implemented
void operator=(const vtkPDataSetWriter&); // Not implemented
};
#endif