home *** CD-ROM | disk | FTP | other *** search
- #ifndef PLOTLIB_H
- #define PLOTLIB_H
-
- /****************************************************************
- * *
- * Filename : PlotLib.h *
- * *
- *****************************************************************
- * *
- * Comment : Includedatei für die Plotlibrary. Diese Datei *
- * muss immer eingebunden werden, wenn eine Funktion *
- * dieser Library verwendet wird. *
- * *
- * Rev : V1.0 *
- * *
- * History : V1.0 erstellen dieses Files 15/11/89 *
- * *
- * Doc : Plotlibrary User's Guide *
- * *
- * Bugs : keine bekannten *
- * *
- * Autor : Oesch Silvano *
- * *
- * Datum : 15/11/89 *
- * *
- ****************************************************************/
-
- /****************************************************************
- * *
- * Defines für die verschiedenen Rechner und Betriebssysteme. *
- * Implemenationen auf den Rechnern *
- * *
- * - AMIGA unter Lattice C *
- * - MSDOS und kompatible unter Turbo C *
- * *
- * vorhanden. *
- * *
- ****************************************************************/
-
- /****************************************************************
- * *
- * Prototypendeklaration *
- * *
- *****************************************************************
- * *
- * Wenn ein Compiler keine Prototypen verarbeiten kann, dann *
- * die Variable PROTOTYPEN auf 0 definiert werden. *
- * *
- ****************************************************************/
-
- #ifdef AMIGA
- #ifdef LATTICE_50
- #define PROTOTYPEN 1
- #endif
- #endif
-
- #ifdef __MSDOS__
- #ifdef __TURBOC__
- #define PROTOTYPEN 1
- #endif
- #endif
-
-
- #ifdef __MSDOS__
- #ifdef __TURBOC__
-
- /****************************************************************
- * *
- * Graphiktreiberdefinitionen nur für MSDOS *
- * *
- *****************************************************************
- * *
- * Diese Deklaration beinhaltet alle Treiber, welche gelinkt *
- * (1) und welche nicht gelinkt (0) werden sollen. Da jeder *
- * Treiber ca. 6 kBytes gross ist, kann so das Programm stark *
- * verkleinert werden. Wenn der Treiber nicht definiert ist, *
- * wird versucht, den richtigen von der Disk zu laden. *
- * *
- ****************************************************************/
-
- #define MAXDRIVERS 6
-
- #define ATT_DRIVER 0 /* Hier müssen die Treiber */
- #define CGA_DRIVER 1 /* angegeben werden. Wenn */
- #define EGAVGA_DRIVER 1 /* alle Treiber mit 0 def. */
- #define PC3270_DRIVER 0 /* sind, dann wird auf der */
- #define HERC_DRIVER 0 /* Disk der Graphiktreiber */
- #define IBM8514_DRIVER 0 /* gesucht. */
-
- #ifndef _PLOT_ /* Nur in Userprogramm */
- /* nicht definiert. */
-
- #include <dos.h>
-
- extern unsigned _stklen = 10240; /* 10kB Stack für qsort */
-
- #if CGA_DRIVER
- extern void CGA_driver(void);
- #endif
-
- #if EGAVGA_DRIVER
- extern void EGAVGA_driver(void);
- #endif
-
- #if PC3270_DRIVER
- extern void PC3270_driver(void);
- #endif
-
- #if HERC_DRIVER
- extern void Herc_driver(void);
- #endif
-
- #if IBM8514_DRIVER
- extern void IBM8414_driver(void);
- #endif
-
- #if ATT_DRIVER
- extern void ATT_driver(void);
- #endif
-
- void (*DRIVERS[MAXDRIVERS])(void) =
- {
-
- #if CGA_DRIVER
- CGA_driver,
- #else
- NULL,
- #endif
-
- #if EGAVGA_DRIVER
- EGAVGA_driver,
- #else
- NULL,
- #endif
-
- #if PC3270_DRIVER
- PC3270_driver,
- #else
- NULL,
- #endif
-
- #if HERC_DRIVER
- Herc_driver,
- #else
- NULL,
- #endif
-
- #if IBM8514_DRIVER
- IBM8414_driver,
- #else
- NULL,
- #endif
-
- #if ATT_DRIVER
- ATT_driver,
- #else
- NULL,
- #endif
-
- };
-
- #endif
- #endif
- #endif
-
- /****************************************************************
- * *
- * Typedefinition *
- * *
- *****************************************************************
- * *
- * DATA steht für den Datentyp welcher verarbeitet wird. Er kann *
- * bei Geschwindigkeitsproblemen auf float gesetzt werden. *
- * *
- * GPT steht für GraphicPoint. Damit ist die Grösse gemeint, *
- * welche verwendet wird, um in den Bildschirm mittels der *
- * ScFillPolyLine zu zeichnen. Dieser Wert muss auf den *
- * verschiedenen Rechnern angepasst werden. *
- * *
- ****************************************************************/
-
- typedef double DATA;
-
- #ifdef AMIGA
- typedef short GPT;
- #endif
-
- #ifdef __MSDOS__
- #ifdef __TURBOC__
- typedef int GPT;
- #endif
- #endif
-
-
- /****************************************************************
- * *
- * allgemeine Defines *
- * *
- ****************************************************************/
-
- #ifndef TRUE
- #define TRUE 1
- #endif
-
- #ifndef FALSE
- #define FALSE 0
- #endif
-
- /****************************************************************
- * *
- * Darstellungsparameter *
- * *
- ****************************************************************/
-
- #define NOTYP 0 /* kein spez. Typ */
- #define D2 1 /* Zweidimensionale Dar. */
- #define NIV 2 /* Niveau Darstellung */
- #define D3 3 /* Dreidimensionale Dar. */
-
- /****************************************************************
- * *
- * Clipping *
- * *
- ****************************************************************/
-
- #define NOCLIPP 1 /* kein Clipping */
- #define CLIPP 2 /* Clippen */
-
- /****************************************************************
- * *
- * Übergabeparameter für Set_Autoval *
- * *
- ****************************************************************/
-
- #define AUTOON 1 /* einschalten */
- #define AUTOOFF 2 /* ausschalten */
-
- /****************************************************************
- * *
- * Übergabeparameter für Set_Mes *
- * *
- ****************************************************************/
-
- #define LIN 1 /* lineare Darstellung */
- #define LOG 2 /* log. Darstellung */
- #define LN 3 /* natürlich log. Dar. */
-
- /****************************************************************
- * *
- * Übergabeparameter für Set_Grid *
- * *
- ****************************************************************/
-
- #define GRID 1 /* mit Gitter */
- #define NOGRID 2 /* ohne Gitter */
-
- /****************************************************************
- * *
- * Übergabeparameter für Set_Style *
- * *
- ****************************************************************/
-
- #define STYLE 0 /* mit Füllmuster */
- #define NOSTYLE -1 /* ohne Füllmuster */
-
- /****************************************************************
- * *
- * Übergabeparameter für Set_Value *
- * *
- ****************************************************************/
-
- #define CLEAR -1 /* Userwerte löschen */
- #define XMIN 0 /* sonst die verschiedenen */
- #define XMAX 1 /* Werte für die entsp. */
- #define YMIN 2 /* Grenze */
- #define YMAX 3
- #define ZMIN 4
- #define ZMAX 5
-
- /****************************************************************
- * *
- * Übergabeparameter für Set_Curvecolor *
- * *
- ****************************************************************/
-
- #define COLDET 0 /* Color detection */
-
- /****************************************************************
- * *
- * Übergabeparameter für Del_Data *
- * *
- ****************************************************************/
-
- #define DELALL -2 /* alle Daten löschen */
- #define DELLAST -1 /* letzte Kurve löschen */
- #define NOID 0 /* keine ID, Namen */
-
- /****************************************************************
- * *
- * Übergabeparameter der Achsen *
- * *
- ****************************************************************/
-
- #define XAXIS 1 /* X-Achse */
- #define YAXIS 2 /* Y-Achse */
- #define ZAXIS 3 /* Z-Achse */
-
- /****************************************************************
- * *
- * Übergabeparameter für Set_PlotSize *
- * *
- ****************************************************************/
-
- #define ROTATE 1 /* Plotausgabe drehen */
- #define PLDATASET 2 /* Plotterdaten gesetzt */
- #define PLLOADED 4 /* Plottertreiber geladen */
-
- /****************************************************************
- * *
- * Übergabeparameter für Set_3DOptions *
- * *
- ****************************************************************/
-
- #define CROSHON 0x01 /* Croshatching ein */
- #define CROSHOFF 0x02 /* Croshatching aus */
- #define HIDDENON 0x04 /* Hiddenline ein */
- #define HIDDENOFF 0x08 /* Hiddenline aus */
-
- /****************************************************************
- * *
- * Übergabeparameter für Display *
- * *
- ****************************************************************/
-
- #define SCREENOUT 1 /* Bildschirmausgabe */
- #define SCREENCLOSE 2 /* Bildschirmausgabe ende */
- #define PRINTOUT 3 /* Ausgabe auf Matrixdr. */
- #define PLOTOUT 4 /* Ausgabe auf Plotter */
-
- #define GRAPHNOTSET 1 /* keine eigene Graphik */
- #define GRAPHSET 2 /* eigene Graphik */
- #define PLOTSET 4 /* Plotausgabe im gange */
-
- /****************************************************************
- * *
- * Definition der Funktionsparameter der Level 1 Funktionen *
- * *
- ****************************************************************/
-
- #if PROTOTYPEN
-
- int open_plot(void);
- int close_plot(void);
- int get_data(DATA (*)(DATA),DATA ,DATA ,int );
- int load_data(char *,int );
- int del_data(int ,char *);
- int set_axisname(int ,char *);
- int set_unit(int ,char *);
- int set_titel(char *);
- int set_curvename(int ,char *);
- int set_value(int ,DATA );
- int get_value(int ,DATA *);
- int set_autoval(int );
- int set_grid(int );
- int set_fill(int );
- int set_mes(int ,int );
- int set_curvecolor(int ,char *,int );
- int set_3doptions(int);
- int set_plotsize(int ,int ,int ,int ,int ,char *);
- int display(int ,int );
- void dis_ploterror(void);
- char *get_ploterror(void);
-
- #else
-
- int open_plot();
- int close_plot();
- int get_data();
- int load_data();
- int del_data();
- int set_axisname();
- int set_unit();
- int set_titel();
- int set_curvename();
- int set_value();
- int get_value();
- int set_autoval();
- int set_grid();
- int set_fill();
- int set_mes();
- int set_curvecolor();
- int set_3doptions();
- int set_plotsize();
- int display();
- void dis_ploterror();
- char *get_ploterror();
-
- #endif
-
- #endif
-