1 /***********************************************************************
2 *
3 *               *****   ***    ***
4 *                  *   *   *  *   *
5 *                 *     ***    ***
6 *                *     *   *  *   *
7 *               *****   ***    ***
8 *
9 * A FREE Finite Elements Analysis Program in ANSI C for Windows & UNIX.
10 *
11 * Composed and edited and copyright by
12 * Professor Dr.-Ing. Frank Rieg, University of Bayreuth, Germany
13 *
14 * eMail:
15 * frank.rieg@uni-bayreuth.de
16 * dr.frank.rieg@t-online.de
17 *
18 * V15.0  November 18, 2015
19 *
20 * This program is free software; you can redistribute it and/or modify
21 * it under the terms of the GNU General Public License as published by
22 * the Free Software Foundation; either version 2, or (at your option)
23 * any later version.
24 *
25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28 * GNU General Public License for more details.
29 *
30 * You should have received a copy of the GNU General Public License
31 * along with this program; see the file COPYING.  If not, write to
32 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
33 ***********************************************************************/
34 /***********************************************************************
35 * Z88O.H fuer UNIX und Windows
36 * 3.8.2011 Rieg
37 ***********************************************************************/
38 
39 /***********************************************************************
40 * Datentypen Windows und UNIX
41 ***********************************************************************/
42 #define FR_INT4AY long *               /* Pointer auf long        */
43 #define FR_INT4 long                   /* 4 Bytes Integer         */
44 #define FR_SIZERW size_t               /* Size fuer fread, fwrite */
45 #define FR_CHARAY char *               /* Pointer auf char        */
46 
47 #ifdef FR_XDOUB
48 #define FR_SQRT sqrt                   /* sqrt                    */
49 #define FR_POW pow                     /* pow                     */
50 #define FR_FABS fabs                   /* fabs                    */
51 #define FR_SIN sin                     /* sin                     */
52 #define FR_COS cos                     /* cos                     */
53 #define FR_ATAN atan                   /* atan                    */
54 #define FR_DOUBLEAY double *           /* Pointer auf double      */
55 #define FR_DOUBLE double               /* double                  */
56 #endif
57 
58 #ifdef FR_UNIX
59 #define FR_CALLOC calloc               /* calloc                  */
60 #endif
61 
62 #ifdef FR_WIN
63 #define FR_CALLOC calloc               /* calloc                  */
64 #endif
65 
66 #include <z88math.h>
67 
68 /***********************************************************************
69 * Icon
70 ***********************************************************************/
71 #define ICO_Z88O             10
72 
73 /***********************************************************************
74 * Cursor
75 ***********************************************************************/
76 #define CUR_Z88O             11
77 
78 /***********************************************************************
79 * Toolbar
80 ***********************************************************************/
81 #define BMP_Z88O             12
82 
83 /***********************************************************************
84 * Steuerflags
85 ***********************************************************************/
86 #define ID_NOTLOADSTRUC      20 /* Ladezustand Struktur      */
87 #define ID_LOADSTRUC         21 /* Strukturfile geladen      */
88 #define ID_NOTLOADVERF       30 /* Ladezustand Z88O2.TXT     */
89 #define ID_LOADVERF          31 /* Z88O2.TXT geladen         */
90 #define ID_NOTLOADSPANN      40 /* Ladezustand Z88O8.TXT     */
91 #define ID_LOADSPANN         41 /* Z88O8.TXT geladen         */
92 #define ID_NOTLOADSPAO5      45 /* Ladezustand Z88O5.TXT     */
93 #define ID_LOADSPAO5         46 /* Z88O5.TXT geladen         */
94 #define ID_ZOOM              50 /* Maus: Zoomen              */
95 #define ID_PAN               51 /* Maus: Verschieben         */
96 #define ID_ROTATE            52 /* Maus: Rotieren            */
97 #define ID_FUNKEY            60 /* Rotieren via F-Tasten     */
98 #define ID_MOUSE             61 /* Rotieren via Maus         */
99 #define ID_DISABLELABELS     70 /* Labels aus                */
100 #define ID_ENABLELABELS      71 /* Labels an                 */
101 #define ID_NOTLOADRBD        80 /* Ladezustand Z88I2.TXT     */
102 #define ID_LOADRBD           81 /* Z88I2.TXT geladen         */
103 #define ID_NOTLOADI5         85 /* Ladezustand Z88I2.TXT     */
104 #define ID_LOADI5            86 /* Z88I5.TXT geladen         */
105 
106 /***********************************************************************
107 * Menue-IDs
108 ***********************************************************************/
109 #define IDM_RUN              100
110 #define IDM_FILE             102
111 #define IDM_XIT              104
112 #define IDM_WER              106
113 
114 #define IDM_ZOOM             110
115 #define IDM_PAN              112
116 #define IDM_ROTATE           114
117 
118 #define IDM_UNVERFORMT       120
119 #define IDM_VERFORMT         122
120 
121 #define IDM_LIGHT            130
122 #define IDM_HIDDEN           131
123 #define IDM_WIREFR           132
124 #define IDM_SHOWSPANN        133
125 #define IDM_SHOWGAUSS        134
126 #define IDM_SHOWGAUPU        135
127 #define IDM_SHOWVX           136
128 #define IDM_SHOWVY           137
129 #define IDM_SHOWVZ           138
130 
131 #define IDM_YESSCALE         150
132 #define IDM_NOSCALE          152
133 
134 #define IDM_NOLABELS         160
135 #define IDM_KNOTEN           162
136 #define IDM_ELEMENTE         164
137 #define IDM_LALLES           165
138 
139 #define IDM_PRIOR            170
140 #define IDM_NEXT             172
141 #define IDM_UP               174
142 #define IDM_DOWN             176
143 #define IDM_LEFT             178
144 #define IDM_RIGHT            180
145 #define IDM_HOME             182
146 #define IDM_END              184
147 #define IDM_F2               186
148 #define IDM_F3               188
149 #define IDM_F4               190
150 #define IDM_F5               192
151 #define IDM_F6               194
152 #define IDM_F7               196
153 #define IDM_F8               198
154 
155 #define IDM_VER              200
156 #define IDM_ROT              202
157 #define IDM_ZM               204
158 
159 #define IDM_YESRBD           210
160 #define IDM_NORBD            212
161 #define IDM_ZOPLUS           214
162 #define IDM_ZOMINUS          216
163 #define IDM_RBDUX            218
164 #define IDM_RBDUY            220
165 #define IDM_RBDUZ            222
166 #define IDM_RBDU4            224
167 #define IDM_RBDU5            226
168 #define IDM_RBDU6            228
169 #define IDM_RBDUA            230
170 #define IDM_RBDOL            232
171 #define IDM_RBDFX            234
172 #define IDM_RBDFY            236
173 #define IDM_RBDFZ            238
174 #define IDM_RBDALL           240
175 
176 #define IDM_GPZOPLUS         242
177 #define IDM_GPZOMINUS        244
178 
179 #define IDM_YESKOOR          250
180 #define IDM_NOKOOR           252
181 
182 #define IDM_YESNOST          254
183 #define IDM_NONOST           256
184 
185 #define IDM_WZOOM            260
186 
187 #define IDM_HELP             490
188 
189 /**********************************************************
190 * Toolbar-IDs
191 **********************************************************/
192 #define ITC_RUN              500
193 #define ITC_FILE             501
194 #define ITC_YESSCALE         502
195 
196 #define ITC_MAUS             510
197 
198 #define ITC_UNVERFORMT       520
199 #define ITC_VERFORMT         521
200 
201 #define ITC_LIGHT            530
202 #define ITC_HIDDEN           531
203 #define ITC_WIREFR           532
204 #define ITC_SHOWSPANN        533
205 #define ITC_SHOWGAUSS        534
206 #define ITC_SHOWGAUPU        535
207 #define ITC_SHOWVX           536
208 #define ITC_SHOWVY           537
209 #define ITC_SHOWVZ           538
210 
211 #define ITC_NOLABELS         540
212 #define ITC_KNOTEN           541
213 #define ITC_ELEMENTE         542
214 
215 #define ITC_RBD              545
216 
217 #define ITC_HELP             550
218 #define ITC_XIT              560
219 
220 /**********************************************************
221 * Box-IDs
222 **********************************************************/
223 /*---------------------------------------------------------
224 * Interface
225 *--------------------------------------------------------*/
226 #define IDDLG_V_TEXT1        600
227 
228 /*---------------------------------------------------------
229 * Struktur
230 *--------------------------------------------------------*/
231 #define IDDLG_V_TEXT2        610
232 
233 /*---------------------------------------------------------
234 * Globale Vergroesserungen
235 *--------------------------------------------------------*/
236 #define IDDLG_V_TEXT3        620
237 #define IDDLG_V_TEXT4        630
238 #define IDDLG_V_TEXT5        640
239 
240 /*---------------------------------------------------------
241 * Zentrierfaktoren
242 *--------------------------------------------------------*/
243 #define IDDLG_V_TEXT6        650
244 #define IDDLG_V_TEXT7        660
245 #define IDDLG_V_TEXT8        670
246 
247 /*---------------------------------------------------------
248 * Vergroesserungen Verschiebungen
249 *--------------------------------------------------------*/
250 #define IDDLG_V_TEXT9        680
251 #define IDDLG_V_TEXT10       690
252 #define IDDLG_V_TEXT11       700
253 
254 /*---------------------------------------------------------
255 * Rotationen
256 *--------------------------------------------------------*/
257 #define IDDLG_V_TEXT12       710
258 #define IDDLG_V_TEXT13       720
259 #define IDDLG_V_TEXT14       730
260 
261 /*---------------------------------------------------------
262 * FXCOR
263 *--------------------------------------------------------*/
264 #define IDDLG_V_TEXT15       740
265 
266 /*---------------------------------------------------------
267 * Knoten von - bis
268 *--------------------------------------------------------*/
269 #define IDDLG_V_TEXT16       750
270 #define IDDLG_V_TEXT17       760
271 
272 /*---------------------------------------------------------
273 * Elemente von - bis
274 *--------------------------------------------------------*/
275 #define IDDLG_V_TEXT18       770
276 #define IDDLG_V_TEXT19       780
277 
278 /***********************************************************************
279 * Alerts
280 ***********************************************************************/
281 #define AL_NOLOG 3000                  /* kein Z88O.LOG */
282 #define AL_NODYN 3010                  /* kein Z88.DYN */
283 #define AL_WRONGDYN 3020               /* Fehler in Z88.DYN */
284 #define AL_NOMEMY 3030                 /* nicht genug Memory */
285 #define AL_NONINT0 3040                /* NINT != 0 */
286 #define AL_NINT0 3045                  /* NINT = 0 */
287 #define AL_NOSTRFI 3050                /* kein Strukturfile */
288 #define AL_NOI2 3055                   /* kein Z88I2.TXT */
289 #define AL_NOO2 3060                   /* kein Z88O2.TXT */
290 #define AL_NOI5 3065                   /* kein Z88I5.TXT */
291 #define AL_NOO8 3070                   /* kein Z88O8.TXT */
292 #define AL_NOO5 3075                   /* kein Z88O5.TXT */
293 #define AL_EXMAXK 3080                 /* MAXK ueberschritten */
294 #define AL_EXMAXKOI 3085               /* MAXKOI ueberschritten */
295 #define AL_EXMAXE 3090                 /* MAXE ueberschritten */
296 #define AL_EXMAXPR 3092                /* MAXPR ueberschritten */
297 #define AL_EXMAXRBD 3095               /* MAXRBD ueberschritten */
298 #define AL_EXMAXGP 3097                /* MAXGP ueberschritten */
299 #define AL_WRONGDIM 3100               /* NDIM falsch */
300 #define AL_NOOGL 3110                  /* kein Z88O.OGL */
301 #define AL_WRONGOGL 3120               /* Z88O.OGL falsch */
302 #define AL_NOFCD 3130                  /* kein Z88.FCD */
303 #define AL_WRONGFCD 3140               /* Z88.FCD falsch */
304 #define AL_NO_GLX 3150                 /* kein GLX-Context */
305 #define AL_NOHELP 3160                 /* keine Hilfe */
306 #define AL_NO_CF_GRAFICS 3170          /* kann Pango-Font nicht oeffnen */
307 #define AL_NOMAN 3180                  /* keine Z88MAN.TXT */
308 #define AL_WRONGMAN 3190               /* Z88MAN.TXT falsch */
309 #define AL_NOACROBAT 3200              /* kein PDF-Viewer */
310 
311 /***********************************************************************
312 * LOGs
313 ***********************************************************************/
314 #define LOG_BZ88OWIN 4000              /* Start Z88O */
315 #define LOG_OPENDYN 4010               /* Oeffnen Z88.DYN */
316 #define LOG_NODYN 4020                 /* kein Z88.DYN */
317 #define LOG_WRONGDYN 4030              /* Z88.DYN falsch */
318 #define LOG_MAXKOI 4040                /* MAXKOI */
319 #define LOG_MAXK 4050                  /* MAXK */
320 #define LOG_MAXE 4060                  /* MAXE */
321 #define LOG_OKDYN 4090                 /* Z88.DYN gelesen..o.k. */
322 #define LOG_ALLOCMEMY 4100             /* Memory anlegen */
323 #define LOG_ARRAYNOTOK 4110            /* Array nicht o.k. */
324 #define LOG_ARRAYOK 4120               /* Array o.k. */
325 #define LOG_SUMMEMY 4130               /* Memory in Bytes */
326 #define LOG_EXITDYN88O 4140            /* Verlassen Speicherunit DYN88O */
327 #define LOG_REAI2 4145                 /* Einlesen Z88I2.TXT */
328 #define LOG_REAI2OK 4147               /* Z88I2.TXT eingelesen */
329 #define LOG_REAO2 4150                 /* Einlesen Z88O2.TXT */
330 #define LOG_REAO2OK 4160               /* Z88O2.TXT eingelesen */
331 #define LOG_REAO8 4170                 /* Einlesen Z88O8.TXT */
332 #define LOG_REAO5 4171                 /* Einlesen Z88O5.TXT */
333 #define LOG_BRI588 4172                /* Einlesen Z88I5.TXT */
334 #define LOG_EXITRI588 4175             /* Z88I5.TXT eingelesen */
335 #define LOG_NONINT0 4180               /* NINT != 0 */
336 #define LOG_NINT0 4185                 /* NINT = 0 */
337 #define LOG_REAO8OK 4190               /* Z88O8.TXT eingelesen */
338 #define LOG_REAO5OK 4195               /* Z88O5.TXT eingelesen */
339 #define LOG_REAI1 4200                 /* Einlesen Z88I1.TXT */
340 #define LOG_REAI1OK 4210               /* Z88I1.TXT eingelesen */
341 #define LOG_NOSTRFI 4220               /* kein Strukturfile */
342 #define LOG_NOI2 4225                  /* kein Z88I2.TXT */
343 #define LOG_NOO2 4230                  /* kein Z88O2.TXT */
344 #define LOG_NOI5 4235                  /* kein Z88I5.TXT */
345 #define LOG_NOO8 4240                  /* kein Z88O8.TXT */
346 #define LOG_NOO5 4245                  /* kein Z88O5.TXT */
347 #define LOG_EXMAXK 4250                /* MAXK ueberschritten */
348 #define LOG_EXMAXKOI 4255              /* MAXKOI ueberschritten */
349 #define LOG_EXMAXE 4260                /* MAXE ueberschritten */
350 #define LOG_EXMAXPR 4262               /* MAXPR ueberschritten */
351 #define LOG_EXMAXRBD 4265              /* MAXRBD ueberschritten */
352 #define LOG_EXMAXGP 4267               /* MAXGP ueberschritten */
353 #define LOG_WRONGDIM 4270              /* NDIM falsch */
354 #define LOG_NOOGL 4280                 /* kein Z88O.OGL */
355 #define LOG_WRONGOGL 4290              /* Z88O.OGL falsch */
356 #define LOG_NOFCD 4300                 /* kein Z88.FCD */
357 #define LOG_WRONGFCD 4310              /* Z88.FCD falsch */
358 #define LOG_NO_CF_ENTRIES 4320         /* kein Font CF_ENTRIES */
359 #define LOG_NO_CF_BUTTONS 4330         /* kein Font CF_BUTTONS */
360 #define LOG_NO_CF_GRAFICS 4340         /* kein Font CF_GRAFICS */
361 #define LOG_NO_CO_BACKGR 4350          /* keine Farbe CO_BACKGR */
362 #define LOG_NO_CO_FOREGR 4360          /* keine Farbe CO_FOREGR */
363 #define LOG_NO_CO_ENTRIES 4370         /* keine Farbe CO_ENTRIES */
364 #define LOG_NO_GLX 4380                /* kein  GLX-Context */
365 #define LOG_NOMAN 4390                 /* keine Z88MAN.TXT */
366 #define LOG_WRONGMAN 4400              /* Z88MAN.TXT falsch */
367 #define LOG_NOACROBAT 4410             /* kein PDF-Viewer */
368 
369 
370