瀏覽代碼

veditlib: bug fix in Vedit_connect_lines()
(merge from devbr6, https://trac.osgeo.org/grass/changeset/33083)


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@33084 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa 17 年之前
父節點
當前提交
8976057055
共有 1 個文件被更改,包括 7 次插入3 次删除
  1. 7 3
      lib/vector/vedit/break.c

+ 7 - 3
lib/vector/vedit/break.c

@@ -266,10 +266,14 @@ int connect_lines(struct Map_info *Map, int first, int line_from, int line_to,
 				       NULL, NULL, NULL, &angle_t,
 				       NULL) > 0) {
 		    angle = angle_t - angle_f;
-		    dist_p = dist / sin(angle);
+		    dist_p = fabs(dist / sin(angle));
 		    
-		    if (first)
-			angle_f -= M_PI;
+		    if (first) {
+			if (angle_f < 0)
+			    angle_f -= M_PI;
+			else
+			    angle_f += M_PI;
+		    }
 
 		    x1 = x + dist_p * cos(angle_f);
 		    y1 = y + dist_p * sin(angle_f);