VTK
dox/IO/vtkXMLGenericDataObjectReader.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile$
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 =========================================================================*/
00028 #ifndef __vtkXMLGenericDataObjectReader_h
00029 #define __vtkXMLGenericDataObjectReader_h
00030 
00031 #include "vtkXMLDataReader.h"
00032 
00033 class vtkHierarchicalBoxDataSet;
00034 class vtkHyperOctree;
00035 class vtkMultiBlockDataSet;
00036 class vtkImageData;
00037 class vtkPolyData;
00038 class vtkRectilinearGrid;
00039 class vtkStructuredGrid;
00040 class vtkUnstructuredGrid;
00041 
00042 class VTK_IO_EXPORT vtkXMLGenericDataObjectReader : public vtkXMLDataReader
00043 {
00044 public:
00045   vtkTypeMacro(vtkXMLGenericDataObjectReader,vtkXMLDataReader);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047   static vtkXMLGenericDataObjectReader *New();
00048 
00050 
00051   vtkDataObject *GetOutput();
00052   vtkDataObject *GetOutput(int idx);
00054 
00056 
00061   vtkHierarchicalBoxDataSet *GetHierarchicalBoxDataSetOutput();
00062   vtkHyperOctree *GetHyperOctreeOutput();
00063   vtkImageData *GetImageDataOutput();
00064   vtkMultiBlockDataSet *GetMultiBlockDataSetOutput();
00065   vtkPolyData *GetPolyDataOutput();
00066   vtkRectilinearGrid *GetRectilinearGridOutput();
00067   vtkStructuredGrid *GetStructuredGridOutput();
00068   vtkUnstructuredGrid *GetUnstructuredGridOutput();
00070 
00072   vtkIdType GetNumberOfPoints();
00073 
00075   vtkIdType GetNumberOfCells();
00076 
00078   void SetupEmptyOutput();
00079 
00082   virtual int ReadOutputType(const char *name, bool &parallel);
00083 
00084 protected:
00085   vtkXMLGenericDataObjectReader();
00086   ~vtkXMLGenericDataObjectReader();
00087   
00089   const char* GetDataSetName();
00090   
00091   
00092   virtual int RequestDataObject(vtkInformation *, vtkInformationVector **,
00093                                 vtkInformationVector *);
00094   virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
00095                                  vtkInformationVector *);
00096   virtual int RequestUpdateExtent(vtkInformation *request,
00097                                   vtkInformationVector **inputVector,
00098                                   vtkInformationVector *outputVector);
00099 
00100   virtual int RequestData(vtkInformation *, vtkInformationVector **,
00101                           vtkInformationVector *);
00102   virtual int FillOutputPortInformation(int, vtkInformation *);
00103 
00104   vtkXMLReader *Reader; // actual reader
00105 
00106 private:
00107   vtkXMLGenericDataObjectReader(const vtkXMLGenericDataObjectReader&);  // Not implemented.
00108   void operator=(const vtkXMLGenericDataObjectReader&);  // Not implemented.
00109 };
00110 
00111 #endif