VTK
vtkMultiBlockPLOT3DReaderInternals.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMultiBlockPLOT3DReaderInternals.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 =========================================================================*/
15 #ifndef vtkMultiBlockPLOT3DReaderInternals_h
16 #define vtkMultiBlockPLOT3DReaderInternals_h
17 
18 #include "vtkByteSwap.h"
20 #include "vtkSmartPointer.h"
21 #include "vtkStructuredGrid.h"
22 
23 #include <vector>
24 
26 {
27  struct Dims
28  {
29 
30  Dims()
31  {
32  memset(this->Values, 0, 3*sizeof(int));
33  }
34 
35  int Values[3];
36  };
37 
38  std::vector<Dims> Dimensions;
39  std::vector<vtkSmartPointer<vtkStructuredGrid> > Blocks;
40 
42  {
44  int ByteOrder;
46  int MultiGrid;
48  int Precision; // in bytes
49  int IBlanking;
51  BinaryFile(1),
52  ByteOrder(vtkMultiBlockPLOT3DReader::FILE_BIG_ENDIAN),
53  HasByteCount(1),
54  MultiGrid(0),
56  Precision(4),
57  IBlanking(0)
58  {
59  }
60  };
61 
64 
66  NeedToCheckXYZFile(true)
67  {
68  }
69 
70  int ReadInts(FILE* fp, int n, int* val);
71  void CheckBinaryFile(FILE *fp, size_t fileSize);
72  int CheckByteOrder(FILE* fp);
73  int CheckByteCount(FILE* fp);
74  int CheckMultiGrid(FILE* fp);
75  int Check2DGeom(FILE* fp);
77  int CheckCFile(FILE* fp, size_t fileSize);
78  size_t CalculateFileSize(int mgrid,
79  int precision, // in bytes
80  int blanking,
81  int ndims,
82  int hasByteCount,
83  int nGrids,
84  int* gridDims);
85  size_t CalculateFileSizeForBlock(int precision, // in bytes
86  int blanking,
87  int ndims,
88  int hasByteCount,
89  int* gridDims);
90 };
91 #endif
92 // VTK-HeaderTest-Exclude: vtkMultiBlockPLOT3DReaderInternals.h
vtkMultiBlockPLOT3DReaderInternals::InternalSettings::HasByteCount
int HasByteCount
Definition: vtkMultiBlockPLOT3DReaderInternals.h:45
vtkMultiBlockPLOT3DReaderInternals::CheckMultiGrid
int CheckMultiGrid(FILE *fp)
vtkMultiBlockPLOT3DReaderInternals::Dims::Dims
Dims()
Definition: vtkMultiBlockPLOT3DReaderInternals.h:30
vtkMultiBlockPLOT3DReaderInternals::Check2DGeom
int Check2DGeom(FILE *fp)
vtkMultiBlockPLOT3DReaderInternals::Dimensions
std::vector< Dims > Dimensions
Definition: vtkMultiBlockPLOT3DReaderInternals.h:38
vtkgl::n
GLclampd n
Definition: vtkgl.h:14370
vtkMultiBlockPLOT3DReaderInternals::InternalSettings::Precision
int Precision
Definition: vtkMultiBlockPLOT3DReaderInternals.h:48
vtkMultiBlockPLOT3DReaderInternals::ReadInts
int ReadInts(FILE *fp, int n, int *val)
vtkMultiBlockPLOT3DReader
read PLOT3D data files
Definition: vtkMultiBlockPLOT3DReader.h:106
vtkStructuredGrid.h
vtkgl::precision
GLenum GLint GLint * precision
Definition: vtkgl.h:14180
vtkgl::val
GLuint GLfloat * val
Definition: vtkgl.h:13789
vtkMultiBlockPLOT3DReaderInternals::CheckByteOrder
int CheckByteOrder(FILE *fp)
vtkMultiBlockPLOT3DReaderInternals::InternalSettings::MultiGrid
int MultiGrid
Definition: vtkMultiBlockPLOT3DReaderInternals.h:46
vtkMultiBlockPLOT3DReaderInternals
Definition: vtkMultiBlockPLOT3DReaderInternals.h:26
vtkByteSwap.h
vtkMultiBlockPLOT3DReaderInternals::Blocks
std::vector< vtkSmartPointer< vtkStructuredGrid > > Blocks
Definition: vtkMultiBlockPLOT3DReaderInternals.h:39
vtkMultiBlockPLOT3DReaderInternals::InternalSettings::NumberOfDimensions
int NumberOfDimensions
Definition: vtkMultiBlockPLOT3DReaderInternals.h:47
vtkSmartPointer.h
vtkMultiBlockPLOT3DReaderInternals::InternalSettings::ByteOrder
int ByteOrder
Definition: vtkMultiBlockPLOT3DReaderInternals.h:44
vtkMultiBlockPLOT3DReader.h
vtkMultiBlockPLOT3DReaderInternals::InternalSettings::IBlanking
int IBlanking
Definition: vtkMultiBlockPLOT3DReaderInternals.h:49
vtkMultiBlockPLOT3DReaderInternals::Settings
InternalSettings Settings
Definition: vtkMultiBlockPLOT3DReaderInternals.h:62
vtkMultiBlockPLOT3DReaderInternals::CalculateFileSizeForBlock
size_t CalculateFileSizeForBlock(int precision, int blanking, int ndims, int hasByteCount, int *gridDims)
vtkMultiBlockPLOT3DReaderInternals::CalculateFileSize
size_t CalculateFileSize(int mgrid, int precision, int blanking, int ndims, int hasByteCount, int nGrids, int *gridDims)
vtkMultiBlockPLOT3DReaderInternals::InternalSettings
Definition: vtkMultiBlockPLOT3DReaderInternals.h:42
vtkMultiBlockPLOT3DReaderInternals::NeedToCheckXYZFile
bool NeedToCheckXYZFile
Definition: vtkMultiBlockPLOT3DReaderInternals.h:63
vtkMultiBlockPLOT3DReaderInternals::CheckByteCount
int CheckByteCount(FILE *fp)
vtkMultiBlockPLOT3DReaderInternals::InternalSettings::InternalSettings
InternalSettings()
Definition: vtkMultiBlockPLOT3DReaderInternals.h:50
vtkMultiBlockPLOT3DReaderInternals::CheckBlankingAndPrecision
int CheckBlankingAndPrecision(FILE *fp)
vtkMultiBlockPLOT3DReaderInternals::Dims
Definition: vtkMultiBlockPLOT3DReaderInternals.h:28
vtkMultiBlockPLOT3DReaderInternals::CheckCFile
int CheckCFile(FILE *fp, size_t fileSize)
vtkMultiBlockPLOT3DReaderInternals::CheckBinaryFile
void CheckBinaryFile(FILE *fp, size_t fileSize)
vtkMultiBlockPLOT3DReaderInternals::Dims::Values
int Values[3]
Definition: vtkMultiBlockPLOT3DReaderInternals.h:35
vtkMultiBlockPLOT3DReaderInternals::vtkMultiBlockPLOT3DReaderInternals
vtkMultiBlockPLOT3DReaderInternals()
Definition: vtkMultiBlockPLOT3DReaderInternals.h:65
vtkMultiBlockPLOT3DReaderInternals::InternalSettings::BinaryFile
int BinaryFile
Definition: vtkMultiBlockPLOT3DReaderInternals.h:43