File: gmt_init.h

package info (click to toggle)
gmt 3.3.3-3
  • links: PTS
  • area: main
  • in suites: potato
  • size: 3,288 kB
  • ctags: 2,962
  • sloc: ansic: 50,470; sh: 1,760; makefile: 284; asm: 38
file content (194 lines) | stat: -rw-r--r-- 7,442 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
/*--------------------------------------------------------------------
 *    The GMT-system:	@(#)gmt_init.h	2.55  12/03/99
 *
 *	Copyright (c) 1991-1999 by P. Wessel and W. H. F. Smith
 *	See COPYING file for copying and redistribution conditions.
 *
 *	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; version 2 of the License.
 *
 *	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.
 *
 *	Contact info: www.soest.hawaii.edu/gmt
 *--------------------------------------------------------------------*/
/*
 *  This include file contains initializations for the GMT system
 *
 * Author:	Paul Wessel
 * Date:	21-AUG-1995
 * Revised:	12-AUG-1998
 *
 */

/*--------------------------------------------------------------------*/
/* Load parameters from include files */
/*--------------------------------------------------------------------*/

struct GMTDEFAULTS gmtdefs = {		/* Initial default values */
#include "gmt_defaults.h"
};

char *GMT_unique_option[N_UNIQUE] = {	/* The common GMT commandline options */
#include "gmt_unique.h"
};
 
char *GMT_font_name[N_FONTS] = {	/* Name of fonts recognized by GMT */
#include "PS_font_names.h"
};

double GMT_font_height[N_FONTS] = {	/* Relative; based on the size of A devided by fontsize */
#include "PS_font_heights.h"
};

char *GMT_keywords[N_KEYS] = {		/* Names of all parameters in .gmtdefaults */
#include "gmt_keywords.h"
};

char *GMT_media_name[GMT_N_MEDIA] = {		/* Names of all paper formats */
#include "gmt_media_name.h"
};

struct GMT_MEDIA GMT_media[GMT_N_MEDIA] = {		/* Sizes in points of all paper formats */
#include "gmt_media_size.h"
};


/*--------------------------------------------------------------------*/
/*	For plotting purposes */
/*--------------------------------------------------------------------*/

struct MAP_FRAME frame_info;
double *GMT_x_plot = 0;		/* Holds the x/y (inches) of a line to be plotted */
double *GMT_y_plot = 0;
int *GMT_pen = 0;		/* Pen (3 = up, 2 = down) for these points */
int GMT_n_plot = 0;			/* Number of such points */
int GMT_n_alloc = 0;		/* Size of allocated plot arrays */
int GMT_x_status_new;		/* Tells us what quadrant old and new points are in */
int GMT_y_status_new;
int GMT_x_status_old;
int GMT_y_status_old;
int GMT_corner = 0;
BOOLEAN GMT_on_border_is_outside = FALSE;	/* TRUE if a point exactly on the map border shoud be considered outside the map */
BOOLEAN GMT_world_map = FALSE;	/* TRUE if map has 360 degrees of longitude range */
BOOLEAN GMT_world_map_tm = FALSE;	/* TRUE if TM map is global? */
double GMT_map_width;		/* Full width in inches of this world map */
double GMT_map_height;		/* Full height in inches of this world map */
double GMT_half_map_size;	/* Half width in inches of this world map */
double GMT_half_map_height;	/* Half height of this world map */
PFI GMT_outside;			/*	pointer to function checking if a lon/lat point is outside map */
PFI GMT_crossing;			/*	pointer to functions returning crossover point at boundary */
PFI GMT_overlap;			/*	pointer to function checking for overlap between 2 regions */
PFI GMT_map_clip;			/*	pointer to functions that clip a polygon to fit inside map */
PFD GMT_left_edge, GMT_right_edge;	/*	pointers to functions that return left/right edge of map */
BOOLEAN GMT_z_periodic = FALSE;			/* TRUE if grid values are 0-360 degrees (phases etc) */
PFI GMT_wrap_around_check;	/* Does x or y wrap checks */
PFI GMT_map_jump;		/* TRUE if we jump in x or y */
PFB GMT_will_it_wrap;		/* TRUE if consecutive points indicate wrap */
PFB GMT_this_point_wraps;	/* Used in above */
PFV GMT_get_crossings;		/* Returns map crossings in x or y */
PFI GMT_truncate;		/* Truncate polygons agains boundaries */
BOOLEAN GMT_meridian_straight = FALSE;	/* TRUE if meridians plot as straight lines */
BOOLEAN GMT_parallel_straight = FALSE;	/* TRUE if parallels plot as straight lines */

