File: FichierU.h

package info (click to toggle)
paraview 4.0.1-1~bpo70%2B1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy-backports
  • size: 526,572 kB
  • sloc: cpp: 2,284,430; ansic: 816,374; python: 239,936; xml: 70,162; tcl: 48,295; fortran: 39,116; yacc: 5,466; java: 3,518; perl: 3,107; lex: 1,620; sh: 1,555; makefile: 932; asm: 471; pascal: 228
file content (70 lines) | stat: -rw-r--r-- 2,260 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifndef FICHIER_U_H
#define FICHIER_U_H
/*-----------------------------------*
 *                LOVE               *
 *-----------------------------------*/
/*!
\brief Contains definition of class FichierU (component .Kernel)
\author Thierry Carrard
\date 15 Fevrier 2005

Modifications history :
*/

#ifndef SWIG
const static char * FICHIER_U_H_SCCS_ID = "%Z% DSSI/SNEC/LDDC %M%   %I%     %G%";
#endif /*SWIG*/

#include <string>
#include <vector>
#include <fstream>

/*!
\en
FichierU is used to read files named U_XXXXX or U_XXXXX_FEN_XXXXX that are addition to Avs UCD files to store informations like material names, time step values etc.
\_en
\fr
la classes FichierU permet de lire les fichiers complmentaires U_XXXXX ou U_XXXXX_FEN_XXXXX, adjoints aux fichiers UCD en sortie des codes et dans lesquels sont stoqus
les noms des matriaux, les valeurs de temps. Ces fichiers sont gnrs par l'api GPU et peuvent etre binaire ou ASCII.
\_fr
*/
class FichierU
{
   public:

     /*! \fr
      \param fileName nom du fichier complmentaire
      \param offset emplacement du dbut du fichier, util dans le cas de collections gme.
      \param taille nombre maximum d'octets que l'on peut lire (evite de lire la suite d'une collection gme si le fichier U est erron)
      \_fr */
      FichierU( const std::string& fileName, std::ifstream* istr=0, long offset = 0, long size = 0 );

      inline int getNbMat() const { return _nbMat; }
      inline const std::string& getMatName(int i) const { return _matNames[i]; }
      inline float getTime() const { return _time; }
      inline int getNumCycle() const { return  _numCycle; }
      inline int getDim() const { return _dim; }

//! Destructor
      ~FichierU ();

   protected:
      std::string readBinaryString(const char* data, int dataSize, int &ptr);
      int readBinaryInt(const char* data, int dataSize, int &ptr);
      float readBinaryFloat(const char* data, int dataSize, int &ptr);

   private:
      std::vector<std::string> _matNames;
      float _time;
      int _numCycle;
      int _dim;
      int _nbMat;
      int _nbPointData;
      int _nbCellData;
      bool _endian;

      FichierU (const FichierU &);
      FichierU & operator= (const FichierU &);
} ;

#endif /* FICHIER_U_H */