GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gvl.c File Reference

OGSF library - loading and manipulating volumes (lower level functions) More...

#include <stdlib.h>
#include <grass/gis.h>
#include <grass/gstypes.h>
#include "gsget.h"
Include dependency graph for gvl.c:

Go to the source code of this file.

Macros

#define FIRST_VOL_ID   81721
 

Functions

geovol * gvl_get_vol (int id)
 Get volume set structure. More...
 
geovol * gvl_get_prev_vol (int id)
 Get previous volume. More...
 
int gvl_getall_vols (geovol **gvols)
 Get all volumes. More...
 
int gvl_num_vols (void)
 Get number of loaded volume sets. More...
 
geovol * gvl_get_last_vol (void)
 Get last volume set from the list. More...
 
geovol * gvl_get_new_vol (void)
 Allocate new volume set and add it to the list. More...
 
int gvl_init_vol (geovol *gvl, double ox, double oy, double oz, int rows, int cols, int depths, double xres, double yres, double zres)
 Initialize geovol structure. More...
 
void gvl_delete_vol (int id)
 Remove volume set from list. More...
 
int gvl_free_vol (geovol *fvl)
 Free geovol struct. More...
 
void gvl_free_volmem (geovol *fvl)
 Free geovol struct memory. More...
 
void print_vol_fields (geovol *gvl)
 Debug volume fields. More...
 
int gvl_get_xextents (geovol *gvl, float *min, float *max)
 Get volume x-extent value. More...
 
int gvl_get_yextents (geovol *gvl, float *min, float *max)
 Get volume y-extent value. More...
 
int gvl_get_zextents (geovol *gvl, float *min, float *max)
 Get volume z-extent value. More...
 
int gvl_get_xrange (float *min, float *max)
 Get volume x-range value. More...
 
int gvl_get_yrange (float *min, float *max)
 Get volume y-range value. More...
 
int gvl_get_zrange (float *min, float *max)
 Get volume z-range value. More...
 
int gvl_isosurf_init (geovol_isosurf *isosurf)
 Initialize geovol_isosurf struct. More...
 
int gvl_isosurf_freemem (geovol_isosurf *isosurf)
 Free geovol_isosurf struct. More...
 
geovol_isosurf * gvl_isosurf_get_isosurf (int id, int isosurf_id)
 Get isosurface of given volume set. More...
 
int gvl_isosurf_get_att_src (geovol_isosurf *isosurf, int desc)
 Get attribute source. More...
 
int gvl_isosurf_set_att_src (geovol_isosurf *isosurf, int desc, int src)
 Set attribute source. More...
 
int gvl_isosurf_set_att_const (geovol_isosurf *isosurf, int desc, float constant)
 Set isosurface attribute constant. More...
 
int gvl_isosurf_set_att_map (geovol_isosurf *isosurf, int desc, const char *filename)
 Set attribute map. More...
 
int gvl_isosurf_set_att_changed (geovol_isosurf *isosurf, int desc)
 Set attribute changed. More...
 
int gvl_slice_init (geovol_slice *slice)
 Initialize geovol_slice struct. More...
 
int gvl_slice_freemem (geovol_slice *slice)
 Free geovol_slice struct. More...
 
geovol_slice * gvl_slice_get_slice (int id, int slice_id)
 Get geovol_slice struct. More...
 

Detailed Description

