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 52 53 54 55 56 57 58 59 60 61 62 63 64
|
/*!
\file lib/vector/Vlib/type.c
\brief Vector library - feature type
Higher level functions for reading/writing/manipulating vectors.
(C) 2001-2009 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 Radim Blazek
*/
#include <grass/vector.h>
/*!
\brief Get types from options
\param type_opt Option structure
\return types
\return -1 on error
*/
int Vect_option_to_types(const struct Option *type_opt)
{
int i, type;
type = 0;
for (i = 0; type_opt->answers[i]; i++) {
if (strcmp(type_opt->answers[i], "auto") == 0)
continue;
switch (type_opt->answers[i][0]) {
case 'p':
type |= GV_POINT;
break;
case 'l':
type |= GV_LINE;
break;
case 'b':
type |= GV_BOUNDARY;
break;
case 'c':
type |= GV_CENTROID;
break;
case 'f':
type |= GV_FACE;
break;
case 'k':
type |= GV_KERNEL;
break;
case 'a':
type |= GV_AREA;
break;
case 'v':
type |= GV_VOLUME;
break;
}
}
return type;
}
|