COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
CoviseIO.h
Go to the documentation of this file.
1 /* This file is part of COVISE.
2 
3  You can use it under the terms of the GNU Lesser General Public License
4  version 2.1 or later, see lgpl-2.1.txt.
5 
6  * License: LGPL 2+ */
7 
8 #ifndef COVISEIO_H
9 #define COVISEIO_H
10 
11 #include <util/coviseCompat.h>
12 #include <appl/ApplInterface.h>
13 #include <file/covWriteFiles.h>
14 #include <file/covReadFiles.h>
15 #include <do/coDoData.h>
16 #include <string>
17 
18 namespace covise
19 {
20 
21 class coDoLines;
22 class coDoPixelImage;
23 class coDoPoints;
24 class coDoPolygons;
25 class coDoQuads;
26 class coDoRectilinearGrid;
27 class coDoSpheres;
28 class coDoStructuredGrid;
29 class coDoText;
30 class coDoTexture;
31 class coDoTriangleStrips;
32 class coDoTriangles;
33 class coDoUniformGrid;
34 class coDoUnstructuredGrid;
35 
37 {
38 private:
39  class doInfo
40  {
41  public:
43  {
44  obj = o;
45  fileOffset = offset;
46  }
48  int64_t fileOffset;
49  };
50  typedef std::vector<doInfo> ObjectList;
51  typedef std::list<std::string> ObjectNameList;
52 
53  // Local data
54  int n_coord, n_elem, n_conn;
55  int *el, *vl, *tl;
56  float *x_coord;
57  float *y_coord;
58  float *z_coord;
59  float *radius;
60 
62 
63  // Shared memory data
81 
82  int setsRead;
85  int skipSteps;
86 
87  void readattrib(int fd, coDistributedObject *tmp_Object);
88  void skipattrib(int fd);
89  coDistributedObject *readData(int fd, const char *Name);
90  void skipData(int fd);
91  void writeobj(int fd, const coDistributedObject *tmp_Object);
92  bool force;
95 
96 protected:
97  virtual int covOpenInFile(const char *grid_Path);
98  virtual int covCloseInFile(int fd);
99 
100 public:
101  coDistributedObject *ReadFile(const char *filename, const char *ObjectName, bool force = false, int firstStep = 0, int numSteps = 0, int skipSteps = 0);
102  int WriteFile(const char *filename, const coDistributedObject *Object);
104  {
105  force = false;
106  }
107  virtual ~CoviseIO()
108  {
109  }
110 };
111 }
112 #endif
Definition: coDoData.h:367
Definition: coDoData.h:84
GLintptr offset
Definition: khronos-glext.h:6611
coDoQuads * quads
Definition: CoviseIO.h:69
#define READEREXPORT
Definition: coExport.h:212
int firstStepToRead
Definition: CoviseIO.h:83
std::list< std::string > ObjectNameList
Definition: CoviseIO.h:51
Definition: coDoText.h:39
GLsizei const GLchar *const * string
Definition: khronos-glext.h:6750
coDoSpheres * sph
Definition: CoviseIO.h:80
int n_elem
Definition: CoviseIO.h:54
std::string grid_Path
Definition: CoviseIO.h:61
ObjectNameList objectNameList
Definition: CoviseIO.h:93
coDistributedObject * obj
Definition: CoviseIO.h:47
coDoLines * lin
Definition: CoviseIO.h:67
int numStepsToRead
Definition: CoviseIO.h:84
bool force
Definition: CoviseIO.h:92
int * vl
Definition: CoviseIO.h:55
Definition: coDoTriangleStrips.h:47
Definition: coDoPolygons.h:50
float * z_coord
Definition: CoviseIO.h:58
doInfo(coDistributedObject *o, int64_t offset)
Definition: CoviseIO.h:42
coDoFloat * us3d
Definition: CoviseIO.h:74
Definition: coDoData.h:261
coDoPolygons * pol
Definition: CoviseIO.h:65
CoviseIO()
Definition: CoviseIO.h:103
coDoRectilinearGrid * rgrid
Definition: CoviseIO.h:71
int64_t fileOffset
Definition: CoviseIO.h:48
Definition: coDoSpheres.h:46
coDoStructuredGrid * sgrid
Definition: CoviseIO.h:72
coDoTexture * texture
Definition: CoviseIO.h:77
Definition: coDoLines.h:47
std::vector< doInfo > ObjectList
Definition: CoviseIO.h:50
coDoRGBA * rgba
Definition: CoviseIO.h:79
Definition: CoviseIO.h:36
coDoPixelImage * pixelimage
Definition: CoviseIO.h:76
Definition: coDoPolygons.h:179
Definition: coDoPoints.h:47
float * y_coord
Definition: CoviseIO.h:57
coDoTriangleStrips * tri
Definition: CoviseIO.h:70
Definition: coDoUnstructuredGrid.h:60
float * x_coord
Definition: CoviseIO.h:56
int skipSteps
Definition: CoviseIO.h:85
float * radius
Definition: CoviseIO.h:59
Definition: coDoStructuredGrid.h:53
coDoVec3 * us3dv
Definition: CoviseIO.h:75
virtual ~CoviseIO()
Definition: CoviseIO.h:107
Definition: CoviseIO.h:39
int covOpenInFile(const char *filename)
Definition: covFiles.c:218
Definition: coDoRectilinearGrid.h:53
ObjectList objectList
Definition: CoviseIO.h:94
GLsizei GLsizei GLuint * obj
Definition: khronos-glext.h:6733
coDoPoints * pts
Definition: CoviseIO.h:66
int setsRead
Definition: CoviseIO.h:82
int covCloseInFile(int fd)
Definition: covFiles.c:265
coDoText * txt
Definition: CoviseIO.h:78
coDoUnstructuredGrid * mesh
Definition: CoviseIO.h:73
coDoUniformGrid * ugrid
Definition: CoviseIO.h:64
Definition: coDistributedObject.h:295
Definition: coDoTexture.h:34
coDoTriangles * triang
Definition: CoviseIO.h:68
Definition: coDoPixelImage.h:34
Definition: coDoUniformGrid.h:53
Definition: coDoPolygons.h:241