[GRASS-SVN] r34757 - grass/trunk/vector/v.select
svn_grass at osgeo.org
svn_grass at osgeo.org
Sat Dec 6 14:58:27 EST 2008
Author: martinl
Date: 2008-12-06 14:58:26 -0500 (Sat, 06 Dec 2008)
New Revision: 34757
Modified:
grass/trunk/vector/v.select/main.c
Log:
v.select: 'reverse selection' flag added
don't check intersection for points
more guisections
(merge from devbr6, r34756)
Modified: grass/trunk/vector/v.select/main.c
===================================================================
--- grass/trunk/vector/v.select/main.c 2008-12-06 19:57:15 UTC (rev 34756)
+++ grass/trunk/vector/v.select/main.c 2008-12-06 19:58:26 UTC (rev 34757)
@@ -81,6 +81,10 @@
}
}
+ /* Skip points */
+ if (LPoints->n_points < 2)
+ return 0;
+
/* Try intersections of line with area/isles boundary */
/* Outer boundary */
Vect_get_area_points(AMap, area, APoints);
@@ -115,7 +119,7 @@
struct GModule *module;
struct Option *in_opt[2], *out_opt, *type_opt[2], *field_opt[2],
*operator_opt;
- struct Flag *table_flag;
+ struct Flag *table_flag, *r_flag;
struct Map_info In[2], Out;
struct field_info *IFi, *OFi;
struct line_pnts *APoints, *BPoints;
@@ -140,10 +144,12 @@
type_opt[0] = G_define_standard_option(G_OPT_V_TYPE);
type_opt[0]->label = _("Feature type (vector map A)");
type_opt[0]->key = "atype";
+ type_opt[0]->guisection = _("Selection");
field_opt[0] = G_define_standard_option(G_OPT_V_FIELD);
field_opt[0]->label = _("Layer number (vector map A)");
field_opt[0]->key = "alayer";
+ field_opt[0]->guisection = _("Selection");
in_opt[1] = G_define_standard_option(G_OPT_V_INPUT);
in_opt[1]->description = _("Name of input vector map (B)");
@@ -152,11 +158,13 @@
type_opt[1] = G_define_standard_option(G_OPT_V_TYPE);
type_opt[1]->label = _("Feature type (vector map B)");
type_opt[1]->key = "btype";
-
+ type_opt[1]->guisection = _("Selection");
+
field_opt[1] = G_define_standard_option(G_OPT_V_FIELD);
field_opt[1]->label = _("Layer number (vector map B)");
field_opt[1]->key = "blayer";
-
+ field_opt[1]->guisection = _("Selection");
+
out_opt = G_define_standard_option(G_OPT_V_OUTPUT);
operator_opt = G_define_option();
@@ -177,6 +185,11 @@
table_flag->key = 't';
table_flag->description = _("Do not create attribute table");
+ r_flag = G_define_flag();
+ r_flag->key = 'r';
+ r_flag->description = _("Reverse selection");
+ r_flag->guisection = _("Selection");
+
if (G_parser(argc, argv))
exit(EXIT_FAILURE);
@@ -428,7 +441,8 @@
G_debug(4, "aline = %d ALines[aline] = %d", aline, ALines[aline]);
G_percent(aline, nalines, 2);
- if (!(ALines[aline]))
+ if ((!r_flag->answer && !(ALines[aline])) ||
+ (r_flag->answer && ALines[aline]))
continue;
atype = Vect_read_line(&(In[0]), APoints, ACats, aline);
More information about the grass-commit
mailing list