Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
IO/vtkDataWriter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00046 #ifndef __vtkDataWriter_h
00047 #define __vtkDataWriter_h
00048
00049 #include "vtkWriter.h"
00050
00051 class vtkDataSet;
00052 class vtkPoints;
00053 class vtkCellArray;
00054 class vtkDataArray;
00055 class vtkFieldData;
00056
00057 class VTK_IO_EXPORT vtkDataWriter : public vtkWriter
00058 {
00059 public:
00060 vtkTypeRevisionMacro(vtkDataWriter,vtkWriter);
00061 void PrintSelf(ostream& os, vtkIndent indent);
00062
00065 static vtkDataWriter *New();
00066
00068
00069 vtkSetStringMacro(FileName);
00070 vtkGetStringMacro(FileName);
00072
00074
00075 vtkSetMacro(WriteToOutputString,int);
00076 vtkGetMacro(WriteToOutputString,int);
00077 vtkBooleanMacro(WriteToOutputString,int);
00079
00081
00084 vtkGetMacro(OutputStringLength, int);
00085 vtkGetStringMacro(OutputString);
00086 unsigned char *GetBinaryOutputString() {
00087 return (unsigned char *)this->OutputString;};
00089
00093 char *RegisterAndGetOutputString();
00094
00096
00097 vtkSetStringMacro(Header);
00098 vtkGetStringMacro(Header);
00100
00102
00103 vtkSetClampMacro(FileType,int,VTK_ASCII,VTK_BINARY);
00104 vtkGetMacro(FileType,int);
00105 void SetFileTypeToASCII() {this->SetFileType(VTK_ASCII);};
00106 void SetFileTypeToBinary() {this->SetFileType(VTK_BINARY);};
00108
00110
00112 vtkSetStringMacro(ScalarsName);
00113 vtkGetStringMacro(ScalarsName);
00115
00117
00119 vtkSetStringMacro(VectorsName);
00120 vtkGetStringMacro(VectorsName);
00122
00124
00126 vtkSetStringMacro(TensorsName);
00127 vtkGetStringMacro(TensorsName);
00129
00131
00133 vtkSetStringMacro(NormalsName);
00134 vtkGetStringMacro(NormalsName);
00136
00138
00140 vtkSetStringMacro(TCoordsName);
00141 vtkGetStringMacro(TCoordsName);
00143
00145
00147 vtkSetStringMacro(LookupTableName);
00148 vtkGetStringMacro(LookupTableName);
00150
00152
00154 vtkSetStringMacro(FieldDataName);
00155 vtkGetStringMacro(FieldDataName);
00157
00159 virtual ostream *OpenVTKFile();
00160
00162 int WriteHeader(ostream *fp);
00163
00165 int WritePoints(ostream *fp, vtkPoints *p);
00166
00168 int WriteCoordinates(ostream *fp, vtkDataArray *coords, int axes);
00169
00171 int WriteCells(ostream *fp, vtkCellArray *cells, const char *label);
00172
00175 int WriteCellData(ostream *fp, vtkDataSet *ds);
00176
00179 int WritePointData(ostream *fp, vtkDataSet *ds);
00180
00182 int WriteFieldData(ostream *fp, vtkFieldData *f);
00183
00187 int WriteDataSetData(ostream *fp, vtkDataSet *ds);
00188
00190 void CloseVTKFile(ostream *fp);
00191
00192
00193 protected:
00194 vtkDataWriter();
00195 ~vtkDataWriter();
00196
00197 int WriteToOutputString;
00198 char *OutputString;
00199 int OutputStringLength;
00200 int OutputStringAllocatedLength;
00201
00202 void WriteData();
00203
00204 char *FileName;
00205 char *Header;
00206 int FileType;
00207
00208 char *ScalarsName;
00209 char *VectorsName;
00210 char *TensorsName;
00211 char *TCoordsName;
00212 char *NormalsName;
00213 char *LookupTableName;
00214 char *FieldDataName;
00215
00216 int WriteArray(ostream *fp, int dataType, vtkDataArray *data, const char *format,
00217 int num, int numComp);
00218 int WriteScalarData(ostream *fp, vtkDataArray *s, int num);
00219 int WriteVectorData(ostream *fp, vtkDataArray *v, int num);
00220 int WriteNormalData(ostream *fp, vtkDataArray *n, int num);
00221 int WriteTCoordData(ostream *fp, vtkDataArray *tc, int num);
00222 int WriteTensorData(ostream *fp, vtkDataArray *t, int num);
00223
00224 private:
00225 vtkDataWriter(const vtkDataWriter&);
00226 void operator=(const vtkDataWriter&);
00227 };
00228
00229 #endif
00230
00231