/*********************************************************************** * * ***** *** *** * * * * * * * * *** *** * * * * * * * ***** *** *** * * A FREE Finite Elements Analysis Program in ANSI C for the WINDOWS OS. * * Composed and edited and copyright by * Professor Dr.-Ing. Frank Rieg, University of Bayreuth, Germany * * eMail: * frank.rieg@uni-bayreuth.de * dr.frank.rieg@t-online.de * * V10.0 December 12, 2001 * * Z88 should compile and run under any Win32- Windows version. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING. If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ***********************************************************************/ /*********************************************************************** * z88x.h fuer UNIX und Windows * 9.9.2002 Rieg ***********************************************************************/ /*********************************************************************** * Datentypen Windows 95 ***********************************************************************/ #ifdef FR_WIN95 #define FR_SIN sin /* sin */ #define FR_COS cos /* cos */ #define FR_DOUBLEAY double * /* Pointer auf double */ #define FR_INT4AY long * /* Pointer auf long */ #define FR_CHARAY char * /* Pointer auf char */ #define FR_DOUBLE double /* double */ #define FR_INT4 long /* 4 Bytes Integer */ #define FR_SIZERW size_t /* Size fuer fread, fwrite */ #define FR_CALLOC calloc /* calloc */ #endif /*********************************************************************** * Datentypen UNIX - double precision oder quad precision ***********************************************************************/ #ifdef FR_XDOUB #define FR_SIN sin /* sin */ #define FR_COS cos /* cos */ #define FR_DOUBLEAY double * /* Pointer auf double */ #define FR_INT4AY long * /* Pointer auf long */ #define FR_DOUBLE double /* double */ #define FR_INT4 long /* long */ #endif #ifdef FR_XQUAD #define FR_SIN sinl /* sinl */ #define FR_COS cosl /* cosl */ #define FR_DOUBLEAY long double * /* Pointer auf long double */ #define FR_INT4AY long long * /* Pointer auf long long */ #define FR_DOUBLE long double /* long double */ #define FR_INT4 long long /* long long */ #endif #ifdef FR_UNIX #define FR_CALLOC calloc /* calloc */ #define FR_CHARAY char * /* Pointer auf char */ #define FR_SIZERW size_t /* Size fuer fread, fwrite */ #endif /*********************************************************************** * Icon ***********************************************************************/ #define ICO_Z88X 10 /*********************************************************************** * Cursor ***********************************************************************/ #define CUR_Z88X 20 /*********************************************************************** * Toolbar ***********************************************************************/ #define BMP_Z88X 30 /*********************************************************************** * Menue-IDs ***********************************************************************/ #define IDM_WER 100 #define IDM_TEXTSIZE 105 #define IDM_XIT 110 #define IDM_I1TX 120 #define IDM_IATX 130 #define IDM_NITX 140 #define IDM_I1FX 150 #define IDM_IAFX 160 #define IDM_NIFX 170 #define IDM_GO 180 /*********************************************************************** * Toolbar-IDs ***********************************************************************/ #define ITC_GO 200 #define ITC_HELP 210 #define ITC_I1TX 220 #define ITC_IATX 230 #define ITC_NITX 240 #define ITC_I1FX 250 #define ITC_IAFX 260 #define ITC_NIFX 270 /********************************************************** * Box-IDs **********************************************************/ /*--------------------------------------------------------- * Textsize *--------------------------------------------------------*/ #define IDDLG_V_TEXT 600 /*********************************************************************** * Alerts ***********************************************************************/ #define AL_NOCFLAG 3000 /* kein Steuerflag Z88X */ #define AL_WROCFLAG 3010 /* Steuerflag Z88X falsch */ #define AL_NOLOG 3020 /* kein Z88X.LOG */ #define AL_NODYN 3030 /* kein Z88.DYN */ #define AL_WRONGDYN 3040 /* Fehler in Z88.DYN */ #define AL_NOMEMY 3050 /* nicht genug Memory */ #define AL_NOI1 3060 /* Fehler Oeffnen Z88I1.TXT */ #define AL_NOI2 3070 /* Fehler Oeffnen Z88I2.TXT */ #define AL_NOI3 3080 /* Fehler Oeffnen Z88I3.TXT */ #define AL_NONI 3090 /* Fehler Oeffnen Z88NI.TXT */ #define AL_NOX 3100 /* Fehler Oeffnen Z88X.DXF */ #define AL_WRONDIM 3120 /* Dimension falsch */ #define AL_EXMAXK 3130 /* zuviele Knoten */ #define AL_EXMAXE 3140 /* zuviele Elemente */ #define AL_EXMAXNFG 3150 /* zuviele Freiheitsgrade */ #define AL_EXMAXNEG 3160 /* zuviele E-Gesetze */ #define AL_WROKFLAG 3170 /* KFLAG falsch */ #define AL_WROIBFLAG 3180 /* IBFLAG falsch */ #define AL_WROIPFLAG 3182 /* IPFLAG falsch */ #define AL_NOBEAMPLA 3185 /* IBFLAG und IPFLAG gesetzt */ #define AL_WROETYPI1 3190 /* falscher Elementtyp Z88I1.TXT */ #define AL_WROETYPNI 3200 /* falscher Elementtyp Z88NI.TXT */ #define AL_EXKOI 3210 /* MAXKOI exhausted */ #define AL_WROIXI1 3220 /* Z88X.DXF: Z88I1.TXT */ #define AL_WROIXNI 3230 /* Z88X.DXF: Z88NI.TXT */ #define AL_WROIXKNO 3240 /* Z88X.DXF: Z88I1.TXT */ #define AL_WROIXELE 3250 /* Z88X.DXF: Z88I1.TXT */ #define AL_WROIXKOI 3260 /* Z88X.DXF: Z88I1.TXT */ #define AL_WROIXM 3270 /* Z88X.DXF: Z88I1.TXT E-Gesetze */ #define AL_WROIXI21Z 3280 /* Z88X.DXF: Z88I2.TXT 1.Zeile */ #define AL_WROIXI2R 3290 /* Z88X.DXF: Z88I2.TXT Randbed. */ #define AL_WROIXI3 3300 /* Z88X.DXF: Z88I3.TXT */ #define AL_TOOFEW 3310 /* zuwenig Knoten beim Scannen */ #define AL_NOPOINTS 3320 /* "P " fehlt */ #define AL_NOLAYNET 3330 /* kein Z88NET */ /*********************************************************************** * Texte ***********************************************************************/ #define TX_REAI1 4000 /* Z88I1.TXT einlesen */ #define TX_REAI2 4010 /* Z88I2.TXT einlesen */ #define TX_REAI3 4020 /* Z88I3.TXT einlesen */ #define TX_REANI 4030 /* Z88NI.TXT einlesen */ #define TX_REAIX 4040 /* Z88X.DXF einlesen */ #define TX_WRII1 4050 /* Z88I1.TXT beschreiben */ #define TX_WRII2 4060 /* Z88I2.TXT beschreiben */ #define TX_WRII3 4070 /* Z88I3.TXT beschreiben */ #define TX_WRINI 4080 /* Z88NI.TXT beschreiben */ #define TX_WRIOX 4090 /* Z88X.DXF beschreiben */ #define TX_KOOR 4110 /* Koordinaten einlesen */ #define TX_POLAR 4120 /* Polarkoordinaten umr. */ #define TX_KOIN 4130 /* Koinzidenz einlesen */ #define TX_EGES 4140 /* E-Gesetze einlesen */ #define TX_SINFO 4150 /* Super-Infos einlesen */ #define TX_Z88TX 4160 /* Start Z88TX */ #define TX_KOIERF 4170 /* KOI erfordert n */ #define TX_Z88FX 4180 /* Start Z88FX */ #define TX_FX 4190 /* Oeffnen Z88X.DXF */ #define TX_CFLAG 4200 /* Anzeigen CFLAG */ #define TX_FAC 4210 /* Faktoren in Z88TX rechnen*/ #define TX_SDXF 4220 /* a. DXF Z88TX schreiben*/ #define TX_SELE 4230 /* Elemente Z88TX schreiben*/ #define TX_EXITZ88TX 4240 /* Z88TX Ende*/ #define TX_EXITZ88FX 4250 /* Z88FX Ende*/ #define TX_DEC1ZI1 4270 /* Dekodieren 1.Z. Z88I1.TXT */ #define TX_DEC1ZNI 4280 /* Dekodieren 1.Z. Z88NI.TXT */ #define TX_DECKNO 4290 /* Dekodieren Knoten */ #define TX_DECELE 4300 /* Dekodieren Elemente */ #define TX_FOUKNO 4310 /* x Knoten gefunden*/ #define TX_FOUFELE 4320 /* x Finite Elemente gefunden*/ #define TX_FOUSELE 4330 /* x Super- Elemente gefunden*/ #define TX_DECEG 4340 /* Dekodieren E-Gesetze */ #define TX_DEC1ZI2 4350 /* Dekodieren 1.Z. Z88I2.TXT */ #define TX_DECI2R 4360 /* Dekodieren Randb. Z88I2.TXT */ #define TX_DECI3 4370 /* Dekodieren Z88I3.TXT */ #define TX_EXITZ88X 4380 /* Z88X Ende */ #define TX_ELE 4390 /* Element */ /*********************************************************************** * Log- Eintraege ***********************************************************************/ #define LOG_BZ88X 5000 /* Beginn Z88X */ #define LOG_CFLAGI1TX 5010 /* I1TX */ #define LOG_CFLAGIATX 5020 /* IATX */ #define LOG_CFLAGNITX 5030 /* NITX */ #define LOG_CFLAGI1FX 5040 /* I1FX */ #define LOG_CFLAGIAFX 5050 /* IAFX */ #define LOG_CFLAGNIFX 5060 /* NIFX */ #define LOG_OPENZ88DYN 5070 /* Oeffnen Z88.DYN */ #define LOG_NODYN 5080 /* kann Z88.DYN nicht oeffnen */ #define LOG_WRONGDYN 5090 /* Z88.DYN nicht o.k. */ #define LOG_MAXKOI 5100 /* MAXKOI */ #define LOG_MAXK 5110 /* MAXK */ #define LOG_MAXE 5120 /* MAXE */ #define LOG_MAXNFG 5130 /* MAXNFG */ #define LOG_MAXNEG 5140 /* MAXNEG */ #define LOG_OKDYN 5150 /* Z88.DYN scheint o.k. zu sein */ #define LOG_ALLOCMEMY 5160 /* Memory anlegen */ #define LOG_ARRAYNOTOK 5170 /* Memory Kennung I nicht o.k. */ #define LOG_ARRAYOK 5180 /* Memory Kennung I angelegt */ #define LOG_SUMMEMY 5190 /* Memory angefordert */ #define LOG_EXITDYN88X 5200 /* Verlassen DYN88X */ #define LOG_BREA88 5210 /* Start REA88X */ #define LOG_FI1 5220 /* Einlesen Z88I1.TXT */ #define LOG_FI2 5230 /* Einlesen Z88I2.TXT */ #define LOG_FI3 5240 /* Einlesen Z88I3.TXT */ #define LOG_FNI 5250 /* Einlesen Z88NI.TXT */ #define LOG_NOI1 5260 /* kein Z88I1.TXT */ #define LOG_NOI2 5270 /* kein Z88I2.TXT */ #define LOG_NOI3 5280 /* kein Z88I3.TXT */ #define LOG_NONI 5290 /* kein Z88NI.TXT */ #define LOG_WRONGDIM 5300 /* ndim falsch */ #define LOG_EXMAXK 5310 /* MAXK ueberschritten */ #define LOG_EXMAXE 5320 /* MAXE ueberschritten */ #define LOG_EXMAXKOI 5330 /* MAXKOI ueberschritten */ #define LOG_EXMAXNFG 5340 /* MAXNFG ueberschritten */ #define LOG_EXMAXNEG 5350 /* MAXNEG ueberschritten */ #define LOG_WROKFLAG 5360 /* KFLAG falsch */ #define LOG_WROIBFLAG 5370 /* IBFLAG falsch */ #define LOG_WROIPFLAG 5372 /* IPFLAG falsch */ #define LOG_NOBEAMPLA 5375 /* IBFLAG und IPFLAG gleichzeitig */ #define LOG_KOOR 5380 /* Einlesen Koordinaten */ #define LOG_KOIN 5390 /* Einlesen Koinzidenz */ #define LOG_WROETYP 5400 /* flascher Elementtyp */ #define LOG_EGES 5410 /* Einlesen E-Gesetze */ #define LOG_SINFO 5420 /* Einlesen Superele-Info */ #define LOG_EXITREA88 5430 /* Verlassen REA88X */ #define LOG_Z88TX 5440 /* Start Z88TX */ #define LOG_FX 5450 /* Oeffnen Z88X.DXF */ #define LOG_NOX 5460 /* kein Z88X.DXF */ #define LOG_REAIX 5465 /* Z88X.DXF einlesen */ #define LOG_WRIOX 5470 /* Beschreiben Z88OX.DXF */ #define LOG_EXITZ88TX 5480 /* Verlassen Z88TX */ #define LOG_Z88FX 5490 /* Start Z88FX */ #define LOG_BRDXF88 5500 /* Start RDXF88X */ #define LOG_WRII1 5510 /* Beschreiben Z88I1.TXT */ #define LOG_WRII2 5520 /* Beschreiben Z88I2.TXT */ #define LOG_WRII3 5530 /* Beschreiben Z88I3.TXT */ #define LOG_WRINI 5540 /* Beschreiben Z88NI.TXT */ #define LOG_EXITZ88FX 5550 /* Verlassen Z88FX */ #define LOG_FAC 5560 /* Faktoren Z88TX rechnen */ #define LOG_SDXF 5570 /* a. DXF Z88TX schreiben */ #define LOG_SELE 5580 /* Elemente Z88TX schreiben */ #define LOG_EXITZ88X 5590 /* Ende Z88X */ #define LOG_DEC1ZI1 5600 /* Dekodieren 1.Z. Z88I1.TXT */ #define LOG_DEC1ZNI 5610 /* Dekodieren 1.Z. Z88NI.TXT */ #define LOG_DECKNO 5620 /* Dekodieren Knoten */ #define LOG_DECELE 5630 /* Dekodieren Elemente */ #define LOG_FOUKNO 5640 /* Knoten gefunden*/ #define LOG_FOUFELE 5650 /* x Finite Elemente gefunden*/ #define LOG_FOUSELE 5660 /* x Super- Elemente gefunden*/ #define LOG_DECEG 5670 /* Dekodieren E-Gesetze */ #define LOG_WROIXI1 5680 /* Fehler Z88IX.DXF: 1.Z. Z88I1.TXT */ #define LOG_WROIXNI 5690 /* Fehler Z88IX.DXF: 1.Z. Z88NI.TXT */ #define LOG_WROIXKNO 5700 /* Fehler Z88IX.DXF: Knoten Z88I1.TXT */ #define LOG_WROIXELE 5710 /* Fehler Z88IX.DXF: Ele. Z88I1.TXT */ #define LOG_WROIXKOI 5720 /* Fehler Z88IX.DXF: Ele. Z88I1.TXT */ #define LOG_WROIXM 5730 /* Fehler Z88IX.DXF: Mat. Z88I1.TXT */ #define LOG_WROIXI21Z 5740 /* Fehler Z88IX.DXF: 1.Z. Z88I2.TXT */ #define LOG_WROIXI2R 5750 /* Fehler Z88IX.DXF: Randb. Z88I2.TXT */ #define LOG_WROIXI3 5760 /* Fehler Z88IX.DXF: Z88I3.TXT */ #define LOG_DEC1ZI2 5770 /* Dekodieren 1.Z. Z88I2.TXT */ #define LOG_DECI2R 5780 /* Dekodieren Randb. Z88I2.TXT */ #define LOG_DECI3 5790 /* Dekodieren Z88I3.TXT */ #define LOG_TOOFEW 5800 /* zuwenig Knoten beim Scannen */ #define LOG_NOPOINTS 5810 /* "P " fehlt */ #define LOG_NOLAYNET 5820 /* kein Z88NET */