VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkEnSightGoldReader.h 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 =========================================================================*/ 00039 #ifndef __vtkEnSightGoldReader_h 00040 #define __vtkEnSightGoldReader_h 00041 00042 #include "vtkIOEnSightModule.h" // For export macro 00043 #include "vtkEnSightReader.h" 00044 00045 00046 class vtkMultiBlockDataSet; 00047 00048 class VTKIOENSIGHT_EXPORT vtkEnSightGoldReader : public vtkEnSightReader 00049 { 00050 public: 00051 static vtkEnSightGoldReader *New(); 00052 vtkTypeMacro(vtkEnSightGoldReader, vtkEnSightReader); 00053 virtual void PrintSelf(ostream& os, vtkIndent indent); 00054 00055 protected: 00056 vtkEnSightGoldReader(); 00057 ~vtkEnSightGoldReader(); 00058 00060 00062 virtual int ReadGeometryFile(const char* fileName, int timeStep, 00063 vtkMultiBlockDataSet *output); 00065 00067 00069 virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep, 00070 vtkMultiBlockDataSet *output); 00072 00074 00077 virtual int ReadScalarsPerNode(const char* fileName, const char* description, 00078 int timeStep, vtkMultiBlockDataSet *output, 00079 int measured = 0, 00080 int numberOfComponents = 1, 00081 int component = 0); 00083 00085 00087 virtual int ReadVectorsPerNode(const char* fileName, const char* description, 00088 int timeStep, vtkMultiBlockDataSet *output, 00089 int measured = 0); 00091 00093 00095 virtual int ReadTensorsPerNode(const char* fileName, const char* description, 00096 int timeStep, vtkMultiBlockDataSet *output); 00098 00100 00103 virtual int ReadScalarsPerElement(const char* fileName, const char* description, 00104 int timeStep, vtkMultiBlockDataSet *output, 00105 int numberOfComponents = 1, 00106 int component = 0); 00108 00110 00112 virtual int ReadVectorsPerElement(const char* fileName, const char* description, 00113 int timeStep, vtkMultiBlockDataSet *output); 00115 00117 00119 virtual int ReadTensorsPerElement(const char* fileName, const char* description, 00120 int timeStep, vtkMultiBlockDataSet *output); 00122 00124 00127 virtual int CreateUnstructuredGridOutput(int partId, 00128 char line[256], 00129 const char* name, 00130 vtkMultiBlockDataSet *output); 00132 00134 00136 virtual int CreateStructuredGridOutput(int partId, 00137 char line[256], 00138 const char* name, 00139 vtkMultiBlockDataSet *output); 00141 00143 00145 int CreateRectilinearGridOutput(int partId, char line[256], const char* name, 00146 vtkMultiBlockDataSet *output); 00148 00150 00152 int CreateImageDataOutput(int partId, char line[256], const char* name, 00153 vtkMultiBlockDataSet *output); 00155 00157 00158 vtkSetStringMacro(GeometryFileName); 00159 vtkGetStringMacro(GeometryFileName); 00161 00163 00164 vtkSetStringMacro(MeasuredFileName); 00165 vtkGetStringMacro(MeasuredFileName); 00167 00169 00170 vtkSetStringMacro(MatchFileName); 00171 vtkGetStringMacro(MatchFileName); 00173 00176 int CheckForUndefOrPartial(const char *line); 00177 00178 int NodeIdsListed; 00179 int ElementIdsListed; 00180 00181 //BTX 00182 class UndefPartialInternal; 00184 00185 UndefPartialInternal* UndefPartial; 00186 //ETX 00188 00189 //BTX 00190 class FileOffsetMapInternal; 00191 FileOffsetMapInternal *FileOffsets; 00192 //ETX 00193 00194 private: 00195 vtkEnSightGoldReader(const vtkEnSightGoldReader&); // Not implemented. 00196 void operator=(const vtkEnSightGoldReader&); // Not implemented. 00197 }; 00198 00199 #endif