VTK
vtkFLUENTReader.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkFLUENTReader.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
38#ifndef vtkFLUENTReader_h
39#define vtkFLUENTReader_h
40
41#include "vtkIOGeometryModule.h" // For export macro
43
45class vtkPoints;
46class vtkTriangle;
47class vtkTetra;
48class vtkQuad;
49class vtkHexahedron;
50class vtkPyramid;
51class vtkWedge;
53
54class VTKIOGEOMETRY_EXPORT vtkFLUENTReader : public vtkMultiBlockDataSetAlgorithm
55{
56public:
59 void PrintSelf(ostream& os, vtkIndent indent);
60
62
65 vtkSetStringMacro(FileName);
68
70
74 vtkGetMacro(NumberOfCells,int);
76
81
86 const char* GetCellArrayName(int index);
87
89
93 int GetCellArrayStatus(const char* name);
94 void SetCellArrayStatus(const char* name, int status);
96
98
104
106
125 //
126 // Structures
127 //
128 struct Cell;
129 struct Face;
130 struct ScalarDataChunk;
131 struct VectorDataChunk;
132 struct stdString;
133 struct intVector;
134 struct doubleVector;
135 struct stringVector;
136 struct cellVector;
137 struct faceVector;
138 struct stdMap;
139 struct scalarDataVector;
140 struct vectorDataVector;
141 struct intVectorVector;
143
144protected:
151
153
157 vtkSetMacro(SwapBytes,int);
158 int GetSwapBytes() {return this->SwapBytes;}
159 vtkBooleanMacro(SwapBytes,int);
161
163 char * FileName;
166 virtual bool OpenCaseFile(const char *filename);
167 virtual bool OpenDataFile(const char *filename);
168 virtual int GetCaseChunk ();
169 virtual void GetNumberOfCellZones();
170 virtual int GetCaseIndex();
171 virtual void LoadVariableNames();
172 virtual int GetDataIndex();
173 virtual int GetDataChunk();
175
176 virtual void ParseCaseFile();
177 virtual int GetDimension();
178 virtual void GetLittleEndianFlag();
179 virtual void GetNodesAscii();
182 virtual void GetCellsAscii();
183 virtual void GetCellsBinary();
184 virtual void GetFacesAscii();
185 virtual void GetFacesBinary();
188 virtual void GetCellTreeAscii();
189 virtual void GetCellTreeBinary();
190 virtual void GetFaceTreeAscii();
191 virtual void GetFaceTreeBinary();
196 virtual void GetPartitionInfo() {}
197 virtual void CleanCells();
198 virtual void PopulateCellNodes();
199 virtual int GetCaseBufferInt(int ptr);
200 virtual float GetCaseBufferFloat(int ptr);
201 virtual double GetCaseBufferDouble(int ptr);
202 virtual void PopulateTriangleCell(int i);
203 virtual void PopulateTetraCell(int i);
204 virtual void PopulateQuadCell(int i);
205 virtual void PopulateHexahedronCell(int i);
206 virtual void PopulatePyramidCell(int i);
207 virtual void PopulateWedgeCell(int i);
208 virtual void PopulatePolyhedronCell(int i);
209 virtual void ParseDataFile();
210 virtual int GetDataBufferInt(int ptr);
211 virtual float GetDataBufferFloat(int ptr);
212 virtual double GetDataBufferDouble(int ptr);
213 virtual void GetData(int dataType);
214 virtual bool ParallelCheckCell(int vtkNotUsed(i)) { return true; }
215
216 //
217 // Variables
218 //
219 ifstream *FluentCaseFile;
220 ifstream *FluentDataFile;
221 stdString *CaseBuffer;
222 stdString *DataBuffer;
223
232
233 cellVector *Cells;
234 faceVector *Faces;
236 intVector *CellZones;
237 scalarDataVector *ScalarDataChunks;
238 vectorDataVector *VectorDataChunks;
239
240 intVectorVector *SubSectionZones;
241 intVector *SubSectionIds;
242 intVector *SubSectionSize;
243
244 stringVector *ScalarVariableNames;
246 stringVector *VectorVariableNames;
248
254
255private:
256 vtkFLUENTReader(const vtkFLUENTReader&) VTK_DELETE_FUNCTION;
257 void operator=(const vtkFLUENTReader&) VTK_DELETE_FUNCTION;
258};
259#endif
a 3D cell defined by a set of convex points
Store on/off settings for data arrays for a vtkSource.
reads a dataset in Fluent file format
virtual void GetPeriodicShadowFacesBinary()
intVector * SubSectionIds
virtual void GetNumberOfCellZones()
vtkConvexPointSet * ConvexPointSet
vtkHexahedron * Hexahedron
virtual void GetPartitionInfo()
faceVector * Faces
virtual void ParseDataFile()
virtual void PopulateWedgeCell(int i)
stdMap * VariableNames
virtual void GetData(int dataType)
virtual void GetSpeciesVariableNames()
virtual void GetFaceTreeAscii()
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void GetNonconformalGridInterfaceFaceInformationBinary()
vtkPoints * Points
virtual void GetInterfaceFaceParentsAscii()
virtual void GetNodesDoublePrecision()
virtual void CleanCells()
stdString * CaseBuffer
virtual float GetDataBufferFloat(int ptr)
virtual bool OpenDataFile(const char *filename)
virtual void GetCellsBinary()
virtual void GetPeriodicShadowFacesAscii()
stdString * DataBuffer
virtual double GetDataBufferDouble(int ptr)
scalarDataVector * ScalarDataChunks
ifstream * FluentCaseFile
virtual void PopulateCellNodes()
virtual void GetCellTreeBinary()
const char * GetCellArrayName(int index)
Get the name of the cell array with the given index in the input.
void SetDataByteOrder(int)
void SetDataByteOrderToLittleEndian()
virtual int GetDataBufferInt(int ptr)
virtual void PopulateTriangleCell(int i)
stringVector * VectorVariableNames
intVectorVector * SubSectionZones
virtual bool ParallelCheckCell(int vtkNotUsed(i))
virtual void PopulatePyramidCell(int i)
virtual void PopulatePolyhedronCell(int i)
virtual int GetCaseBufferInt(int ptr)
virtual void GetInterfaceFaceParentsBinary()
void SetCellArrayStatus(const char *name, int status)
virtual void GetFaceTreeBinary()
vtkPyramid * Pyramid
virtual void GetCellsAscii()
virtual void PopulateHexahedronCell(int i)
int GetCellArrayStatus(const char *name)
Get/Set whether the cell array with the given name is to be read.
intVector * VectorSubSectionIds
void EnableAllCellArrays()
int GetNumberOfCellArrays(void)
Get the number of cell arrays available in the input.
virtual double GetCaseBufferDouble(int ptr)
virtual float GetCaseBufferFloat(int ptr)
virtual void GetFacesBinary()
intVector * CellZones
virtual void GetNodesAscii()
virtual int GetCaseIndex()
virtual int GetCaseChunk()
virtual void GetNonconformalGridInterfaceFaceInformationAscii()
int GetDataByteOrder()
void SetDataByteOrderToBigEndian()
These methods should be used instead of the SwapBytes methods.
intVector * ScalarSubSectionIds
const char * GetDataByteOrderAsString()
intVector * SubSectionSize
vtkDataArraySelection * CellDataArraySelection
virtual void PopulateQuadCell(int i)
vectorDataVector * VectorDataChunks
virtual void GetLittleEndianFlag()
virtual int GetDataChunk()
virtual void GetNodesSinglePrecision()
vtkTriangle * Triangle
virtual void ParseCaseFile()
stringVector * ScalarVariableNames
virtual void GetCellTreeAscii()
virtual bool OpenCaseFile(const char *filename)
ifstream * FluentDataFile
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual int GetDimension()
virtual void LoadVariableNames()
virtual void GetFacesAscii()
cellVector * Cells
static vtkFLUENTReader * New()
virtual void PopulateTetraCell(int i)
virtual int GetDataIndex()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
void DisableAllCellArrays()
Turn on/off all cell arrays.
a cell that represents a linear 3D hexahedron
Definition: vtkHexahedron.h:48
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
represent and manipulate 3D points
Definition: vtkPoints.h:40
a 3D cell that represents a linear pyramid
Definition: vtkPyramid.h:50
a cell that represents a 2D quadrilateral
Definition: vtkQuad.h:42
a 3D cell that represents a tetrahedron
Definition: vtkTetra.h:48
a cell that represents a triangle
Definition: vtkTriangle.h:42
a 3D cell that represents a linear wedge
Definition: vtkWedge.h:50
@ name
Definition: vtkX3D.h:219
@ index
Definition: vtkX3D.h:246
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.