vtkXMLUnstructuredDataWriter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00026 #ifndef __vtkXMLUnstructuredDataWriter_h
00027 #define __vtkXMLUnstructuredDataWriter_h
00028
00029 #include "vtkXMLWriter.h"
00030
00031 class vtkPointSet;
00032 class vtkCellArray;
00033 class vtkDataArray;
00034 class vtkIdTypeArray;
00035
00036 class VTK_IO_EXPORT vtkXMLUnstructuredDataWriter : public vtkXMLWriter
00037 {
00038 public:
00039 vtkTypeRevisionMacro(vtkXMLUnstructuredDataWriter,vtkXMLWriter);
00040 void PrintSelf(ostream& os, vtkIndent indent);
00041
00043
00045 vtkSetMacro(NumberOfPieces, int);
00046 vtkGetMacro(NumberOfPieces, int);
00048
00050
00051 vtkSetMacro(WritePiece, int);
00052 vtkGetMacro(WritePiece, int);
00054
00056
00057 vtkSetMacro(GhostLevel, int);
00058 vtkGetMacro(GhostLevel, int);
00060
00061 protected:
00062 vtkXMLUnstructuredDataWriter();
00063 ~vtkXMLUnstructuredDataWriter();
00064
00065 vtkPointSet* GetInputAsPointSet();
00066 virtual const char* GetDataSetName()=0;
00067 virtual void SetInputUpdateExtent(int piece, int numPieces,
00068 int ghostLevel)=0;
00069
00070
00071 int WriteData();
00072
00073 virtual void WriteInlineMode(vtkIndent indent);
00074 virtual void WriteInlinePieceAttributes();
00075 virtual void WriteInlinePiece(vtkIndent indent);
00076
00077 virtual void WriteAppendedMode(vtkIndent indent);
00078 virtual void WriteAppendedPieceAttributes(int index);
00079 virtual void WriteAppendedPiece(int index, vtkIndent indent);
00080 virtual void WriteAppendedPieceData(int index);
00081
00082 void WriteCellsInline(const char* name, vtkCellArray* cells,
00083 vtkDataArray* types, vtkIndent indent);
00084 unsigned long* WriteCellsAppended(const char* name, vtkDataArray* types,
00085 vtkIndent indent);
00086 void WriteCellsAppendedData(vtkCellArray* cells, vtkDataArray* types,
00087 unsigned long* positions);
00088 void ConvertCells(vtkCellArray* cells);
00089
00090
00091 int NumberOfPieces;
00092
00093
00094 int WritePiece;
00095
00096
00097 int GhostLevel;
00098
00099
00100 unsigned long* PointsPositions;
00101 unsigned long* NumberOfPointsPositions;
00102 unsigned long** PointDataPositions;
00103 unsigned long** CellDataPositions;
00104
00105
00106 vtkIdTypeArray* CellPoints;
00107 vtkIdTypeArray* CellOffsets;
00108
00109 private:
00110 vtkXMLUnstructuredDataWriter(const vtkXMLUnstructuredDataWriter&);
00111 void operator=(const vtkXMLUnstructuredDataWriter&);
00112 };
00113
00114 #endif