dox/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
00030
#ifndef __vtkXMLPStructuredDataReader_h
00031
#define __vtkXMLPStructuredDataReader_h
00032
00033
#include "vtkXMLPDataReader.h"
00034
00035
class vtkExtentTranslator;
00036
class vtkTableExtentTranslator;
00037
class vtkXMLStructuredDataReader;
00038
00039 class VTK_IO_EXPORT vtkXMLPStructuredDataReader :
public vtkXMLPDataReader
00040 {
00041
public:
00042 vtkTypeRevisionMacro(vtkXMLPStructuredDataReader,
vtkXMLPDataReader);
00043
void PrintSelf(ostream& os,
vtkIndent indent);
00044
00049
virtual vtkExtentTranslator* GetExtentTranslator();
00050
00051
protected:
00052 vtkXMLPStructuredDataReader();
00053 ~vtkXMLPStructuredDataReader();
00054
00055
vtkIdType GetNumberOfPoints();
00056
vtkIdType GetNumberOfCells();
00057
void CopyArrayForPoints(
vtkDataArray* inArray,
vtkDataArray* outArray);
00058
void CopyArrayForCells(
vtkDataArray* inArray,
vtkDataArray* outArray);
00059
00060
virtual void SetOutputExtent(
int* extent)=0;
00061
virtual void GetPieceInputExtent(
int index,
int* extent)=0;
00062
00063
00064
void ReadXMLData();
00065
int ReadPrimaryElement(
vtkXMLDataElement* ePrimary);
00066
00067
void SetupEmptyOutput();
00068
void SetupPieces(
int numPieces);
00069
void DestroyPieces();
00070
int ReadPiece(
vtkXMLDataElement* ePiece);
00071
int ReadPieceData();
00072
void CopySubExtent(
int* inExtent,
int* inDimensions,
int* inIncrements,
00073
int* outExtent,
int* outDimensions,
int* outIncrements,
00074
int* subExtent,
int* subDimensions,
00075
vtkDataArray* inArray,
vtkDataArray* outArray);
00076
00077 vtkTableExtentTranslator* ExtentTranslator;
00078
00079
00080 int UpdateExtent[6];
00081 int PointDimensions[3];
00082 int PointIncrements[3];
00083 int CellDimensions[3];
00084 int CellIncrements[3];
00085
00086
00087 int SubExtent[6];
00088 int SubPointDimensions[3];
00089 int SubCellDimensions[3];
00090 int SubPieceExtent[6];
00091 int SubPiecePointDimensions[3];
00092 int SubPiecePointIncrements[3];
00093 int SubPieceCellDimensions[3];
00094 int SubPieceCellIncrements[3];
00095
00096
00097 int* PieceExtents;
00098
00099
private:
00100 vtkXMLPStructuredDataReader(
const vtkXMLPStructuredDataReader&);
00101
void operator=(
const vtkXMLPStructuredDataReader&);
00102 };
00103
00104
#endif