GRASS Programmer's Manual
6.5.svn(2014)-r66266
|
OGSF library - loading surfaces (lower level functions) More...
#include <stdlib.h>
#include <string.h>
#include <grass/gis.h>
#include <grass/glocale.h>
#include <grass/bitmap.h>
#include <grass/gsurf.h>
#include <grass/gstypes.h>
#include "gsget.h"
Go to the source code of this file.
Macros | |
#define | INIT_MINMAX(p, nm, size, min, max, found) |
Used in the function Gs_update_attrange() More... | |
#define | SET_MINMAX(p, nm, size, min, max) |
Used in the function Gs_update_attrange() More... | |
#define | NO_DATA_COL 0xffffff |
Typedefs | |
typedef int | FILEDESC |
Functions | |
double | Gs_distance (double *from, double *to) |
Calculates distance in METERS between two points in current projection (2D) More... | |
int | Gs_loadmap_as_float (struct Cell_head *wind, const char *map_name, float *buff, struct BM *nullmap, int *has_null) |
Load raster map as floating point map. More... | |
int | Gs_loadmap_as_int (struct Cell_head *wind, const char *map_name, int *buff, struct BM *nullmap, int *has_null) |
Load raster map as integer map. More... | |
int | Gs_numtype (const char *filename, int *negflag) |
Get map data type. More... | |
int | Gs_loadmap_as_short (struct Cell_head *wind, const char *map_name, short *buff, struct BM *nullmap, int *has_null) |
Load raster map as integer map. More... | |
int | Gs_loadmap_as_char (struct Cell_head *wind, const char *map_name, unsigned char *buff, struct BM *nullmap, int *has_null) |
Load raster map as integer map. More... | |
int | Gs_loadmap_as_bitmap (struct Cell_head *wind, const char *map_name, struct BM *buff) |
Load raster map as integer map. More... | |
int | Gs_build_256lookup (const char *filename, int *buff) |
Build color table (256) More... | |
void | Gs_pack_colors (const char *filename, int *buff, int rows, int cols) |
Pack color table. More... | |
void | Gs_pack_colors_float (const char *filename, float *fbuf, int *ibuf, int rows, int cols) |
Pack color table (floating-point map) More... | |
int | Gs_get_cat_label (const char *filename, int drow, int dcol, char *catstr) |
Get categories/labels. More... | |
int | Gs_save_3dview (const char *vname, geoview *gv, geodisplay *gd, struct Cell_head *w, geosurf *defsurf) |
Save 3dview. More... | |
int | Gs_load_3dview (const char *vname, geoview *gv, geodisplay *gd, struct Cell_head *w, geosurf *defsurf) |
Load 3dview. More... | |
int | Gs_update_attrange (geosurf *gs, int desc) |
Update no_zero ranges for attribute (actually no_null now) More... | |
OGSF library - loading surfaces (lower level functions)
GRASS OpenGL gsurf OGSF Library
(C) 1999-2008 by the GRASS Development Team
This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.
Definition in file Gs3.c.
Used in the function Gs_update_attrange()
Definition at line 35 of file Gs3.c.
Referenced by Gs_update_attrange().
#define NO_DATA_COL 0xffffff |
Definition at line 72 of file Gs3.c.
Referenced by Gs_build_256lookup(), Gs_pack_colors(), and Gs_pack_colors_float().
Build color table (256)
Calling function must have already allocated space in buff for range of data (256 for now) - simply calls get_color for each cat in color range
filename | raster map name | |
[out] | buff | data buffer |
Definition at line 627 of file Gs3.c.
References b, g, G_debug(), G_find_cell2(), G_get_color_range(), G_lookup_colors(), G_read_colors(), G_warning(), G_zero(), max, min, NO_DATA_COL, r, and main::set.
Referenced by GS_load_att_map().
double Gs_distance | ( | double * | from, |
double * | to | ||
) |
Calculates distance in METERS between two points in current projection (2D)
Uses G_distance().
from | 'from' point (X, Y) |
to | 'to' point (X, Y) |
Definition at line 84 of file Gs3.c.
References first, G_begin_distance_calculations(), and G_distance().
Referenced by GS_geodistance().
Get categories/labels.
Formats label as in d.what.rast -> (catval) catlabel
filename | raster map name |
drow | |
dcol | |
catstr | category string |
Definition at line 827 of file Gs3.c.
References buf, fd, G_allocate_c_raster_buf(), G_allocate_d_raster_buf(), G_close_cell(), G_find_cell2(), G_free(), G_free_cats(), G_get_c_raster_cat(), G_get_c_raster_row(), G_get_d_raster_cat(), G_get_d_raster_row(), G_get_raster_map_type(), G_is_c_null_value(), G_is_d_null_value(), G_open_cell_old(), G_read_cats(), G_warning(), NULL, and sprintf().
Referenced by GS_get_cat_at_xy().
int Gs_load_3dview | ( | const char * | vname, |
geoview * | gv, | ||
geodisplay * | gd, | ||
struct Cell_head * | w, | ||
geosurf * | defsurf | ||
) |
Load 3dview.
vname | view name |
gv | pointer to geoview struct |
gd | pointer to geodisplay struct |
w | current window |
defsurf | default geosurf struct |
Definition at line 1004 of file Gs3.c.
References FROM, G_find_file2(), G_get_3dview(), G_warning(), GS_alldraw_wire(), GS_moveto_real(), GS_set_focus(), GS_set_fov(), GS_set_global_exag(), GS_set_twist(), GS_setall_drawmode(), GS_setall_drawres(), int, NULL, X, and Y.
Referenced by GS_load_3dview().
int Gs_loadmap_as_bitmap | ( | struct Cell_head * | wind, |
const char * | map_name, | ||
struct BM * | buff | ||
) |
Load raster map as integer map.
Calling function must have already allocated space in buff for struct BM of wind->rows & wind->cols.
This routine simply loads the map into the bitmap by repetitve calls to get_map_row. Any value other than 0 in the map will set the bitmap. (may want to change later to allow specific value to set)
Changed to use null.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
Definition at line 559 of file Gs3.c.
References BM_set(), G_allocate_null_buf(), G_close_cell(), G_debug(), G_fatal_error(), G_find_cell2(), G_free(), G_fully_qualified_name(), G_get_null_value_row(), G_message(), G_open_cell_old(), and G_warning().
Referenced by GS_load_att_map().
int Gs_loadmap_as_char | ( | struct Cell_head * | wind, |
const char * | map_name, | ||
unsigned char * | buff, | ||
struct BM * | nullmap, | ||
int * | has_null | ||
) |
Load raster map as integer map.
Calling function must have already allocated space in buff for wind->rows * wind->cols unsigned chars.
This routine simply loads the map into a 2d array by repetitve calls to get_map_row.
Since signs of chars can be tricky, we only load positive chars between 0-255.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
[out] | nullmap | null map buffer |
[out] | has_null | indicates if raster map contains null-data |
Definition at line 449 of file Gs3.c.
References BM_set(), G_allocate_null_buf(), G_close_cell(), G_debug(), G_fatal_error(), G_find_cell2(), G_free(), G_fully_qualified_name(), G_get_c_raster_row(), G_get_null_value_row(), G_message(), G_open_cell_old(), G_percent(), and G_warning().
Referenced by GS_load_att_map().
int Gs_loadmap_as_float | ( | struct Cell_head * | wind, |
const char * | map_name, | ||
float * | buff, | ||
struct BM * | nullmap, | ||
int * | has_null | ||
) |
Load raster map as floating point map.
Calling function must have already allocated space in buff for wind->rows * wind->cols floats.
This routine simply loads the map into a 2d array by repetitve calls to get_f_raster_row.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
[out] | nullmap | null map buffer |
[out] | has_null | indicates if raster map contains null-data |
Definition at line 114 of file Gs3.c.
References BM_set(), G_allocate_null_buf(), G_close_cell(), G_debug(), G_fatal_error(), G_find_cell2(), G_free(), G_fully_qualified_name(), G_get_f_raster_row(), G_get_null_value_row(), G_is_f_null_value(), G_message(), G_open_cell_old(), G_percent(), and G_warning().
Referenced by GS_load_att_map().
int Gs_loadmap_as_int | ( | struct Cell_head * | wind, |
const char * | map_name, | ||
int * | buff, | ||
struct BM * | nullmap, | ||
int * | has_null | ||
) |
Load raster map as integer map.
Calling function must have already allocated space in buff for wind->rows * wind->cols floats.
This routine simply loads the map into a 2d array by repetitve calls to get_f_raster_row.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
[out] | nullmap | null map buffer |
[out] | has_null | indicates if raster map contains null-data |
Definition at line 189 of file Gs3.c.
References BM_set(), G_allocate_null_buf(), G_close_cell(), G_debug(), G_fatal_error(), G_find_cell2(), G_free(), G_fully_qualified_name(), G_get_c_raster_row(), G_get_null_value_row(), G_message(), G_open_cell_old(), G_percent(), and G_warning().
Referenced by GS_load_att_map().
int Gs_loadmap_as_short | ( | struct Cell_head * | wind, |
const char * | map_name, | ||
short * | buff, | ||
struct BM * | nullmap, | ||
int * | has_null | ||
) |
Load raster map as integer map.
Calling function must have already allocated space in buff for wind->rows * wind->cols shorts.
This routine simply loads the map into a 2d array by repetitve calls to get_map_row.
wind | current window | |
map_name | raster map name | |
[out] | buff | data buffer |
[out] | nullmap | null map buffer |
[out] | has_null | indicates if raster map contains null-data |
Definition at line 334 of file Gs3.c.
References BM_set(), G_allocate_null_buf(), G_close_cell(), G_debug(), G_fatal_error(), G_find_cell2(), G_free(), G_fully_qualified_name(), G_get_c_raster_row(), G_get_null_value_row(), G_message(), G_open_cell_old(), G_percent(), and G_warning().
Referenced by GS_load_att_map().
Get map data type.
filename | raster map name |
negflag |
Definition at line 252 of file Gs3.c.
References first, G_debug(), G_find_cell2(), G_get_range_min_max(), G_raster_map_is_fp(), G_read_range(), G_warning(), max, and min.
Referenced by GS_load_att_map().
Pack color table.
Passed an array of 32 bit ints that is converted from cell values to packed colors (0xbbggrr)
filename | raster map name |
buff | |
rows | number of rows |
cols | number of cols |
Definition at line 687 of file Gs3.c.
References b, buff, dialogs::cols, g, G_find_cell2(), G_free(), G_free_colors(), G_fully_qualified_name(), G_lookup_colors(), G_message(), G_percent(), G_read_colors(), G_warning(), NO_DATA_COL, r, and main::set.
Referenced by GS_load_att_map().
Pack color table (floating-point map)
Passed a array of floats that will be converted from cell values to packed colors (0xbbggrr) and float to int Floating point data not freed here, use: gsds_free_data_buff(id, ATTY_FLOAT)
filename | raster map name |
fbuf | |
ibuf | |
rows | number of rows |
cols | number of cols |
Definition at line 756 of file Gs3.c.
References b, dialogs::cols, g, G_find_cell2(), G_free(), G_free_colors(), G_fully_qualified_name(), G_lookup_f_raster_colors(), G_message(), G_percent(), G_read_colors(), G_warning(), NO_DATA_COL, r, and main::set.
Referenced by GS_load_att_map().
int Gs_save_3dview | ( | const char * | vname, |
geoview * | gv, | ||
geodisplay * | gd, | ||
struct Cell_head * | w, | ||
geosurf * | defsurf | ||
) |
Save 3dview.
vname | view name |
gv | pointer to geoview struct |
gd | pointer to geodisplay struct |
w | current window |
defsurf | default geosurf struct |
Definition at line 906 of file Gs3.c.
References FROM, G_get_3dview_defaults(), G_mapset(), G_put_3dview(), GS_get_zrange(), GS_v3eq(), GS_v3mult(), gsd_model2real(), NULL, X, and Y.
Referenced by GS_save_3dview().
Update no_zero ranges for attribute (actually no_null now)
gs | pointer to geosurf struct |
desc | attribute id (descriptor) |
Definition at line 1140 of file Gs3.c.
References G_debug(), gs_get_att_src(), gsds_get_changed(), gsds_get_typbuff(), INIT_MINMAX, max, min, NULL, SET_MINMAX, and tools::size.
Referenced by GS_load_att_map(), gs_set_att_const(), and GS_set_att_const().