• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/IO/vtkDataWriter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkDataWriter.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00028 #ifndef __vtkDataWriter_h
00029 #define __vtkDataWriter_h
00030 
00031 #include "vtkWriter.h"
00032 
00033 class vtkCellArray;
00034 class vtkDataArray;
00035 class vtkDataSet;
00036 class vtkFieldData;
00037 class vtkGraph;
00038 class vtkPoints;
00039 class vtkTable;
00040 
00041 class VTK_IO_EXPORT vtkDataWriter : public vtkWriter
00042 {
00043 public:
00044   vtkTypeRevisionMacro(vtkDataWriter,vtkWriter);
00045   void PrintSelf(ostream& os, vtkIndent indent);
00046 
00049   static vtkDataWriter *New();
00050 
00052 
00053   vtkSetStringMacro(FileName);
00054   vtkGetStringMacro(FileName);
00056 
00058 
00059   vtkSetMacro(WriteToOutputString,int);
00060   vtkGetMacro(WriteToOutputString,int);
00061   vtkBooleanMacro(WriteToOutputString,int);
00063 
00065 
00068   vtkGetMacro(OutputStringLength, int);  
00069   vtkGetStringMacro(OutputString);
00070   unsigned char *GetBinaryOutputString()
00071     {
00072       return reinterpret_cast<unsigned char *>(this->OutputString);
00073     }
00075       
00079   char *RegisterAndGetOutputString();
00080   
00082 
00083   vtkSetStringMacro(Header);
00084   vtkGetStringMacro(Header);
00086 
00088 
00089   vtkSetClampMacro(FileType,int,VTK_ASCII,VTK_BINARY);
00090   vtkGetMacro(FileType,int);
00091   void SetFileTypeToASCII() {this->SetFileType(VTK_ASCII);};
00092   void SetFileTypeToBinary() {this->SetFileType(VTK_BINARY);};
00094 
00096 
00098   vtkSetStringMacro(ScalarsName);
00099   vtkGetStringMacro(ScalarsName);
00101 
00103 
00105   vtkSetStringMacro(VectorsName);
00106   vtkGetStringMacro(VectorsName);
00108 
00110 
00112   vtkSetStringMacro(TensorsName);
00113   vtkGetStringMacro(TensorsName);
00115 
00117 
00119   vtkSetStringMacro(NormalsName);
00120   vtkGetStringMacro(NormalsName);
00122 
00124 
00126   vtkSetStringMacro(TCoordsName);
00127   vtkGetStringMacro(TCoordsName);
00129 
00131 
00133   vtkSetStringMacro(GlobalIdsName);
00134   vtkGetStringMacro(GlobalIdsName);
00136 
00138 
00140   vtkSetStringMacro(PedigreeIdsName);
00141   vtkGetStringMacro(PedigreeIdsName);
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 
00183   int WriteEdgeData(ostream *fp, vtkGraph *g);
00184 
00187   int WriteVertexData(ostream *fp, vtkGraph *g);
00188 
00191   int WriteRowData(ostream *fp, vtkTable *g);
00192 
00194   int WriteFieldData(ostream *fp, vtkFieldData *f);
00195 
00199   int WriteDataSetData(ostream *fp, vtkDataSet *ds);
00200 
00202   void CloseVTKFile(ostream *fp);
00203 
00204 
00205 protected:
00206   vtkDataWriter();
00207   ~vtkDataWriter();
00208 
00209   int WriteToOutputString;
00210   char *OutputString;
00211   int OutputStringLength;
00212   
00213   void WriteData(); //dummy method to allow this class to be instantiated and delegated to
00214 
00215   char *FileName;
00216   char *Header;
00217   int FileType;
00218 
00219   char *ScalarsName;
00220   char *VectorsName;
00221   char *TensorsName;
00222   char *TCoordsName;
00223   char *NormalsName;
00224   char *LookupTableName;
00225   char *FieldDataName;
00226   char* GlobalIdsName;
00227   char* PedigreeIdsName;
00228 
00229   int WriteArray(ostream *fp, int dataType, vtkAbstractArray *data, const char *format, 
00230                  int num, int numComp);
00231   int WriteScalarData(ostream *fp, vtkDataArray *s, int num);
00232   int WriteVectorData(ostream *fp, vtkDataArray *v, int num);
00233   int WriteNormalData(ostream *fp, vtkDataArray *n, int num);
00234   int WriteTCoordData(ostream *fp, vtkDataArray *tc, int num);
00235   int WriteTensorData(ostream *fp, vtkDataArray *t, int num);
00236   int WriteGlobalIdData(ostream *fp, vtkDataArray *g, int num);
00237   int WritePedigreeIdData(ostream *fp, vtkAbstractArray *p, int num);
00238 
00239 private:
00240   vtkDataWriter(const vtkDataWriter&);  // Not implemented.
00241   void operator=(const vtkDataWriter&);  // Not implemented.
00242 };
00243 
00244 #endif

Generated by  doxygen 1.7.1