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
|
/*!
\file lib/ogsf/gsget.c
\brief OGSF library - get map attribute (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 USACERL (January 1993)
\author Doxygenized by Martin Landa <landa.martin gmail.com> (May 2008)
*/
#include <grass/ogsf.h>
/*!
\brief Get map attributes
\param buff
\param offset
\param[out] att
\return 0 on failure
\return 1 on success
*/
int get_mapatt(typbuff *buff, int offset, float *att)
{
if (buff->nm) {
if (BM_get(buff->nm, (offset % buff->nm->cols),
(offset / buff->nm->cols))) {
return (0);
}
}
*att = (buff->ib ? (float)buff->ib[offset]
: buff->sb ? (float)buff->sb[offset]
: buff->cb ? (float)buff->cb[offset]
: buff->fb ? (float)buff->fb[offset]
: buff->k);
if (buff->tfunc) {
*att = (buff->tfunc)(*att, offset);
}
return (1);
}
|