Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
IO/vtkXMLPStructuredDataReader.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00040 #ifndef __vtkXMLPStructuredDataReader_h
00041 #define __vtkXMLPStructuredDataReader_h
00042
00043 #include "vtkXMLPDataReader.h"
00044
00045 class vtkExtentTranslator;
00046 class vtkTableExtentTranslator;
00047 class vtkXMLStructuredDataReader;
00048
00049 class VTK_IO_EXPORT vtkXMLPStructuredDataReader : public vtkXMLPDataReader
00050 {
00051 public:
00052 vtkTypeRevisionMacro(vtkXMLPStructuredDataReader,vtkXMLPDataReader);
00053 void PrintSelf(ostream& os, vtkIndent indent);
00054
00059 virtual vtkExtentTranslator* GetExtentTranslator();
00060
00061 protected:
00062 vtkXMLPStructuredDataReader();
00063 ~vtkXMLPStructuredDataReader();
00064
00065 vtkIdType GetNumberOfPoints();
00066 vtkIdType GetNumberOfCells();
00067 void CopyArrayForPoints(vtkDataArray* inArray, vtkDataArray* outArray);
00068 void CopyArrayForCells(vtkDataArray* inArray, vtkDataArray* outArray);
00069
00070 virtual void SetOutputExtent(int* extent)=0;
00071 virtual void GetPieceInputExtent(int index, int* extent)=0;
00072
00073
00074 void ReadXMLData();
00075 int ReadPrimaryElement(vtkXMLDataElement* ePrimary);
00076
00077 void SetupEmptyOutput();
00078 void SetupPieces(int numPieces);
00079 void DestroyPieces();
00080 int ReadPiece(vtkXMLDataElement* ePiece);
00081 int ReadPieceData();
00082 void CopySubExtent(int* inExtent, int* inDimensions, int* inIncrements,
00083 int* outExtent, int* outDimensions, int* outIncrements,
00084 int* subExtent, int* subDimensions,
00085 vtkDataArray* inArray, vtkDataArray* outArray);
00086
00087 vtkTableExtentTranslator* ExtentTranslator;
00088
00089
00090 int UpdateExtent[6];
00091 int PointDimensions[3];
00092 int PointIncrements[3];
00093 int CellDimensions[3];
00094 int CellIncrements[3];
00095
00096
00097 int SubExtent[6];
00098 int SubPointDimensions[3];
00099 int SubCellDimensions[3];
00100 int SubPieceExtent[6];
00101 int SubPiecePointDimensions[3];
00102 int SubPiecePointIncrements[3];
00103 int SubPieceCellDimensions[3];
00104 int SubPieceCellIncrements[3];
00105
00106
00107 int* PieceExtents;
00108
00109 private:
00110 vtkXMLPStructuredDataReader(const vtkXMLPStructuredDataReader&);
00111 void operator=(const vtkXMLPStructuredDataReader&);
00112 };
00113
00114 #endif