Back to index

radiance  4R0+20100331
mgraph.h
Go to the documentation of this file.
00001 /* RCSid: $Id: mgraph.h,v 1.3 2003/11/15 02:13:37 schorsch Exp $ */
00002 /*
00003  *  mgraph.h - header file for graphing routines.
00004  *
00005  *     6/23/86
00006  *
00007  *     Greg Ward Larson
00008  */
00009 #ifndef _RAD_MGRAPH_H_
00010 #define _RAD_MGRAPH_H_
00011 
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015 
00016 #define  PI          3.14159265358979323846
00017 #define  FHUGE              1e20
00018 #define  FTINY              1e-7
00019                                    /* text density */
00020 #define  CPI         10
00021 #define  CWID        (2048/CPI)
00022                                    /* character aspect ratio */
00023 #define  ASPECT             1.67
00024                                    /* fraction of period for polar arc */
00025 #define  PL_F        0.02
00026                                    /* minimum # of axis divisions */
00027 #define  MINDIVS     4
00028                                    /* coordinate axis box */
00029 #define  AX_L        2048
00030 #define  AX_R        12288
00031 #define  AX_D        2048
00032 #define  AX_U        12288
00033                                    /* polar plot center and radius */
00034 #define  PL_X        6912
00035 #define  PL_Y        7168
00036 #define  PL_R        5120
00037                                    /* axis tick length */
00038 #define  TLEN        200
00039                                    /* x numbering offsets */
00040 #define  XN_X        0
00041 #define  XN_Y        (AX_D-TLEN-300)
00042 #define  XN_S        1000
00043                                    /* y numbering offsets */
00044 #define  YN_X        (AX_L-TLEN-200)
00045 #define  YN_Y        64
00046 #define  YN_S        500
00047                                    /* polar numbering offsets */
00048 #define  TN_X        PL_X
00049 #define  TN_Y        (PL_Y+150)
00050 #define  TN_R        (PL_R+TLEN+250)
00051 #define  RN_X        PL_X
00052 #define  RN_Y        (PL_Y-TLEN/2-200)
00053 #define  RN_S        XN_S
00054                                    /* title box */
00055 #define  TI_L        0
00056 #define  TI_R        16383
00057 #define  TI_D        14500
00058 #define  TI_U        15300
00059                                    /* subtitle box */
00060 #define  ST_L        0
00061 #define  ST_R        16383
00062 #define  ST_D        13675
00063 #define  ST_U        14170
00064                                    /* x label box */
00065 #define  XL_L        2048
00066 #define  XL_R        9850
00067 #define  XL_D        500
00068 #define  XL_U        1000
00069                                    /* x mapping box */
00070 #define  XM_L        10000
00071 #define  XM_R        12288
00072 #define  XM_D        670
00073 #define  XM_U        1000
00074                                    /* y label box */
00075 #define  YL_L        0
00076 #define  YL_R        500
00077 #define  YL_D        2048
00078 #define  YL_U        9850
00079                                    /* y mapping box */
00080 #define  YM_L        170
00081 #define  YM_R        500
00082 #define  YM_D        10000
00083 #define  YM_U        12288
00084                                    /* legend box */
00085 #define  LE_L        13100
00086 #define  LE_R        16383
00087 #define  LE_D        4000
00088 #define  LE_U        10000
00089                                    /* legend title */
00090 #define  LT_X        LE_L
00091 #define  LT_Y        (LE_U+800)
00092                                    /* parameter defaults */
00093 #define  DEFFTHICK   3                    /* frame thickness */
00094 #define  DEFTSTYLE   1                    /* tick mark style */
00095 #define  DEFOTHICK   0                    /* origin thickness */
00096 #define  DEFGRID     0                    /* default grid */
00097 #define  DEFSYMSIZE  100                  /* symbol size */
00098 #define  DEFLINTYPE  1                    /* line type */
00099 #define  DEFTHICK    2                    /* line thickness */
00100 #define  DEFCOLOR    1                    /* color */
00101 #define  DEFPERIOD   0.0                  /* period for polar plot */
00102 #define  DEFPLSTEP   (1./12.)             /* default angular step */
00103 
00104 /*
00105  *  Bounds are used to hold the axis specifications.
00106  */
00107 
00108 typedef struct {
00109        double  min, max, step;
00110 }  BOUNDS;
00111 
00112 extern void mgraph(void);
00113 
00114 #ifdef __cplusplus
00115 }
00116 #endif
00117 #endif /* _RAD_MGRAPH_H_ */
00118