dox/IO/vtkXMLStructuredDataWriter.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 __vtkXMLStructuredDataWriter_h
00027 #define __vtkXMLStructuredDataWriter_h
00028
00029 #include "vtkXMLWriter.h"
00030
00031 class vtkDataSet;
00032 class vtkPointData;
00033 class vtkExtentTranslator;
00034 class vtkDataArray;
00035 class vtkDataSetAttributes;
00036
00037 class VTK_IO_EXPORT vtkXMLStructuredDataWriter : public vtkXMLWriter
00038 {
00039 public:
00040 vtkTypeRevisionMacro(vtkXMLStructuredDataWriter,vtkXMLWriter);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044
00046 vtkSetMacro(NumberOfPieces, int);
00047 vtkGetMacro(NumberOfPieces, int);
00049
00051
00054 vtkSetVector6Macro(WriteExtent, int);
00055 vtkGetVector6Macro(WriteExtent, int);
00057
00059
00060 virtual void SetExtentTranslator(vtkExtentTranslator*);
00061 vtkGetObjectMacro(ExtentTranslator, vtkExtentTranslator);
00063
00064 protected:
00065 vtkXMLStructuredDataWriter();
00066 ~vtkXMLStructuredDataWriter();
00067
00068
00069 virtual void WritePrimaryElementAttributes();
00070 virtual void WriteAppendedPiece(int index, vtkIndent indent);
00071 virtual void WriteAppendedPieceData(int index);
00072 virtual void WriteInlinePiece(int index, vtkIndent indent);
00073 virtual void GetInputExtent(int* extent)=0;
00074
00075
00076 int WriteData();
00077 void SetupExtentTranslator();
00078 virtual void WriteAppendedMode(vtkIndent indent);
00079 vtkDataArray* CreateExactExtent(vtkDataArray* array, int* inExtent,
00080 int* outExtent, int isPoint);
00081 virtual void WriteInlineMode(vtkIndent indent);
00082 unsigned int GetStartTuple(int* extent, int* increments,
00083 int i, int j, int k);
00084
00085
00086 vtkDataArray* CreateArrayForPoints(vtkDataArray* inArray);
00087 vtkDataArray* CreateArrayForCells(vtkDataArray* inArray);
00088
00089
00090 int WriteExtent[6];
00091
00092
00093 int NumberOfPieces;
00094
00095
00096 vtkExtentTranslator* ExtentTranslator;
00097
00098
00099 unsigned long** PointDataOffsets;
00100 unsigned long** CellDataOffsets;
00101
00102 private:
00103 vtkXMLStructuredDataWriter(const vtkXMLStructuredDataWriter&);
00104 void operator=(const vtkXMLStructuredDataWriter&);
00105 };
00106
00107 #endif