00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024
#ifndef __vtkXMLPDataWriter_h
00025
#define __vtkXMLPDataWriter_h
00026
00027
#include "vtkXMLWriter.h"
00028
00029
class vtkCallbackCommand;
00030
class vtkDataSet;
00031
00032 class VTK_IO_EXPORT vtkXMLPDataWriter :
public vtkXMLWriter
00033 {
00034
public:
00035 vtkTypeRevisionMacro(vtkXMLPDataWriter,
vtkXMLWriter);
00036
void PrintSelf(ostream& os,
vtkIndent indent);
00037
00039
00040 vtkSetMacro(NumberOfPieces,
int);
00041 vtkGetMacro(NumberOfPieces,
int);
00043
00045
00046 vtkSetMacro(StartPiece,
int);
00047 vtkGetMacro(StartPiece,
int);
00048 vtkSetMacro(EndPiece,
int);
00049 vtkGetMacro(EndPiece,
int);
00051
00053
00054 vtkSetMacro(GhostLevel,
int);
00055 vtkGetMacro(GhostLevel,
int);
00057
00059
00062
virtual void SetWriteSummaryFile(
int flag);
00063 vtkGetMacro(WriteSummaryFile,
int);
00064 vtkBooleanMacro(WriteSummaryFile,
int);
00066
00067
protected:
00068 vtkXMLPDataWriter();
00069 ~vtkXMLPDataWriter();
00070
00071
00072
virtual int WriteInternal();
00073
00074
virtual vtkXMLWriter* CreatePieceWriter(
int index)=0;
00075
00076
virtual void WritePrimaryElementAttributes();
00077
int WriteData();
00078
virtual void WritePData(
vtkIndent indent);
00079
virtual void WritePPieceAttributes(
int index);
00080
00081
char* CreatePieceFileName(
int index,
const char* path=0);
00082
void SplitFileName();
00083
int WritePieces();
00084
int WritePiece(
int index);
00085
00086
00087
static void ProgressCallbackFunction(
vtkObject*,
unsigned long,
void*,
00088
void*);
00089
00090
virtual void ProgressCallback(
vtkProcessObject* w);
00091
00092 int StartPiece;
00093 int EndPiece;
00094 int NumberOfPieces;
00095 int GhostLevel;
00096 int WriteSummaryFile;
00097 int WriteSummaryFileInitialized;
00098
00099 char* PathName;
00100 char* FileNameBase;
00101 char* FileNameExtension;
00102 char* PieceFileNameExtension;
00103
00104
00105 vtkCallbackCommand* ProgressObserver;
00106
00107
private:
00108 vtkXMLPDataWriter(
const vtkXMLPDataWriter&);
00109
void operator=(
const vtkXMLPDataWriter&);
00110 };
00111
00112
#endif