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
00026
#ifndef __vtkXMLPStructuredDataReader_h
00027
#define __vtkXMLPStructuredDataReader_h
00028
00029
#include "vtkXMLPDataReader.h"
00030
00031
class vtkExtentSplitter;
00032
class vtkExtentTranslator;
00033
class vtkTableExtentTranslator;
00034
class vtkXMLStructuredDataReader;
00035
00036 class VTK_IO_EXPORT vtkXMLPStructuredDataReader :
public vtkXMLPDataReader
00037 {
00038
public:
00039 vtkTypeRevisionMacro(vtkXMLPStructuredDataReader,
vtkXMLPDataReader);
00040
void PrintSelf(ostream& os,
vtkIndent indent);
00041
00046
virtual vtkExtentTranslator* GetExtentTranslator();
00047
00048
protected:
00049 vtkXMLPStructuredDataReader();
00050 ~vtkXMLPStructuredDataReader();
00051
00052
vtkIdType GetNumberOfPoints();
00053
vtkIdType GetNumberOfCells();
00054
void CopyArrayForPoints(
vtkDataArray* inArray,
vtkDataArray* outArray);
00055
void CopyArrayForCells(
vtkDataArray* inArray,
vtkDataArray* outArray);
00056
00057
virtual void SetOutputExtent(
int* extent)=0;
00058
virtual void GetPieceInputExtent(
int index,
int* extent)=0;
00059
00060
00061
void ReadXMLData();
00062
int ReadPrimaryElement(
vtkXMLDataElement* ePrimary);
00063
00064
void SetupOutputInformation();
00065
void SetupEmptyOutput();
00066
void SetupPieces(
int numPieces);
00067
void DestroyPieces();
00068
int ReadPiece(
vtkXMLDataElement* ePiece);
00069
int ReadPieceData();
00070
void CopySubExtent(
int* inExtent,
int* inDimensions,
int* inIncrements,
00071
int* outExtent,
int* outDimensions,
int* outIncrements,
00072
int* subExtent,
int* subDimensions,
00073
vtkDataArray* inArray,
vtkDataArray* outArray);
00074
int ComputePieceSubExtents();
00075
00076 vtkTableExtentTranslator* ExtentTranslator;
00077 vtkExtentSplitter* ExtentSplitter;
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