[Bf-blender-cvs] [aaf029a30c1] soc-2021-curves: Select adjacent vertices when moving a segment

dilithjay noreply at git.blender.org
Fri Aug 6 05:15:10 CEST 2021


Commit: aaf029a30c16d2460f502eb2d150d817011af2f9
Author: dilithjay
Date:   Thu Aug 5 08:07:21 2021 +0530
Branches: soc-2021-curves
https://developer.blender.org/rBaaf029a30c16d2460f502eb2d150d817011af2f9

Select adjacent vertices when moving a segment

===================================================================

M	release/datafiles/locale
M	release/scripts/addons
M	release/scripts/addons_contrib
M	source/blender/editors/curve/editcurve_pen.c

===================================================================

diff --git a/release/datafiles/locale b/release/datafiles/locale
index 62e82958a76..ca39c1459bc 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 62e82958a760dad775d9b3387d7fb535fd6de4c6
+Subproject commit ca39c1459bcd99300afe3591fa5ffe40f5ba5eef
diff --git a/release/scripts/addons b/release/scripts/addons
index 4475cbd11a6..2aa81ec3365 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 4475cbd11a636382d57571e0f5dfeff1f90bd6b7
+Subproject commit 2aa81ec3365c5ed2478f9783f78a38e77c0ef6c1
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index 788441f2930..98f6085e9d7 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit 788441f2930465bbfba8f0797b12dcef1d46694d
+Subproject commit 98f6085e9d71ba35d41e5aafbcb7981bd7c48275
diff --git a/source/blender/editors/curve/editcurve_pen.c b/source/blender/editors/curve/editcurve_pen.c
index 89ff3ca5eeb..a3218a35f8e 100644
--- a/source/blender/editors/curve/editcurve_pen.c
+++ b/source/blender/editors/curve/editcurve_pen.c
@@ -26,6 +26,7 @@
 
 #include "BLI_blenlib.h"
 #include "BLI_linklist.h"
+#include "BLI_listbase.h"
 #include "BLI_math.h"
 #include "BLI_mempool.h"
 
@@ -667,6 +668,24 @@ static bool is_curve_nearby(ViewContext *vc, wmOperator *op, const wmEvent *even
   return false;
 }
 
+static void deselect_all(Curve *cu)
+{
+  LISTBASE_FOREACH (Nurb *, nu, &(cu->editnurb->nurbs)) {
+    if (nu->type == CU_BEZIER) {
+      BezTriple *bezt = nu->bezt;
+      for (int i = 0; i < nu->pntsu; i++, bezt++) {
+        bezt->f1 = bezt->f2 = bezt->f3 = 0;
+      }
+    }
+    else {
+      BPoint *bp = nu->bp;
+      for (int i = 0; i < nu->pntsu; i++, bp++) {
+        bp->f1 = 0;
+      }
+    }
+  }
+}
+
 /* Move segment to mouse pointer. */
 static void move_segment(MoveSegmentData *seg_data, const wmEvent *event, ViewContext *vc)
 {
@@ -681,6 +700,7 @@ static void move_segment(MoveSegmentData *seg_data, const wmEvent *event, ViewCo
   else {
     bezt2 = bezt1 + 1;
   }
+  bezt1->f1 = bezt1->f2 = bezt1->f3 = bezt2->f1 = bezt2->f2 = bezt2->f3 = 1;
 
   float mouse_point[2] = {(float)event->mval[0], (float)event->mval[1]};
   float mouse_3d[3];
@@ -904,6 +924,7 @@ static int curve_pen_modal(bContext *C, wmOperator *op, const wmEvent *event)
         if (!retval) {
           if (is_curve_nearby(&vc, op, event)) {
             RNA_boolean_set(op->ptr, "moving_segment", true);
+            deselect_all(obedit->data);
             moving_segment = true;
           }
           else {



More information about the Bf-blender-cvs mailing list