GRASS GIS 8 Programmer's Manual 8.4.1(2025)-45ca3179ab
|
OGSF library - loading and manipulating volumes. More...
#include <string.h>
#include <grass/gis.h>
#include <grass/raster3d.h>
#include <grass/ogsf.h>
#include <grass/glocale.h>
#include "gsget.h"
Go to the source code of this file.
Functions | |
void | GVL_libinit (void) |
Library initialization for volumes. | |
void | GVL_init_region (void) |
Initialize 3D region. | |
int | GVL_get_region (float *n, float *s, float *w, float *e, float *t, float *b) |
Get region extent settings. | |
void * | GVL_get_window (void) |
Get window. | |
int | GVL_vol_exists (int id) |
Check if volume set exists. | |
int | GVL_new_vol (void) |
Create new volume set. | |
int | GVL_num_vols (void) |
Get number of loaded volume sets. | |
int * | GVL_get_vol_list (int *numvols) |
Get list of loaded volume sets. | |
int | GVL_delete_vol (int id) |
Delete volume set from list. | |
int | GVL_load_vol (int id, const char *filename) |
Load 3d raster map to volume set. | |
int | GVL_get_volname (int id, char *filename) |
Get volume set name. | |
void | GVL_get_dims (int id, int *rows, int *cols, int *depths) |
Get volume dimensions. | |
void | GVL_set_trans (int id, float xtrans, float ytrans, float ztrans) |
Set trans ? | |
int | GVL_get_trans (int id, float *xtrans, float *ytrans, float *ztrans) |
Get trans ? | |
void | GVL_set_draw_wire (int id, int draw_wire) |
Set drawing wire box. | |
void | GVL_draw_vol (int vid) |
Draw volume set. | |
void | GVL_draw_wire (int id) |
Draw volume in wire mode. | |
void | GVL_alldraw_vol (void) |
Draw all volume sets. | |
void | GVL_alldraw_wire (void) |
Draw all volume sets in wire mode. | |
int | GVL_Set_ClientData (int id, void *clientd) |
Set client data for volume set. | |
void * | GVL_Get_ClientData (int id) |
Get client data. | |
void | GVL_set_focus_center_map (int id) |
Set focus on map center. | |
void | GVL_isosurf_get_drawres (int id, int *xres, int *yres, int *zres) |
Get draw resolution for isosurface. | |
int | GVL_isosurf_set_drawres (int id, int xres, int yres, int zres) |
Set isosurface draw resolution. | |
int | GVL_isosurf_get_drawmode (int id, int *mode) |
Get isosurface draw mode. | |
int | GVL_isosurf_set_drawmode (int id, int mode) |
Set isosurface draw mode. | |
int | GVL_isosurf_add (int id) |
Add isosurface. | |
int | GVL_isosurf_del (int id, int isosurf_id) |
Delete isosurface. | |
int | GVL_isosurf_move_up (int id, int isosurf_id) |
Move up isosurface in list. | |
int | GVL_isosurf_move_down (int id, int isosurf_id) |
Move down isosurface in list. | |
int | GVL_isosurf_get_att (int id, int isosurf_id, int att, int *set, float *constant, char *mapname) |
Get isosurface attributes. | |
int | GVL_isosurf_unset_att (int id, int isosurf_id, int att) |
Unset isosurface attributes. | |
int | GVL_isosurf_set_att_const (int id, int isosurf_id, int att, float constant) |
Set constant isosurface attribute. | |
int | GVL_isosurf_set_att_map (int id, int isosurf_id, int att, const char *filename) |
Set isosurface map attribute. | |
int | GVL_isosurf_get_flags (int id, int isosurf_id, int *inout) |
Get isosurface flags. | |
int | GVL_isosurf_set_flags (int id, int isosurf_id, int inout) |
Set isosurface flags. | |
int | GVL_isosurf_num_isosurfs (int id) |
Get number of available isosurfaces. | |
int | GVL_isosurf_set_maskmode (int id, int isosurf_id, int mode) |
Set mask attribute mode. | |
int | GVL_isosurf_get_maskmode (int id, int isosurf_id, int *mode) |
Get isosurface mask mode. | |
void | GVL_slice_get_drawres (int id, int *xres, int *yres, int *zres) |
Get draw resolution of slice. | |
int | GVL_slice_set_drawres (int id, int xres, int yres, int zres) |
Set slice draw resolution. | |
int | GVL_slice_get_drawmode (int id, int *mode) |
Get slice draw mode. | |
int | GVL_slice_set_drawmode (int id, int mode) |
Set slice draw mode. | |
int | GVL_slice_add (int id) |
Add slice. | |
int | GVL_slice_del (int id, int slice_id) |
Delete slice. | |
int | GVL_slice_move_up (int id, int slice_id) |
Move up slice. | |
int | GVL_slice_move_down (int id, int slice_id) |
Move down slice. | |
int | GVL_slice_num_slices (int id) |
Get number or slices. | |
int | GVL_slice_get_pos (int id, int slice_id, float *x1, float *x2, float *y1, float *y2, float *z1, float *z2, int *dir) |
Get slice position. | |
int | GVL_slice_set_pos (int id, int slice_id, float x1, float x2, float y1, float y2, float z1, float z2, int dir) |
Get slice position. | |
int | GVL_slice_get_transp (int id, int slice_id, int *transp) |
Get slice trans ? | |
int | GVL_slice_set_transp (int id, int slice_id, int transp) |
Set slice trans ? | |
OGSF library - loading and manipulating volumes.
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 gvl2.c.
void GVL_alldraw_vol | ( | void | ) |
Draw all volume sets.
Definition at line 441 of file gvl2.c.
References GVL_draw_vol().
Referenced by gk_follow_frames(), and GK_show_vol().
void GVL_alldraw_wire | ( | void | ) |
Draw all volume sets in wire mode.
Definition at line 455 of file gvl2.c.
References GVL_draw_wire().
Referenced by Nviz_draw_quick().
int GVL_delete_vol | ( | int | id | ) |
Delete volume set from list.
id | volume set id |
Definition at line 210 of file gvl2.c.
References G_debug(), gvl_delete_vol(), GVL_isosurf_del(), GVL_isosurf_num_isosurfs(), GVL_slice_del(), GVL_slice_num_slices(), and GVL_vol_exists().
Referenced by Nviz_new_map_obj().
void GVL_draw_vol | ( | int | vid | ) |
Draw volume set.
vid | volume set id |
Definition at line 402 of file gvl2.c.
References gvl_get_vol(), gvld_vol(), and gvld_wind3_box().
Referenced by GVL_alldraw_vol(), and Nviz_draw_all_vol().
void GVL_draw_wire | ( | int | id | ) |
Draw volume in wire mode.
id | volume set id |
Definition at line 423 of file gvl2.c.
References G_debug(), gvl_get_vol(), and gvld_wire_vol().
Referenced by GVL_alldraw_wire().
void * GVL_Get_ClientData | ( | int | id | ) |
Get client data.
id | volume set id |
Definition at line 498 of file gvl2.c.
References gvl_get_vol(), and NULL.
void GVL_get_dims | ( | int | id, |
int * | rows, | ||
int * | cols, | ||
int * | depths ) |
Get volume dimensions.
id | volume set id | |
[out] | rows,cols,depths | number of rows, cols, depths |
Definition at line 309 of file gvl2.c.
References G_debug(), and gvl_get_vol().
Referenced by Nviz_set_volume_attr_default().
int GVL_get_region | ( | float * | n, |
float * | s, | ||
float * | w, | ||
float * | e, | ||
float * | t, | ||
float * | b ) |
int GVL_get_trans | ( | int | id, |
float * | xtrans, | ||
float * | ytrans, | ||
float * | ztrans ) |
Get trans ?
id | volume set id | |
[out] | xtrans,ytrans,ztrans | x/y/z trans values |
Definition at line 359 of file gvl2.c.
References gvl_get_vol().
int * GVL_get_vol_list | ( | int * | numvols | ) |
Get list of loaded volume sets.
Must be freed if not needed!
[out] | numvols | number of volume sets |
Definition at line 181 of file gvl2.c.
References NULL.
Referenced by Nviz_draw_all_vol(), and Nviz_set_focus_map().
int GVL_get_volname | ( | int | id, |
char * | filename ) |
Get volume set name.
id | volume set id | |
[out] | filename | name (must be allocated) |
Definition at line 286 of file gvl2.c.
References gvl_file_get_name(), gvl_get_vol(), NULL, and strcpy.
void * GVL_get_window | ( | void | ) |
void GVL_init_region | ( | void | ) |
int GVL_isosurf_add | ( | int | id | ) |
Add isosurface.
id | volume set id |
Definition at line 661 of file gvl2.c.
References G_debug(), gvl_get_vol(), and gvl_isosurf_init().
int GVL_isosurf_del | ( | int | id, |
int | isosurf_id ) |
Delete isosurface.
id | volume set id |
isosurf_id | isosurface id |
Definition at line 698 of file gvl2.c.
References G_debug(), G_free(), gvl_get_vol(), gvl_isosurf_freemem(), and gvl_isosurf_get_isosurf().
Referenced by GVL_delete_vol().
int GVL_isosurf_get_att | ( | int | id, |
int | isosurf_id, | ||
int | att, | ||
int * | set, | ||
float * | constant, | ||
char * | mapname ) |
Get isosurface attributes.
id | volume set id | |
isosurf_id | surface id | |
att | attribute id | |
[out] | set | |
[out] | constant | |
[out] | mapname |
Definition at line 809 of file gvl2.c.
References G_debug(), gvl_file_get_name(), gvl_isosurf_get_att_src(), gvl_isosurf_get_isosurf(), and strcpy.
int GVL_isosurf_get_drawmode | ( | int | id, |
int * | mode ) |
Get isosurface draw mode.
id | volume set id | |
[out] | mode | draw-mode |
Definition at line 612 of file gvl2.c.
References gvl_get_vol().
void GVL_isosurf_get_drawres | ( | int | id, |
int * | xres, | ||
int * | yres, | ||
int * | zres ) |
Get draw resolution for isosurface.
id | volume set id | |
[out] | xres,yres,zres | x/y/z resolution value |
Definition at line 549 of file gvl2.c.
References G_debug(), and gvl_get_vol().
int GVL_isosurf_get_flags | ( | int | id, |
int | isosurf_id, | ||
int * | inout ) |
Get isosurface flags.
id | volume set id | |
isosurf_id | isosurface id | |
[out] | inout | map name |
Definition at line 951 of file gvl2.c.
References G_debug(), and gvl_isosurf_get_isosurf().
int GVL_isosurf_get_maskmode | ( | int | id, |
int | isosurf_id, | ||
int * | mode ) |
Get isosurface mask mode.
id | volume set id |
isosurf_id | isosurface id |
mode | attribute mode |
Definition at line 1056 of file gvl2.c.
References gvl_isosurf_get_isosurf().
int GVL_isosurf_move_down | ( | int | id, |
int | isosurf_id ) |
Move down isosurface in list.
id | volume set id |
isosurf_id | isosurface id |
Definition at line 771 of file gvl2.c.
References G_debug(), and gvl_get_vol().
int GVL_isosurf_move_up | ( | int | id, |
int | isosurf_id ) |
Move up isosurface in list.
id | volume set id |
isosurf_id | isosurface id |
Definition at line 737 of file gvl2.c.
References G_debug(), and gvl_get_vol().
int GVL_isosurf_num_isosurfs | ( | int | id | ) |
Get number of available isosurfaces.
id | volume set id |
Definition at line 1002 of file gvl2.c.
References G_debug(), and gvl_get_vol().
Referenced by GVL_delete_vol().
int GVL_isosurf_set_att_const | ( | int | id, |
int | isosurf_id, | ||
int | att, | ||
float | constant ) |
Set constant isosurface attribute.
Attributes:
id | volume set id |
isosurf_id | isosurface id (0 - MAX_ISOSURFS) |
att | attribute descriptor |
constant | constant value |
Definition at line 884 of file gvl2.c.
References G_debug(), gvl_isosurf_get_isosurf(), and gvl_isosurf_set_att_const().
int GVL_isosurf_set_att_map | ( | int | id, |
int | isosurf_id, | ||
int | att, | ||
const char * | filename ) |
Set isosurface map attribute.
Attributes:
id | volume set id |
isosurf_id | isosurface id (0 - MAX_ISOSURFS) |
att | attribute descriptor |
filename | map name |
Definition at line 922 of file gvl2.c.
References G_debug(), gvl_isosurf_get_isosurf(), and gvl_isosurf_set_att_map().
int GVL_isosurf_set_drawmode | ( | int | id, |
int | mode ) |
Set isosurface draw mode.
id | volume set id |
mode | draw mode |
Definition at line 636 of file gvl2.c.
References G_debug(), and gvl_get_vol().
Referenced by Nviz_set_volume_attr_default().
int GVL_isosurf_set_drawres | ( | int | id, |
int | xres, | ||
int | yres, | ||
int | zres ) |
Set isosurface draw resolution.
id | volume set id |
xres,yres,zres | x/y/z resolution value |
Definition at line 575 of file gvl2.c.
References G_debug(), gvl_get_vol(), and gvl_isosurf_set_att_changed().
Referenced by Nviz_set_volume_attr_default().
int GVL_isosurf_set_flags | ( | int | id, |
int | isosurf_id, | ||
int | inout ) |
Set isosurface flags.
id | volume set id |
isosurf_id | isosurface id |
inout | map name |
Definition at line 977 of file gvl2.c.
References G_debug(), and gvl_isosurf_get_isosurf().
int GVL_isosurf_set_maskmode | ( | int | id, |
int | isosurf_id, | ||
int | mode ) |
Set mask attribute mode.
Mask attribute special: constant is set to indicate invert or no
id | volume set id |
isosurf_id | isosurface id |
mode | attribute mode |
Definition at line 1029 of file gvl2.c.
References G_debug(), and gvl_isosurf_get_isosurf().
int GVL_isosurf_unset_att | ( | int | id, |
int | isosurf_id, | ||
int | att ) |
Unset isosurface attributes.
id | volume set id |
isosurface_id | isosurface id |
att | attribute id |
Definition at line 849 of file gvl2.c.
References G_debug(), gvl_isosurf_get_isosurf(), and gvl_isosurf_set_att_src().
void GVL_libinit | ( | void | ) |
int GVL_load_vol | ( | int | id, |
const char * | filename ) |
Load 3d raster map to volume set.
id | volume set id |
filename | 3d raster map name |
Definition at line 256 of file gvl2.c.
References G_debug(), G_message(), gvl_file_newh(), gvl_get_vol(), and NULL.
Referenced by Nviz_new_map_obj().
int GVL_new_vol | ( | void | ) |
Create new volume set.
Definition at line 136 of file gvl2.c.
References G_debug(), gvl_get_new_vol(), and gvl_init_vol().
Referenced by Nviz_new_map_obj().
int GVL_num_vols | ( | void | ) |
Get number of loaded volume sets.
Definition at line 166 of file gvl2.c.
References gvl_num_vols().
Referenced by Nviz_new_map_obj(), and Nviz_set_focus_map().
int GVL_Set_ClientData | ( | int | id, |
void * | clientd ) |
Set client data for volume set.
id | volume set id |
clientd | pointer to client data |
Definition at line 475 of file gvl2.c.
References gvl_get_vol().
void GVL_set_draw_wire | ( | int | id, |
int | draw_wire ) |
Set drawing wire box.
id | volume set id |
draw_wire | 1 for drawing wire, 0 otherwise |
Definition at line 382 of file gvl2.c.
References G_debug(), and gvl_get_vol().
void GVL_set_focus_center_map | ( | int | id | ) |
Set focus on map center.
id | volume set id |
Definition at line 516 of file gvl2.c.
References G_debug(), GS_set_focus(), gvl_get_vol(), X, and Y.
Referenced by Nviz_set_focus_map().
void GVL_set_trans | ( | int | id, |
float | xtrans, | ||
float | ytrans, | ||
float | ztrans ) |
Set trans ?
id | volume set id |
xtrans,ytrans,ztrans | x/y/z trans values |
Definition at line 333 of file gvl2.c.
References G_debug(), and gvl_get_vol().
int GVL_slice_add | ( | int | id | ) |
Add slice.
id | volume set id |
Definition at line 1194 of file gvl2.c.
References G_debug(), gvl_get_vol(), gvl_slice_init(), and NULL.
int GVL_slice_del | ( | int | id, |
int | slice_id ) |
Delete slice.
id | volume set id |
slice_id | slice id |
Definition at line 1230 of file gvl2.c.
References G_debug(), G_free(), gvl_get_vol(), gvl_slice_freemem(), and gvl_slice_get_slice().
Referenced by GVL_delete_vol().
int GVL_slice_get_drawmode | ( | int | id, |
int * | mode ) |
Get slice draw mode.
id | volume set id | |
[out] | mode | draw mode |
Definition at line 1145 of file gvl2.c.
References gvl_get_vol().
void GVL_slice_get_drawres | ( | int | id, |
int * | xres, | ||
int * | yres, | ||
int * | zres ) |
Get draw resolution of slice.
id | volume set id | |
[out] | xres,yres,zres | x/y/z resolution value |
Definition at line 1082 of file gvl2.c.
References G_debug(), and gvl_get_vol().
int GVL_slice_get_pos | ( | int | id, |
int | slice_id, | ||
float * | x1, | ||
float * | x2, | ||
float * | y1, | ||
float * | y2, | ||
float * | z1, | ||
float * | z2, | ||
int * | dir ) |
Get slice position.
id | volume set id | |
slice_id | slice id | |
[out] | x1,y1,z1 | coordinates ? |
[out] | x2,y2,z2 | coordinates ? |
[out] | dir | direction |
Definition at line 1363 of file gvl2.c.
References gvl_get_vol(), gvl_slice_get_slice(), X, and Y.
int GVL_slice_get_transp | ( | int | id, |
int | slice_id, | ||
int * | transp ) |
Get slice trans ?
id | volume set id | |
slice_id | slice id | |
[out] | transp | transp value |
Definition at line 1483 of file gvl2.c.
References G_debug(), and gvl_slice_get_slice().
int GVL_slice_move_down | ( | int | id, |
int | slice_id ) |
Move down slice.
id | volume set id |
slice_id | slice id |
Definition at line 1303 of file gvl2.c.
References G_debug(), and gvl_get_vol().
int GVL_slice_move_up | ( | int | id, |
int | slice_id ) |
Move up slice.
id | volume set id |
slice_id | slice id |
Definition at line 1269 of file gvl2.c.
References G_debug(), and gvl_get_vol().
int GVL_slice_num_slices | ( | int | id | ) |
Get number or slices.
id | volume set id |
Definition at line 1336 of file gvl2.c.
References G_debug(), and gvl_get_vol().
Referenced by GVL_delete_vol().
int GVL_slice_set_drawmode | ( | int | id, |
int | mode ) |
Set slice draw mode.
id | volume set id |
mode | draw mode |
Definition at line 1169 of file gvl2.c.
References G_debug(), and gvl_get_vol().
Referenced by Nviz_set_volume_attr_default().
int GVL_slice_set_drawres | ( | int | id, |
int | xres, | ||
int | yres, | ||
int | zres ) |
Set slice draw resolution.
id | volume set id |
xres,yres,zres | x/y/z resolution value |
Definition at line 1108 of file gvl2.c.
References G_debug(), and gvl_get_vol().
Referenced by Nviz_set_volume_attr_default().
int GVL_slice_set_pos | ( | int | id, |
int | slice_id, | ||
float | x1, | ||
float | x2, | ||
float | y1, | ||
float | y2, | ||
float | z1, | ||
float | z2, | ||
int | dir ) |
Get slice position.
id | volume set id |
slice_id | slice id |
x1,y1,z1 | coordinates ? |
x2,y2,z2 | coordinates ? |
dir | direction |
Definition at line 1423 of file gvl2.c.
References gvl_get_vol(), gvl_slice_get_slice(), X, and Y.
int GVL_slice_set_transp | ( | int | id, |
int | slice_id, | ||
int | transp ) |
Set slice trans ?
id | volume set id |
slice_id | slice id |
transp | transp value |
Definition at line 1509 of file gvl2.c.
References G_debug(), and gvl_slice_get_slice().
int GVL_vol_exists | ( | int | id | ) |
Check if volume set exists.
id | volume set id |
Definition at line 111 of file gvl2.c.
References G_debug(), gvl_get_vol(), and NULL.
Referenced by GVL_delete_vol().