1 /***********************************************************************
2 *
3 *               *****   ***    ***
4 *                  *   *   *  *   *
5 *                 *     ***    ***
6 *                *     *   *  *   *
7 *               *****   ***    ***
8 *
9 * A FREE Finite Elements Analysis Program in ANSI C for the WINDOWS and
10 * the UNIX OS.
11 *
12 * Composed and edited and copyright by
13 * Professor Dr.-Ing. Frank Rieg, University of Bayreuth, Germany
14 *
15 * eMail:
16 * frank.rieg@uni-bayreuth.de
17 * dr.frank.rieg@t-online.de
18 *
19 * V15.0  November 18, 2015
20 *
21 * This program is free software; you can redistribute it and/or modify
22 * it under the terms of the GNU General Public License as published by
23 * the Free Software Foundation; either version 2, or (at your option)
24 * any later version.
25 *
26 * This program is distributed in the hope that it will be useful,
27 * but WITHOUT ANY WARRANTY; without even the implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
29 * GNU General Public License for more details.
30 *
31 * You should have received a copy of the GNU General Public License
32 * along with this program; see the file COPYING.  If not, write to
33 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
34 ***********************************************************************/
35 /***********************************************************************
36 *  z88x.h fuer UNIX und Windows
37 *  29.7.2011 Rieg
38 ***********************************************************************/
39 
40 /***********************************************************************
41 * Datentypen Windows und UNIX
42 ***********************************************************************/
43 #define FR_INT4AY long *               /* Pointer auf long        */
44 #define FR_INT4 long                   /* long                    */
45 #define FR_CALLOC calloc               /* calloc */
46 #define FR_CHARAY char *               /* Pointer auf char        */
47 #define FR_SIZERW size_t               /* Size fuer fread, fwrite */
48 
49 #ifdef FR_XDOUB
50 #define FR_SIN sin                     /* sin                     */
51 #define FR_COS cos                     /* cos                     */
52 #define FR_DOUBLEAY double *           /* Pointer auf double      */
53 #define FR_DOUBLE double               /* double                  */
54 #endif
55 
56 #include <z88math.h>
57 
58 /***********************************************************************
59 * Icon
60 ***********************************************************************/
61 #define ICO_Z88X                       10
62 
63 /***********************************************************************
64 * Cursor
65 ***********************************************************************/
66 #define CUR_Z88X                       20
67 
68 /***********************************************************************
69 * Toolbar
70 ***********************************************************************/
71 #define BMP_Z88X                       30
72 
73 /***********************************************************************
74 * Menue-IDs
75 ***********************************************************************/
76 #define IDM_WER                        100
77 #define IDM_TEXTSIZE                   105
78 #define IDM_XIT                        110
79 #define IDM_I1TX                       120
80 #define IDM_IATX                       130
81 #define IDM_NITX                       140
82 #define IDM_I1FX                       150
83 #define IDM_IAFX                       160
84 #define IDM_NIFX                       170
85 #define IDM_GO                         180
86 
87 /***********************************************************************
88 * Toolbar-IDs
89 ***********************************************************************/
90 #define ITC_GO                         200
91 #define ITC_HELP                       210
92 #define ITC_I1TX                       220
93 #define ITC_IATX                       230
94 #define ITC_NITX                       240
95 #define ITC_I1FX                       250
96 #define ITC_IAFX                       260
97 #define ITC_NIFX                       270
98 #define ITC_XIT                        280
99 
100 /**********************************************************
101 * Box-IDs
102 **********************************************************/
103 /*---------------------------------------------------------
104 * Textsize
105 *--------------------------------------------------------*/
106 #define IDDLG_V_TEXT                   600
107 
108 /***********************************************************************
109 * Alerts
110 ***********************************************************************/
111 #define AL_NOCFLAG 3000                /* kein Steuerflag Z88X */
112 #define AL_WROCFLAG 3010               /* Steuerflag Z88X falsch */
113 #define AL_NOLOG 3020                  /* kein Z88X.LOG */
114 #define AL_NODYN 3030                  /* kein Z88.DYN */
115 #define AL_WRONGDYN 3040               /* Fehler in Z88.DYN */
116 #define AL_NOMEMY 3050                 /* nicht genug Memory */
117 #define AL_NOI1 3060                   /* Fehler Oeffnen Z88I1.TXT */
118 #define AL_NOI2 3070                   /* Fehler Oeffnen Z88I2.TXT */
119 #define AL_NOI5 3085                   /* Fehler Oeffnen Z88I5.TXT */
120 #define AL_NONI 3090                   /* Fehler Oeffnen Z88NI.TXT */
121 #define AL_NOX 3100                    /* Fehler Oeffnen Z88X.DXF */
122 #define AL_WRONDIM 3120                /* Dimension falsch */
123 #define AL_EXMAXK 3130                 /* zuviele Knoten */
124 #define AL_EXMAXE 3140                 /* zuviele Elemente */
125 #define AL_EXMAXNFG 3150               /* zuviele Freiheitsgrade */
126 #define AL_EXMAXPR 3165                /* zuviele Flaechenlasten */
127 #define AL_WROKFLAG 3170               /* KFLAG falsch */
128 #define AL_WROETYPI1 3190              /* falscher Elementtyp Z88I1.TXT */
129 #define AL_WROETYPNI 3200              /* falscher Elementtyp Z88NI.TXT */
130 #define AL_EXKOI 3210                  /* MAXKOI exhausted */
131 #define AL_WROIXI1 3220                /* Z88X.DXF: Z88I1.TXT  */
132 #define AL_WROIXNI 3230                /* Z88X.DXF: Z88NI.TXT  */
133 #define AL_WROIXKNO 3240               /* Z88X.DXF: Z88I1.TXT  */
134 #define AL_WROIXELE 3250               /* Z88X.DXF: Z88I1.TXT  */
135 #define AL_WROIXKOI 3260               /* Z88X.DXF: Z88I1.TXT  */
136 #define AL_WROIXI21Z 3280              /* Z88X.DXF: Z88I2.TXT 1.Zeile  */
137 #define AL_WROIXI2R 3290               /* Z88X.DXF: Z88I2.TXT Randbed.  */
138 #define AL_TOOFEW 3310                 /* zuwenig Knoten beim Scannen */
139 #define AL_NOPOINTS 3320               /* "P " fehlt */
140 #define AL_NOLAYNET 3330               /* kein Z88NET */
141 #define AL_WROIXI51Z 3340              /* Z88X.DXF: Z88I5.TXT 1.Zeile  */
142 #define AL_WROIXI5R 3350               /* Z88X.DXF: Z88I5.TXT Randbed.  */
143 #define AL_NOACROBAT 3360              /* kein Acrobat-Reader  */
144 
145 /***********************************************************************
146 * Texte
147 ***********************************************************************/
148 #define TX_REAI1 4000                  /* Z88I1.TXT einlesen */
149 #define TX_REAI2 4010                  /* Z88I2.TXT einlesen */
150 #define TX_REAI5 4025                  /* Z88I5.TXT einlesen */
151 #define TX_REANI 4030                  /* Z88NI.TXT einlesen */
152 #define TX_REAIX 4040                  /* Z88X.DXF einlesen */
153 #define TX_WRII1 4050                  /* Z88I1.TXT beschreiben */
154 #define TX_WRII2 4060                  /* Z88I2.TXT beschreiben */
155 #define TX_WRII5 4075                  /* Z88I5.TXT beschreiben */
156 #define TX_WRINI 4080                  /* Z88NI.TXT beschreiben */
157 #define TX_WRIOX 4090                  /* Z88X.DXF beschreiben */
158 #define TX_KOOR 4110                   /* Koordinaten einlesen */
159 #define TX_POLAR 4120                  /* Polarkoordinaten umr. */
160 #define TX_KOIN 4130                   /* Koinzidenz einlesen */
161 #define TX_SINFO 4150                  /* Super-Infos einlesen */
162 #define TX_Z88TX 4160                  /* Start Z88TX */
163 #define TX_KOIERF 4170                 /* KOI erfordert n */
164 #define TX_Z88FX 4180                  /* Start Z88FX */
165 #define TX_FX 4190                     /* Oeffnen Z88X.DXF */
166 #define TX_CFLAG 4200                  /* Anzeigen CFLAG */
167 
168 #define TX_FAC 4210                    /* Faktoren in Z88TX rechnen*/
169 #define TX_SDXF 4220                   /* a. DXF Z88TX schreiben*/
170 #define TX_SELE 4230                   /* Elemente Z88TX schreiben*/
171 #define TX_EXITZ88TX 4240              /* Z88TX Ende*/
172 #define TX_EXITZ88FX 4250              /* Z88FX Ende*/
173 #define TX_DEC1ZI1 4270                /* Dekodieren 1.Z. Z88I1.TXT */
174 #define TX_DEC1ZNI 4280                /* Dekodieren 1.Z. Z88NI.TXT */
175 #define TX_DECKNO 4290                 /* Dekodieren Knoten */
176 #define TX_DECELE 4300                 /* Dekodieren Elemente */
177 #define TX_FOUKNO 4310                 /* x Knoten gefunden*/
178 #define TX_FOUFELE 4320                /* x Finite Elemente gefunden*/
179 #define TX_FOUSELE 4330                /* x Super- Elemente gefunden*/
180 #define TX_DEC1ZI2 4350                /* Dekodieren 1.Z. Z88I2.TXT */
181 #define TX_DECI2R 4360                 /* Dekodieren Randb. Z88I2.TXT */
182 #define TX_EXITZ88X 4380               /* Z88X Ende */
183 #define TX_ELE 4390                    /* Element */
184 #define TX_DEC1ZI5 4400                /* Dekodieren 1.Z. Z88I5.TXT */
185 #define TX_DECI5R 4410                 /* Dekodieren Randb. Z88I5.TXT */
186 
187 /***********************************************************************
188 * Log- Eintraege
189 ***********************************************************************/
190 #define LOG_BZ88X 5000                 /* Beginn Z88X */
191 #define LOG_CFLAGI1TX 5010             /* I1TX */
192 #define LOG_CFLAGIATX 5020             /* IATX */
193 #define LOG_CFLAGNITX 5030             /* NITX */
194 #define LOG_CFLAGI1FX 5040             /* I1FX */
195 #define LOG_CFLAGIAFX 5050             /* IAFX */
196 #define LOG_CFLAGNIFX 5060             /* NIFX */
197 #define LOG_OPENZ88DYN 5070            /* Oeffnen Z88.DYN */
198 #define LOG_NODYN 5080                 /* kann Z88.DYN nicht oeffnen */
199 #define LOG_WRONGDYN 5090              /* Z88.DYN nicht o.k. */
200 #define LOG_MAXKOI 5100                /* MAXKOI */
201 #define LOG_MAXK 5110                  /* MAXK */
202 #define LOG_MAXE 5120                  /* MAXE */
203 #define LOG_MAXNFG 5130                /* MAXNFG */
204 #define LOG_MAXPR 5145                 /* MAXPR */
205 #define LOG_OKDYN 5150                 /* Z88.DYN scheint o.k. zu sein */
206 #define LOG_ALLOCMEMY 5160             /* Memory anlegen */
207 #define LOG_ARRAYNOTOK 5170            /* Memory Kennung I nicht o.k. */
208 #define LOG_ARRAYOK 5180               /* Memory Kennung I angelegt */
209 #define LOG_SUMMEMY 5190               /* Memory angefordert */
210 #define LOG_EXITDYN88X 5200            /* Verlassen DYN88X */
211 #define LOG_BREA88 5210                /* Start REA88X */
212 #define LOG_FI1 5220                   /* Einlesen Z88I1.TXT */
213 #define LOG_FI2 5230                   /* Einlesen Z88I2.TXT */
214 #define LOG_FI5 5245                   /* Einlesen Z88I5.TXT */
215 #define LOG_FNI 5250                   /* Einlesen Z88NI.TXT */
216 #define LOG_NOI1 5260                  /* kein Z88I1.TXT */
217 #define LOG_NOI2 5270                  /* kein Z88I2.TXT */
218 #define LOG_NOI5 5285                  /* kein Z88I5.TXT */
219 #define LOG_NONI 5290                  /* kein Z88NI.TXT */
220 #define LOG_WRONGDIM 5300              /* ndim falsch */
221 #define LOG_EXMAXK 5310                /* MAXK ueberschritten */
222 #define LOG_EXMAXE 5320                /* MAXE ueberschritten */
223 #define LOG_EXMAXKOI 5330              /* MAXKOI ueberschritten */
224 #define LOG_EXMAXNFG 5340              /* MAXNFG ueberschritten */
225 #define LOG_EXMAXPR 5355               /* MAXPR ueberschritten */
226 #define LOG_WROKFLAG 5360              /* KFLAG falsch */
227 #define LOG_KOOR 5380                  /* Einlesen Koordinaten */
228 #define LOG_KOIN 5390                  /* Einlesen Koinzidenz */
229 #define LOG_WROETYP 5400               /* flascher Elementtyp */
230 #define LOG_SINFO 5420                 /* Einlesen Superele-Info */
231 #define LOG_EXITREA88 5430             /* Verlassen REA88X */
232 #define LOG_Z88TX 5440                 /* Start Z88TX */
233 #define LOG_FX 5450                    /* Oeffnen Z88X.DXF */
234 #define LOG_NOX 5460                   /* kein Z88X.DXF */
235 #define LOG_REAIX 5465                 /* Z88X.DXF einlesen */
236 #define LOG_WRIOX 5470                 /* Beschreiben Z88OX.DXF */
237 #define LOG_EXITZ88TX 5480             /* Verlassen Z88TX */
238 #define LOG_Z88FX 5490                 /* Start Z88FX */
239 #define LOG_BRDXF88 5500               /* Start RDXF88X */
240 #define LOG_WRII1 5510                 /* Beschreiben Z88I1.TXT */
241 #define LOG_WRII2 5520                 /* Beschreiben Z88I2.TXT */
242 #define LOG_WRII5 5535                 /* Beschreiben Z88I5.TXT */
243 #define LOG_WRINI 5540                 /* Beschreiben Z88NI.TXT */
244 #define LOG_EXITZ88FX 5550             /* Verlassen Z88FX */
245 #define LOG_FAC 5560                   /* Faktoren Z88TX rechnen */
246 #define LOG_SDXF 5570                  /* a. DXF Z88TX schreiben */
247 #define LOG_SELE 5580                  /* Elemente Z88TX schreiben */
248 #define LOG_EXITZ88X 5590              /* Ende Z88X */
249 #define LOG_DEC1ZI1 5600               /* Dekodieren 1.Z. Z88I1.TXT */
250 #define LOG_DEC1ZNI 5610               /* Dekodieren 1.Z. Z88NI.TXT */
251 #define LOG_DECKNO 5620                /* Dekodieren Knoten */
252 #define LOG_DECELE 5630                /* Dekodieren Elemente */
253 #define LOG_FOUKNO 5640                /* Knoten gefunden*/
254 #define LOG_FOUFELE 5650               /* x Finite Elemente gefunden*/
255 #define LOG_FOUSELE 5660               /* x Super- Elemente gefunden*/
256 #define LOG_WROIXI1 5680               /* Fehler Z88IX.DXF: 1.Z. Z88I1.TXT */
257 #define LOG_WROIXNI 5690               /* Fehler Z88IX.DXF: 1.Z. Z88NI.TXT */
258 #define LOG_WROIXKNO 5700              /* Fehler Z88IX.DXF: Knoten Z88I1.TXT */
259 #define LOG_WROIXELE 5710              /* Fehler Z88IX.DXF: Ele. Z88I1.TXT */
260 #define LOG_WROIXKOI 5720              /* Fehler Z88IX.DXF: Ele. Z88I1.TXT */
261 #define LOG_WROIXM 5730                /* Fehler Z88IX.DXF: Mat. Z88I1.TXT */
262 #define LOG_WROIXI21Z 5740             /* Fehler Z88IX.DXF: 1.Z. Z88I2.TXT */
263 #define LOG_WROIXI2R 5750              /* Fehler Z88IX.DXF: Randb. Z88I2.TXT */
264 #define LOG_DEC1ZI2 5770               /* Dekodieren 1.Z. Z88I2.TXT */
265 #define LOG_DECI2R 5780                /* Dekodieren Randb. Z88I2.TXT */
266 #define LOG_TOOFEW 5800                /* zuwenig Knoten beim Scannen */
267 #define LOG_NOPOINTS 5810              /* "P " fehlt */
268 #define LOG_NOLAYNET 5820              /* kein Z88NET */
269 #define LOG_WROIXI51Z 5830             /* Fehler Z88IX.DXF: 1.Z. Z88I5.TXT */
270 #define LOG_WROIXI5R 5840              /* Fehler Z88IX.DXF: Randb. Z88I5.TXT */
271 #define LOG_DEC1ZI5 5850               /* Dekodieren 1.Z. Z88I5.TXT */
272 #define LOG_DECI5R 5860                /* Dekodieren Randb. Z88I5.TXT */
273 #define LOG_NOACROBAT 5870             /* kein Acrobat-Reader  */
274 
275 
276 
277