/*--------------------------------------------------------------------*/
/*	For color lookup purposes */
/*--------------------------------------------------------------------*/

struct GMT_LUT *GMT_lut;	/* CPT lookup table read by GMT_read_cpt */
struct GMT_BFN_COLOR GMT_bfn;	/* Structure with back/fore/nan colors */
int GMT_n_colors = 0;
BOOLEAN GMT_gray;		/* TRUE if only grayshades are needed */
BOOLEAN GMT_b_and_w;		/* TRUE if only black and white are needed */
BOOLEAN GMT_continuous;		/* TRUE if continuous color tables have been given */

/*--------------------------------------------------------------------*/
/*	For projection purposes */
/*--------------------------------------------------------------------*/

struct MAP_PROJECTIONS project_info;
struct THREE_D z_project;
PFI GMT_forward, GMT_inverse;		/*	Pointers to the selected mapping functions */
PFI GMT_x_forward, GMT_x_inverse;	/*	Pointers to the selected linear functions */
PFI GMT_y_forward, GMT_y_inverse;	/*	Pointers to the selected linear functions */
PFI GMT_z_forward, GMT_z_inverse;	/*	Pointers to the selected linear functions */

/*--------------------------------------------------------------------*/
/*	For i/o purposes */
/*--------------------------------------------------------------------*/

FILE *GMT_stdin;		/* Pointer for standard input */
FILE *GMT_stdout;		/* Pointer for standard output */
PFI GMT_input;			/* Pointer to function reading ascii or binary tables */
PFI GMT_output;			/* Pointer to function writing ascii or binary tables */
struct GMT_IO GMT_io = {
	FALSE,
	{ FALSE, FALSE },
	{ FALSE, FALSE },
	FALSE,
	FALSE,
	{ 0, 0 },
	0,
	0,
	0,
	'>',
	"",
	"",
	"r",
	"w"
};
int GMT_grd_i_format = 0;		/* Default is GMT's cdf format */
int GMT_grd_o_format = 0;
int GMT_n_file_suffix;
PFI GMT_io_readinfo[N_GRD_FORMATS];
PFI GMT_io_writeinfo[N_GRD_FORMATS];
PFI GMT_io_readgrd[N_GRD_FORMATS];
PFI GMT_io_writegrd[N_GRD_FORMATS];
double GMT_grd_in_nan_value, GMT_grd_out_nan_value;
double *GMT_file_scale, *GMT_file_offset, *GMT_file_nan;
int *GMT_file_id;
char **GMT_file_suffix;
int GMT_fd_history = 0;	/* File descriptor for .gmtcommands */
#ifdef NO_LOCK
BOOLEAN GMT_lock = FALSE;
#else
BOOLEAN GMT_lock = TRUE;
#endif
double GMT_data[BUFSIZ];
int GMT_pad[4] = {0, 0, 0, 0};

/*--------------------------------------------------------------------*/
/*	For misc purposes */
/*--------------------------------------------------------------------*/

/* For Custom paper types */

char **GMT_user_media_name = (char **)NULL;
struct GMT_MEDIA *GMT_user_media = (struct GMT_MEDIA *)NULL;
int GMT_n_user_media = 0;

char *GMTHOME = CNULL;
char *GMT_program;	/* Name of current GMT program */

float GMT_f_NaN;
double GMT_d_NaN;

/* GMT_u2u is the conversion matrix for cm, inch, m, pt: */

double GMT_u2u[4][4] = {
	{   1.00,    1.0/2.54,    0.01,         72.0/2.54 },
	{   2.54,    1.0,         0.0254,       72.0 },
	{ 100.00,    100.0/2.54,  1.0,          72.0/0.0254 },
	{ 2.54/72.0, 1.0/72.0,    0.0254/72.0,  1.0 }
};
char *GMT_unit_names[4] = {"cm", "inch", "m", "point"};
int GMT_no_rgb[3] = {-1, -1, -1};

int GMT_oldargc;
char *GMT_oldargv[N_UNIQUE];	/* Pointers to old common arguments */
BOOLEAN GMT_quick = FALSE;

struct BCR bcr;			/* For interpolations on grid */