VTK
dox/IO/XML/vtkXMLMultiBlockDataReader.h
Go to the documentation of this file.
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 =========================================================================*/
00031 #ifndef __vtkXMLMultiBlockDataReader_h
00032 #define __vtkXMLMultiBlockDataReader_h
00033 
00034 #include "vtkIOXMLModule.h" // For export macro
00035 #include "vtkXMLCompositeDataReader.h"
00036 
00037 class vtkMultiBlockDataSet;
00038 
00039 class VTKIOXML_EXPORT vtkXMLMultiBlockDataReader : public vtkXMLCompositeDataReader
00040 {
00041 public:
00042   static vtkXMLMultiBlockDataReader* New();
00043   vtkTypeMacro(vtkXMLMultiBlockDataReader,vtkXMLCompositeDataReader);
00044   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00046 protected:
00047   vtkXMLMultiBlockDataReader();
00048   ~vtkXMLMultiBlockDataReader();
00049 
00050   // Read the XML element for the subtree of a the composite dataset.
00051   // dataSetIndex is used to rank the leaf nodes in an inorder traversal.
00052   virtual void ReadComposite(vtkXMLDataElement* element,
00053     vtkCompositeDataSet* composite, const char* filePath,
00054     unsigned int &dataSetIndex);
00055 
00056   // Reads file version < 1.0.
00057   virtual void ReadVersion0(vtkXMLDataElement* element,
00058     vtkCompositeDataSet* composite, const char* filePath,
00059     unsigned int &dataSetIndex);
00060 
00061   // Get the name of the data set being read.
00062   virtual const char* GetDataSetName();
00063 
00064   virtual int FillOutputPortInformation(int, vtkInformation* info);
00065 
00066   virtual int RequestInformation(vtkInformation*,
00067                                  vtkInformationVector**,
00068                                  vtkInformationVector*);
00069 
00070   virtual int FillMetaData(vtkCompositeDataSet* metadata,
00071                            vtkXMLDataElement* element,
00072                            unsigned int& dataSetIndex);
00073 
00074 private:
00075   vtkXMLMultiBlockDataReader(const vtkXMLMultiBlockDataReader&);  // Not implemented.
00076   void operator=(const vtkXMLMultiBlockDataReader&);  // Not implemented.
00077 };
00078 
00079 #endif