1 #ifndef WRITEUSER
2 #define WRITEUSER
3 
4 /**************************************************************************/
5 /* File:    writeuser.hh                                                  */
6 /* Authors: many                                                          */
7 /* Date:    10. Dec. 97                                                   */
8 /**************************************************************************/
9 
10 namespace netgen {
11 
12 DLL_HEADER extern
13 void WriteFile (int typ,
14                 const Mesh & mesh,
15                 const NetgenGeometry & geom,
16                 const char * filename,
17                 const char * geomfile = NULL,
18                 double h = 0);
19 
20 
21 
22 DLL_HEADER extern
23 void ReadFile (Mesh & mesh,
24                const string & filename);
25 
26 
27 
28 
29 
30 
31 extern
32 void WriteNeutralFormat (const Mesh & mesh,
33                          const NetgenGeometry & geom,
34                          const string & filename);
35 
36 extern
37 void WriteSurfaceFormat (const Mesh & mesh,
38                          const string & filename);
39 
40 extern
41 void WriteSTLFormat (const Mesh & mesh,
42                      const string & filename);
43 
44 
45 // Philippose - 16 August 2010
46 // Added the STL Extended format in which
47 // each face of the geometry is treated as
48 // a separate "solid" entity in the STL file
49 extern
50 void WriteSTLExtFormat (const Mesh & mesh,
51                         const string & filename);
52 
53 
54 extern
55 void WriteVRMLFormat (const Mesh & mesh,
56                       bool faces,
57                       const string & filename);
58 
59 extern
60 void WriteFEPPFormat (const Mesh & mesh,
61                       const NetgenGeometry & geom,
62                       const string & filename);
63 
64 extern
65 void WriteGmshFormat (const Mesh & mesh,
66                       const NetgenGeometry & geom,
67                       const string & filename);
68 
69 
70 // Philippose - 29/01/2009
71 // Added GMSH v2.xx Mesh Export support
72 void WriteGmsh2Format (const Mesh & mesh,
73                        const NetgenGeometry & geom,
74                        const string & filename);
75 
76 
77 // Philippose - 25/10/2009
78 // Added OpenFOAM 1.5+ Mesh Export support
79 extern
80 void WriteOpenFOAM15xFormat (const Mesh & mesh,
81                              const string & casename,
82                              const bool compressed);
83 
84 
85 extern
86 void WriteUserChemnitz (const Mesh & mesh,
87                         const string & filename);
88 
89 extern
90 void WriteJCMFormat (const Mesh & mesh,
91                      const NetgenGeometry & geom,
92                      const string & filename);
93 
94 
95 extern
96 void WriteDiffPackFormat (const Mesh & mesh,
97                           const NetgenGeometry & geom,
98                           const string & filename);
99 
100 extern
101 void WriteTochnogFormat (const Mesh & mesh,
102                          const string & filename);
103 
104 extern
105 void WriteTecPlotFormat (const Mesh & mesh,
106                          const NetgenGeometry & geom,
107                          const string & filename);
108 
109 extern
110 void WriteAbaqusFormat (const Mesh & mesh,
111                         const string & filename);
112 
113 extern
114 void WriteFluentFormat (const Mesh & mesh,
115                         const string & filename);
116 
117 extern
118 void WritePermasFormat (const Mesh & mesh,
119                         const string & filename);
120 
121 extern
122 void WriteFEAPFormat (const Mesh & mesh,
123                       const string & filename);
124 
125 extern
126 void WriteElmerFormat (const Mesh & mesh,
127                        const string & filename);
128 
129 
130 extern
131 void WriteEdgeElementFormat (const Mesh & mesh,
132                              const NetgenGeometry & geom,
133                              const string & filename);
134 
135 
136 
137 #ifdef OLIVER
138 extern
139 void WriteTETFormat (const Mesh & mesh,
140                      const string & filename);
141 
142 #endif
143 
144 extern void ReadTETFormat (Mesh & mesh,
145                            const string & filename);
146 
147 
148 extern void ReadFNFFormat (Mesh & mesh,
149                            const string & filename);
150 
151 
152 
153 extern void DLL_HEADER ReadCGNSMesh (Mesh & mesh,
154                            const string & filename);
155 
156 extern void DLL_HEADER WriteCGNSMesh (const Mesh & mesh,
157                            const string & filename);
158 
159 // read/write mesh and solutions from CGNS file
160 extern tuple<shared_ptr<Mesh>, vector<string>, vector<Array<double>>, vector<int>>
161 DLL_HEADER ReadCGNSFile(string filename, int base);
162 
163 extern void DLL_HEADER WriteCGNSFile(shared_ptr<Mesh> mesh,string filename, vector<string> fields,
164                                 vector<Array<double>> values, vector<int> locations);
165 
166 
167 void WriteDolfinFormat (const Mesh & mesh,
168                         const string & filename);
169 
170 
171 extern void DLL_HEADER RegisterUserFormats (NgArray<const char*> & names,
172                                  NgArray<const char*> & extensions);
173 
174 
175 extern bool DLL_HEADER WriteUserFormat (const string & format,
176                                         const Mesh & mesh,
177                                         // const NetgenGeometry & geom,
178                                         const string & filename);
179 
180 }
181 
182 #endif
183 
184