00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: vtkXMLMultiBlockDataReader.h 00005 00006 Copyright (c) Kitware, Inc. 00007 All rights reserved. 00008 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/ 00028 #ifndef __vtkXMLMultiBlockDataReader_h 00029 #define __vtkXMLMultiBlockDataReader_h 00030 00031 #include "vtkXMLCompositeDataReader.h" 00032 00033 class vtkMultiBlockDataSet; 00034 00035 class VTK_IO_EXPORT vtkXMLMultiBlockDataReader : public vtkXMLCompositeDataReader 00036 { 00037 public: 00038 static vtkXMLMultiBlockDataReader* New(); 00039 vtkTypeMacro(vtkXMLMultiBlockDataReader,vtkXMLCompositeDataReader); 00040 void PrintSelf(ostream& os, vtkIndent indent); 00041 00042 protected: 00043 vtkXMLMultiBlockDataReader(); 00044 ~vtkXMLMultiBlockDataReader(); 00045 00046 // Read the XML element for the subtree of a the composite dataset. 00047 // dataSetIndex is used to rank the leaf nodes in an inorder traversal. 00048 virtual void ReadComposite(vtkXMLDataElement* element, 00049 vtkCompositeDataSet* composite, const char* filePath, 00050 unsigned int &dataSetIndex); 00051 00052 // Reads file version < 1.0. 00053 virtual void ReadVersion0(vtkXMLDataElement* element, 00054 vtkCompositeDataSet* composite, const char* filePath, 00055 unsigned int &dataSetIndex); 00056 00057 // Get the name of the data set being read. 00058 virtual const char* GetDataSetName(); 00059 00060 virtual int FillOutputPortInformation(int, vtkInformation* info); 00061 00062 private: 00063 vtkXMLMultiBlockDataReader(const vtkXMLMultiBlockDataReader&); // Not implemented. 00064 void operator=(const vtkXMLMultiBlockDataReader&); // Not implemented. 00065 }; 00066 00067 #endif