OGSF library - loading and manipulating volumes (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.

Author
Bill Brown, UI-GMSL (May 1997)
Tomas Paudits (February 2004)
Doxygenized by Martin Landa <landa.martin gmail.com> (May 2008)

Definition in file gvl.c.

Macro Definition Documentation

#define FIRST_VOL_ID   81721

Definition at line 27 of file gvl.c.

Referenced by gvl_get_new_vol().

Function Documentation

void gvl_delete_vol ( int  id)

Remove volume set from list.

Parameters
idvolume set id

Definition at line 241 of file gvl.c.

References G_debug(), gvl_free_vol(), and gvl_get_vol().

Referenced by GVL_delete_vol().

int gvl_free_vol ( geovol *  fvl)

Free geovol struct.

Parameters
fvlpointer to geovol struct
Returns
-1 on failure
1 on success

Definition at line 264 of file gvl.c.

References G_debug(), G_free(), gvl_free_volmem(), and NULL.

Referenced by gvl_delete_vol().

void gvl_free_volmem ( geovol *  fvl)

Free geovol struct memory.

Parameters
fvlpointer to geovol struct

Definition at line 313 of file gvl.c.

References gvl_file_free_datah().

Referenced by gvl_free_vol().

geovol* gvl_get_last_vol ( void  )

Get last volume set from the list.

Returns
pointer to geovol struct
NULL on failure

Definition at line 122 of file gvl.c.

References G_debug(), and NULL.

Referenced by gvl_get_new_vol().

geovol* gvl_get_new_vol ( void  )

Allocate new volume set and add it to the list.

Returns
pointer to geovol struct
NULL on failure

Definition at line 145 of file gvl.c.

References FIRST_VOL_ID, G_debug(), gvl_get_last_vol(), and NULL.

Referenced by GVL_new_vol().

geovol* gvl_get_prev_vol ( int  id)

Get previous volume.

Parameters
idcurrent volume set id
Returns
pointer to geovol struct
NULL on failure

Definition at line 63 of file gvl.c.

References G_debug(), and NULL.

int gvl_get_xextents ( geovol *  gvl,
float *  min,
float *  max 
)

Get volume x-extent value.

Parameters
gvlpointer to geovol struct
[out]minx-min value
[out]maxy-max value
Returns
1

Definition at line 351 of file gvl.c.

Referenced by gvl_get_xrange().

int gvl_get_xrange ( float *  min,
float *  max 
)

Get volume x-range value.

Parameters
[out]minx-min value
[out]maxx-max value
Returns
1

Definition at line 401 of file gvl.c.

References gvl_get_xextents().

int gvl_get_yextents ( geovol *  gvl,
float *  min,
float *  max 
)

Get volume y-extent value.

Parameters
gvlpointer to geovol struct
[out]miny-min value
[out]maxy-max value
Returns
1

Definition at line 368 of file gvl.c.

Referenced by gvl_get_yrange().

int gvl_get_yrange ( float *  min,
float *  max 
)

Get volume y-range value.

Parameters
[out]miny-min value
[out]maxy-max value
Returns
1

Definition at line 438 of file gvl.c.

References gvl_get_yextents().

int gvl_get_zextents ( geovol *  gvl,
float *  min,
float *  max 
)

Get volume z-extent value.

Parameters
gvlpointer to geovol struct
[out]minz-min value
[out]maxz-max value
Returns
1

Definition at line 385 of file gvl.c.

Referenced by gvl_get_zrange().

int gvl_get_zrange ( float *  min,
float *  max 
)

Get volume z-range value.

Parameters
[out]minz-min value
[out]maxz-max value
Returns
1

Definition at line 475 of file gvl.c.

References gvl_get_zextents().

Referenced by GS_get_zrange().

int gvl_getall_vols ( geovol **  gvols)

Get all volumes.

Parameters
[out]listof geovol structs
Returns
number of available volume sets

Definition at line 85 of file gvl.c.

References G_debug().

int gvl_init_vol ( geovol *  gvl,
double  ox,
double  oy,
double  oz,
int  rows,
int  cols,
int  depths,
double  xres,
double  yres,
double  zres 
)

Initialize geovol structure.

Parameters
gvlpointer to geovol struct
ox,oy,oz
rowsnumber of rows
colsnumber of cols
xres,yres,zresx/y/z resolution value
Returns
-1 on failure
1 on success

Definition at line 184 of file gvl.c.

References dialogs::cols, G_debug(), G_zero(), and NULL.

Referenced by GVL_new_vol().

int gvl_isosurf_freemem ( geovol_isosurf *  isosurf)

Free geovol_isosurf struct.

Parameters
isosurfpointer to geovol_isosurf struct
Returns
-1 on failure
1 on success

Definition at line 550 of file gvl.c.

References G_debug(), G_free(), and gvl_isosurf_set_att_src().

Referenced by GVL_isosurf_del().

int gvl_isosurf_get_att_src ( geovol_isosurf *  isosurf,
int  desc 
)

Get attribute source.

Parameters
isosurfpointer to geovol_isosurf struct
descattribute id
Returns
-1 on failure
attribute value

Definition at line 605 of file gvl.c.

References G_debug().

Referenced by GVL_isosurf_get_att(), and gvl_isosurf_set_att_src().

geovol_isosurf* gvl_isosurf_get_isosurf ( int  id,
int  isosurf_id 
)

Get isosurface of given volume set.

Parameters
idvolume set id
isosurf_idisosurface id (0 - MAX_ISOSURFS)
Returns
pointer to geovol_isosurf struct
NULL on failure

Definition at line 577 of file gvl.c.

References G_debug(), gvl_get_vol(), and NULL.

Referenced by GVL_isosurf_del(), GVL_isosurf_get_att(), GVL_isosurf_get_flags(), GVL_isosurf_get_maskmode(), GVL_isosurf_set_att_const(), GVL_isosurf_set_att_map(), GVL_isosurf_set_flags(), GVL_isosurf_set_maskmode(), and GVL_isosurf_unset_att().

int gvl_isosurf_init ( geovol_isosurf *  isosurf)

Initialize geovol_isosurf struct.

Parameters
isosurfpointer to geovol_isosurf struct
Returns
-1 on failure
1 on success

Definition at line 517 of file gvl.c.

References G_debug(), and NULL.

Referenced by GVL_isosurf_add().

int gvl_isosurf_set_att_changed ( geovol_isosurf *  isosurf,
int  desc 
)

Set attribute changed.

Parameters
isosurfpointer to geovol_isosurf struct
descattribute id
Returns
-1 on failure
1 on success

Definition at line 723 of file gvl.c.

References G_debug().

Referenced by gvl_isosurf_set_att_src(), and GVL_isosurf_set_drawres().

int gvl_isosurf_set_att_const ( geovol_isosurf *  isosurf,
int  desc,
float  constant 
)

Set isosurface attribute constant.

Parameters
isosurfpointer to geovol_isosurf struct
descattribute descriptor
constantattribute value
Returns
-1 on failure
1 on success

Definition at line 663 of file gvl.c.

References G_debug(), and gvl_isosurf_set_att_src().

Referenced by GVL_isosurf_set_att_const().

int gvl_isosurf_set_att_map ( geovol_isosurf *  isosurf,
int  desc,
const char *  filename 
)

Set attribute map.

Parameters
isosurfpointer to geovol_isosurf struct
descattribute id
filenamefilename
Returns
-1 on failure
1 on success

Definition at line 690 of file gvl.c.

References G_debug(), gvl_file_newh(), gvl_isosurf_set_att_src(), and Gvl_load_colors_data().

Referenced by GVL_isosurf_set_att_map().

int gvl_isosurf_set_att_src ( geovol_isosurf *  isosurf,
int  desc,
int  src 
)

Set attribute source.

Parameters
isosurfpointer to geovol_isosurf struct
descattribute id
srcattribute value
Returns
-1 on failure
1 on success

Definition at line 630 of file gvl.c.

References G_debug(), gvl_file_free_datah(), gvl_isosurf_get_att_src(), gvl_isosurf_set_att_changed(), and Gvl_unload_colors_data().

Referenced by gvl_isosurf_freemem(), gvl_isosurf_set_att_const(), gvl_isosurf_set_att_map(), and GVL_isosurf_unset_att().

int gvl_num_vols ( void  )

Get number of loaded volume sets.

Returns
number of volumes

Definition at line 104 of file gvl.c.

References G_debug().

Referenced by GVL_num_vols().

int gvl_slice_freemem ( geovol_slice *  slice)

Free geovol_slice struct.

Parameters
slicepointer to geovol_slice struct
Returns
-1 on failure
1 on success

Definition at line 782 of file gvl.c.

References G_debug(), and G_free().

Referenced by GVL_slice_del().

geovol_slice* gvl_slice_get_slice ( int  id,
int  slice_id 
)

Get geovol_slice struct.

Parameters
idvolume set id
slice_idslice id
Returns
pointer to geovol_slice struct
NULL on failure

Definition at line 803 of file gvl.c.

References gvl_get_vol(), and NULL.

Referenced by GVL_slice_del(), GVL_slice_get_pos(), GVL_slice_get_transp(), GVL_slice_set_pos(), and GVL_slice_set_transp().

int gvl_slice_init ( geovol_slice *  slice)

Initialize geovol_slice struct.

Parameters
slicepointer to geovol_slice struct
Returns
-1 on failure
1 on success

Definition at line 756 of file gvl.c.

References G_debug(), and NULL.

Referenced by GVL_slice_add().

void print_vol_fields ( geovol *  gvl)

Debug volume fields.

Parameters
gvlpointer to geovol struct

Definition at line 326 of file gvl.c.

References G_debug().