00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkXMLPUnstructuredGridReader.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00038 #ifndef __vtkXMLPUnstructuredGridReader_h 00039 #define __vtkXMLPUnstructuredGridReader_h 00040 00041 #include "vtkXMLPUnstructuredDataReader.h" 00042 00043 class vtkUnstructuredGrid; 00044 00045 class VTK_IO_EXPORT vtkXMLPUnstructuredGridReader : public vtkXMLPUnstructuredDataReader 00046 { 00047 public: 00048 vtkTypeRevisionMacro(vtkXMLPUnstructuredGridReader,vtkXMLPUnstructuredDataReader); 00049 void PrintSelf(ostream& os, vtkIndent indent); 00050 static vtkXMLPUnstructuredGridReader *New(); 00051 00053 00054 void SetOutput(vtkUnstructuredGrid *output); 00055 vtkUnstructuredGrid *GetOutput(); 00056 vtkUnstructuredGrid *GetOutput(int idx); 00058 00059 protected: 00060 vtkXMLPUnstructuredGridReader(); 00061 ~vtkXMLPUnstructuredGridReader(); 00062 00063 const char* GetDataSetName(); 00064 void GetOutputUpdateExtent(int& piece, int& numberOfPieces, int& ghostLevel); 00065 void SetupOutputTotals(); 00066 00067 void SetupOutputData(); 00068 void SetupNextPiece(); 00069 int ReadPieceData(); 00070 00071 void CopyArrayForCells(vtkDataArray* inArray, vtkDataArray* outArray); 00072 vtkXMLDataReader* CreatePieceReader(); 00073 00074 // The index of the cell in the output where the current piece 00075 // begins. 00076 vtkIdType StartCell; 00077 00078 private: 00079 vtkXMLPUnstructuredGridReader(const vtkXMLPUnstructuredGridReader&); // Not implemented. 00080 void operator=(const vtkXMLPUnstructuredGridReader&); // Not implemented. 00081 }; 00082 00083 #endif