ソースを参照

Vlib: temp fix for Vect_break_lines() confirmed

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@55846 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 12 年 前
コミット
4987990615
1 ファイル変更4 行追加6 行削除
  1. 4 6
      lib/vector/Vlib/break_lines.c

+ 4 - 6
lib/vector/Vlib/break_lines.c

@@ -289,6 +289,7 @@ int break_lines(struct Map_info *Map, struct ilist *List_break,
 	    /* bline: line to break */
 
 	    if (j == -1) {
+		/* check first for self-intersections */
 		if (aline <= nlines_org)
 		    bline = aline;
 		else
@@ -319,12 +320,9 @@ int break_lines(struct Map_info *Map, struct ilist *List_break,
 	    if (!break_a && !break_b)
 		continue;
 
-	    /* check intersection of aline with bline only once */
-	    if (0 && break_a && break_b &&
-	        aline > bline &&
-		(!List_ref || b_is_ref)) {
-		continue;
-	    }
+	    /* DO NOT check intersection of aline with bline only once
+	     * because it can happen that one line is broken, but not 
+	     * the other line, in which case some breaks are not detected */
 
 	    G_debug(3, "  j = %d bline = %d", j, bline);