VTK
|
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 ¶llel); 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