Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/IO/vtkXMLPDataWriter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkXMLPDataWriter.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00028 #ifndef __vtkXMLPDataWriter_h
00029 #define __vtkXMLPDataWriter_h
00030 
00031 #include "vtkXMLWriter.h"
00032 
00033 class vtkDataSet;
00034 
00035 class VTK_IO_EXPORT vtkXMLPDataWriter : public vtkXMLWriter
00036 {
00037 public:
00038   vtkTypeRevisionMacro(vtkXMLPDataWriter,vtkXMLWriter);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040   
00042 
00043   vtkSetMacro(NumberOfPieces, int);
00044   vtkGetMacro(NumberOfPieces, int);
00046   
00048 
00049   vtkSetMacro(StartPiece, int);
00050   vtkGetMacro(StartPiece, int);
00051   vtkSetMacro(EndPiece, int);
00052   vtkGetMacro(EndPiece, int);
00054   
00056 
00057   vtkSetMacro(GhostLevel, int);
00058   vtkGetMacro(GhostLevel, int);
00060   
00062 
00065   virtual void SetWriteSummaryFile(int flag);
00066   vtkGetMacro(WriteSummaryFile, int);
00067   vtkBooleanMacro(WriteSummaryFile, int);  
00069   
00071   int Write();
00072 protected:
00073   vtkXMLPDataWriter();
00074   ~vtkXMLPDataWriter();
00075   
00076   virtual vtkXMLWriter* CreatePieceWriter(int index)=0;
00077   
00078   virtual void WritePrimaryElementAttributes();
00079   int WriteData();
00080   virtual void WritePData(vtkIndent indent);
00081   virtual void WritePPieceAttributes(int index);
00082   
00083   char* CreatePieceFileName(int index, const char* path=0);
00084   void SplitFileName();
00085   int WritePieces();
00086   int WritePiece(int index);
00087   
00088   int StartPiece;
00089   int EndPiece;
00090   int NumberOfPieces;
00091   int GhostLevel;
00092   int WriteSummaryFile;
00093   int WriteSummaryFileInitialized;
00094   
00095   char* PathName;
00096   char* FileNameBase;
00097   char* FileNameExtension;
00098   char* PieceFileNameExtension;
00099   
00100 private:
00101   vtkXMLPDataWriter(const vtkXMLPDataWriter&);  // Not implemented.
00102   void operator=(const vtkXMLPDataWriter&);  // Not implemented.
00103 };
00104 
00105 #endif