@@ -152,54 +152,57 @@ struct GMT_GRID_HEADER_HIDDEN {
152152 /* ---- Variables "hidden" from the API ----
153153 * This section is flexible. It is not copied to any grid or image header
154154 * or stored in any file. It is considered private */
155- unsigned int trendmode ; /* Holds status for detrending of grids. 0 if not detrended, 1 if mean, 2 if mid-value, and 3 if LS plane removed */
156- unsigned int arrangement ; /* Holds status for complex grid as how the read/imag is placed in the grid (interleaved, R only, etc.) */
157- unsigned int BC [4 ]; /* Boundary condition applied on each side via pad [0 = not set, 1 = natural, 2 = periodic, 3 = data] */
158- unsigned int grdtype ; /* 0 for Cartesian, > 0 for geographic and depends on 360 periodicity [see GMT_enum_grdtype in gmt_grd.h] */
159- unsigned int reset_pad ; /* true in cases where we need a subset from a memory grid and must compute node index separately */
160- char name [GMT_GRID_NAME_LEN256 ]; /* Actual name of the file after any ?<varname> and =<stuff> has been removed */
161- char varname [GMT_GRID_VARNAME_LEN80 ];/* NetCDF: variable name */
162- char * title ; /* Title string not limited to GMT_GRID_TITLE_LEN80 characters */
163- char * cpt ; /* Name of default CPT for a remote grid subset written via grdcut */
164- char * command ; /* Command/history string not limited to GMT_GRID_TITLE_LEN80 characters */
165- char * remark ; /* Remark/description string not limited to GMT_GRID_REMARK_LEN160 characters */
166- int row_order ; /* NetCDF: k_nc_start_south if S->N, k_nc_start_north if N->S */
167- int z_id ; /* NetCDF: id of z field */
168- int ncid ; /* NetCDF: file ID */
169- int xy_dim [2 ]; /* NetCDF: dimension order of x and y; normally {1, 0} */
170- int xyz_id [3 ]; /* NetCDF: id of x, y, and z (if cube) field */
171- size_t t_index [3 ]; /* NetCDF: index of higher coordinates */
172- size_t data_offset ; /* NetCDF: distance from the beginning of the in-memory grid */
173- size_t n_alloc ; /* Bytes allocated for this grid */
174- unsigned int stride ; /* NetCDF: distance between two rows in the in-memory grid */
175- double r_inc [2 ]; /* Reciprocal incs, i.e. 1/inc */
176- char flags [4 ]; /* Flags used for ESRI grids */
177- char * pocket ; /* GDAL: A working variable handy to transmit info between funcs e.g. +b<band_info> to gdalread */
178- double bcr_threshold ; /* sum of cardinals must >= threshold in bilinear; else NaN */
179- unsigned int has_NaNs ; /* Is 2 if the grid contains any NaNs, 1 if it does not, and 0 if no check has yet happened */
180- unsigned int bcr_interpolant ; /* Interpolation function used (0, 1, 2, 3) */
181- unsigned int bcr_n ; /* Width of the interpolation function */
182- unsigned int nxp ; /* if X periodic, nxp > 0 is the period in pixels */
183- unsigned int nyp ; /* if Y periodic, nxp > 0 is the period in pixels */
184- unsigned int no_BC ; /* If true we skip BC stuff entirely */
185- unsigned int gn ; /* true if top edge will be set as N pole */
186- unsigned int gs ; /* true if bottom edge will be set as S pole */
187- unsigned int is_netcdf4 ; /* true if netCDF-4/HDF5 format */
188- unsigned int var_spacing [2 ]; /* true if a netcdf grid has non-equidistant x and/or y arrays */
189- enum GMT_enum_type orig_datatype ; /* GMT_FLOAT, GMT_SHORT, etc how the source grid was represented */
190- size_t z_chunksize [2 ]; /* chunk size (lat,lon) */
191- unsigned int z_scale_given ; /* 1 if +s was specified */
192- unsigned int z_offset_given ; /* 1 if +o was specified */
193- unsigned int z_shuffle ; /* if shuffle filter is turned on */
194- unsigned int z_deflate_level ; /* if deflate filter is in use */
195- unsigned int z_scale_autoadjust ; /* if z_scale_factor should be auto-detected */
196- unsigned int z_offset_autoadjust ;/* if z_add_offset should be auto-detected */
197- /* xy_*[] is separate settings for GMT_IN and GMT_OUT */
198- unsigned int xy_adjust [2 ]; /* 1 if +u<unit> was parsed and scale set, 3 if xy has been adjusted, 0 otherwise */
199- unsigned int xy_mode [2 ]; /* 1 if +U<unit> was parsed, 0 otherwise */
200- unsigned int xy_unit [2 ]; /* Unit enum specified via +u<unit> */
201- double xy_unit_to_meter [2 ]; /* Scale, given xy_unit, to convert xy from <unit> to meters */
202- uint64_t (* index_function ) (struct GMT_GRID_HEADER * , uint64_t , uint64_t , uint64_t ); /* Pointer to index function (for images only) */
155+ unsigned int trendmode ; /* Holds status for detrending of grids. 0 if not detrended, 1 if mean, 2 if mid-value, and 3 if LS plane removed */
156+ unsigned int arrangement ; /* Holds status for complex grid as how the read/imag is placed in the grid (interleaved, R only, etc.) */
157+ unsigned int BC [4 ]; /* Boundary condition applied on each side via pad [0 = not set, 1 = natural, 2 = periodic, 3 = data] */
158+ unsigned int grdtype ; /* 0 for Cartesian, > 0 for geographic and depends on 360 periodicity [see GMT_enum_grdtype in gmt_grd.h] */
159+ unsigned int reset_pad ; /* true in cases where we need a subset from a memory grid and must compute node index separately */
160+ char name [GMT_GRID_NAME_LEN256 ]; /* Actual name of the file after any ?<varname> and =<stuff> has been removed */
161+ char varname [GMT_GRID_VARNAME_LEN80 ]; /* NetCDF: variable name */
162+ char * title ; /* Title string not limited to GMT_GRID_TITLE_LEN80 characters */
163+ char * cpt ; /* Name of default CPT for a remote grid subset written via grdcut */
164+ char * command ; /* Command/history string not limited to GMT_GRID_TITLE_LEN80 characters */
165+ char * remark ; /* Remark/description string not limited to GMT_GRID_REMARK_LEN160 characters */
166+ int row_order ; /* NetCDF: k_nc_start_south if S->N, k_nc_start_north if N->S */
167+ int z_id ; /* NetCDF: id of z field */
168+ int ncid ; /* NetCDF: file ID */
169+ int xy_dim [2 ]; /* NetCDF: dimension order of x and y; normally {1, 0} */
170+ int xyz_id [3 ]; /* NetCDF: id of x, y, and z (if cube) field */
171+ size_t t_index [3 ]; /* NetCDF: index of higher coordinates */
172+ size_t data_offset ; /* NetCDF: distance from the beginning of the in-memory grid */
173+ size_t n_alloc ; /* Bytes allocated for this grid */
174+ unsigned int stride ; /* NetCDF: distance between two rows in the in-memory grid */
175+ double r_inc [2 ]; /* Reciprocal incs, i.e. 1/inc */
176+ double nan_rgb [4 ]; /* Transparent NaN color in an indexed RGB image, with nan_value as that index */
177+ char flags [4 ]; /* Flags used for ESRI grids */
178+ char * pocket ; /* GDAL: A working variable handy to transmit info between funcs e.g. +b<band_info> to gdalread */
179+ double bcr_threshold ; /* sum of cardinals must >= threshold in bilinear; else NaN */
180+ unsigned int has_NaN_rgb ; /* Is 1 if an indexed RGB image had a specific NaN color for transparency */
181+ unsigned int has_NaNs ; /* Is 2 if the grid contains any NaNs, 1 if it does not, and 0 if no check has yet happened */
182+ unsigned int bcr_interpolant ; /* Interpolation function used (0, 1, 2, 3) */
183+ unsigned int bcr_n ; /* Width of the interpolation function */
184+ unsigned int nxp ; /* if X periodic, nxp > 0 is the period in pixels */
185+ unsigned int nyp ; /* if Y periodic, nxp > 0 is the period in pixels */
186+ unsigned int no_BC ; /* If true we skip BC stuff entirely */
187+ unsigned int gn ; /* true if top edge will be set as N pole */
188+ unsigned int gs ; /* true if bottom edge will be set as S pole */
189+ unsigned int is_netcdf4 ; /* true if netCDF-4/HDF5 format */
190+ unsigned int var_spacing [2 ]; /* true if a netcdf grid has non-equidistant x and/or y arrays */
191+ enum GMT_enum_type orig_datatype ; /* GMT_FLOAT, GMT_SHORT, etc how the source grid was represented */
192+ size_t z_chunksize [2 ]; /* chunk size (lat,lon) */
193+ unsigned int z_scale_given ; /* 1 if +s was specified */
194+ unsigned int z_offset_given ; /* 1 if +o was specified */
195+ unsigned int z_shuffle ; /* if shuffle filter is turned on */
196+ unsigned int z_deflate_level ; /* if deflate filter is in use */
197+ unsigned int z_scale_autoadjust ; /* if z_scale_factor should be auto-detected */
198+ unsigned int z_offset_autoadjust ; /* if z_add_offset should be auto-detected */
199+ /* xy_*[] is separate settings for GMT_IN and GMT_OUT */
200+ unsigned int xy_adjust [2 ]; /* 1 if +u<unit> was parsed and scale set, 3 if xy has been adjusted, 0 otherwise */
201+ unsigned int xy_mode [2 ]; /* 1 if +U<unit> was parsed, 0 otherwise */
202+ unsigned int xy_unit [2 ]; /* Unit enum specified via +u<unit> */
203+ double xy_unit_to_meter [2 ]; /* Scale, given xy_unit, to convert xy from <unit> to meters */
204+ /* Pointer to index function (for images only) */
205+ uint64_t (* index_function ) (struct GMT_GRID_HEADER * , uint64_t , uint64_t , uint64_t );
203206};
204207
205208struct GMT_GRID_HIDDEN { /* Supporting information hidden from the API */
0 commit comments