dox/IO/vtkXMLUnstructuredDataReader.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00029
#ifndef __vtkXMLUnstructuredDataReader_h
00030
#define __vtkXMLUnstructuredDataReader_h
00031
00032
#include "vtkXMLDataReader.h"
00033
00034
class vtkCellArray;
00035
class vtkIdTypeArray;
00036
class vtkPointSet;
00037
class vtkUnsignedCharArray;
00038
00039 class VTK_IO_EXPORT vtkXMLUnstructuredDataReader :
public vtkXMLDataReader
00040 {
00041
public:
00042 vtkTypeRevisionMacro(vtkXMLUnstructuredDataReader,
vtkXMLDataReader);
00043
void PrintSelf(ostream& os,
vtkIndent indent);
00044
00046
virtual vtkIdType GetNumberOfPoints();
00047
00049
virtual vtkIdType GetNumberOfCells();
00050
00055
void SetupUpdateExtent(
int piece,
int numberOfPieces,
int ghostLevel);
00056
00057
protected:
00058 vtkXMLUnstructuredDataReader();
00059 ~vtkXMLUnstructuredDataReader();
00060
00061
vtkPointSet* GetOutputAsPointSet();
00062
vtkXMLDataElement* FindDataArrayWithName(
vtkXMLDataElement* eParent,
00063
const char* name);
00064
vtkIdTypeArray* ConvertToIdTypeArray(
vtkDataArray* a);
00065
vtkUnsignedCharArray* ConvertToUnsignedCharArray(
vtkDataArray* a);
00066
00067
00068
void ReadXMLData();
00069
00070
virtual void SetupEmptyOutput();
00071
virtual void GetOutputUpdateExtent(
int& piece,
int& numberOfPieces,
00072
int& ghostLevel)=0;
00073
virtual void SetupOutputTotals();
00074
virtual void SetupNextPiece();
00075
void SetupPieces(
int numPieces);
00076
void DestroyPieces();
00077
00078
void SetupOutputInformation();
00079
void SetupOutputData();
00080
int ReadPiece(
vtkXMLDataElement* ePiece);
00081
int ReadPieceData();
00082
int ReadCellArray(
vtkIdType numberOfCells,
vtkIdType totalNumberOfCells,
00083
vtkXMLDataElement* eCells,
vtkCellArray* outCells);
00084
00085
00086
int ReadArrayForPoints(
vtkXMLDataElement* da,
vtkDataArray* outArray);
00087
00088
00089 int UpdatePiece;
00090 int UpdateNumberOfPieces;
00091 int UpdateGhostLevel;
00092
00093
00094 int StartPiece;
00095 int EndPiece;
00096 vtkIdType TotalNumberOfPoints;
00097 vtkIdType TotalNumberOfCells;
00098 vtkIdType StartPoint;
00099
00100
00101 vtkXMLDataElement** PointElements;
00102 vtkIdType* NumberOfPoints;
00103
00104
private:
00105 vtkXMLUnstructuredDataReader(
const vtkXMLUnstructuredDataReader&);
00106
void operator=(
const vtkXMLUnstructuredDataReader&);
00107 };
00108
00109
#endif