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 =========================================================================*/ 00042 #ifndef vtkEnSightGoldReader_h 00043 #define vtkEnSightGoldReader_h 00044 00045 #include "vtkIOEnSightModule.h" // For export macro 00046 #include "vtkEnSightReader.h" 00047 00048 00049 class vtkMultiBlockDataSet; 00050 00051 class VTKIOENSIGHT_EXPORT vtkEnSightGoldReader : public vtkEnSightReader 00052 { 00053 public: 00054 static vtkEnSightGoldReader *New(); 00055 vtkTypeMacro(vtkEnSightGoldReader, vtkEnSightReader); 00056 virtual void PrintSelf(ostream& os, vtkIndent indent); 00057 00058 protected: 00059 vtkEnSightGoldReader(); 00060 ~vtkEnSightGoldReader(); 00061 00063 00065 virtual int ReadGeometryFile(const char* fileName, int timeStep, 00066 vtkMultiBlockDataSet *output); 00068 00070 00072 virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep, 00073 vtkMultiBlockDataSet *output); 00075 00077 00080 virtual int ReadScalarsPerNode(const char* fileName, const char* description, 00081 int timeStep, vtkMultiBlockDataSet *output, 00082 int measured = 0, 00083 int numberOfComponents = 1, 00084 int component = 0); 00086 00088 00090 virtual int ReadVectorsPerNode(const char* fileName, const char* description, 00091 int timeStep, vtkMultiBlockDataSet *output, 00092 int measured = 0); 00094 00096 00098 virtual int ReadTensorsPerNode(const char* fileName, const char* description, 00099 int timeStep, vtkMultiBlockDataSet *output); 00101 00103 00106 virtual int ReadScalarsPerElement(const char* fileName, const char* description, 00107 int timeStep, vtkMultiBlockDataSet *output, 00108 int numberOfComponents = 1, 00109 int component = 0); 00111 00113 00115 virtual int ReadVectorsPerElement(const char* fileName, const char* description, 00116 int timeStep, vtkMultiBlockDataSet *output); 00118 00120 00122 virtual int ReadTensorsPerElement(const char* fileName, const char* description, 00123 int timeStep, vtkMultiBlockDataSet *output); 00125 00127 00130 virtual int CreateUnstructuredGridOutput(int partId, 00131 char line[256], 00132 const char* name, 00133 vtkMultiBlockDataSet *output); 00135 00137 00139 virtual int CreateStructuredGridOutput(int partId, 00140 char line[256], 00141 const char* name, 00142 vtkMultiBlockDataSet *output); 00144 00146 00148 int CreateRectilinearGridOutput(int partId, char line[256], const char* name, 00149 vtkMultiBlockDataSet *output); 00151 00153 00155 int CreateImageDataOutput(int partId, char line[256], const char* name, 00156 vtkMultiBlockDataSet *output); 00158 00160 00161 vtkSetStringMacro(GeometryFileName); 00162 vtkGetStringMacro(GeometryFileName); 00164 00166 00167 vtkSetStringMacro(MeasuredFileName); 00168 vtkGetStringMacro(MeasuredFileName); 00170 00172 00173 vtkSetStringMacro(MatchFileName); 00174 vtkGetStringMacro(MatchFileName); 00176 00179 int CheckForUndefOrPartial(const char *line); 00180 00181 int NodeIdsListed; 00182 int ElementIdsListed; 00183 00184 //BTX 00185 class UndefPartialInternal; 00187 00188 UndefPartialInternal* UndefPartial; 00189 //ETX 00191 00192 //BTX 00193 class FileOffsetMapInternal; 00194 FileOffsetMapInternal *FileOffsets; 00195 //ETX 00196 00197 private: 00198 vtkEnSightGoldReader(const vtkEnSightGoldReader&); // Not implemented. 00199 void operator=(const vtkEnSightGoldReader&); // Not implemented. 00200 }; 00201 00202 #endif