delete.c 992 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. \file vector/vedit/delete.c
  3. \brief Vedit library - delete primitives
  4. (C) 2007-2008 by the GRASS Development Team
  5. This program is free software under the GNU General Public License
  6. (>=v2). Read the file COPYING that comes with GRASS for details.
  7. \author Martin Landa <landa.martin gmail.com>
  8. \date 2007-2008
  9. */
  10. #include <grass/vedit.h>
  11. /**
  12. \brief Delete selected primitives
  13. \param Map vector map
  14. \param List list of primitives to be deleted
  15. \return number of deleted primitives
  16. \return -1 on on error
  17. */
  18. int Vedit_delete_lines(struct Map_info *Map, struct ilist *List)
  19. {
  20. int i, line;
  21. int nlines_removed;
  22. nlines_removed = 0;
  23. /* delete */
  24. for (i = 0; i < List->n_values; i++) {
  25. line = List->value[i];
  26. if (Vect_line_alive(Map, line)) {
  27. if (Vect_delete_line(Map, line) < 0) {
  28. return -1;
  29. }
  30. G_debug(3, "Vedit_delete_lines(): line=%d", line);
  31. nlines_removed++;
  32. }
  33. }
  34. return nlines_removed;
  35. }