[Bf-blender-cvs] [546b900194f] master: Cleanup/Refactor: Split the snap to increments code

Germano Cavalcante noreply at git.blender.org
Mon Aug 31 16:26:45 CEST 2020


Commit: 546b900194f0f0464d126e1e18ea4fc7c9b1c1ff
Author: Germano Cavalcante
Date:   Mon Aug 31 10:14:40 2020 -0300
Branches: master
https://developer.blender.org/rB546b900194f0f0464d126e1e18ea4fc7c9b1c1ff

Cleanup/Refactor: Split the snap to increments code

Now we have a better distinction of what is snap to grid and what is
snap to increments.

The code also allows the implementation of mixed snap for these modes.

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

M	source/blender/editors/transform/transform.h
M	source/blender/editors/transform/transform_constraints.c
M	source/blender/editors/transform/transform_mode.c
M	source/blender/editors/transform/transform_mode_baketime.c
M	source/blender/editors/transform/transform_mode_bbone_resize.c
M	source/blender/editors/transform/transform_mode_bend.c
M	source/blender/editors/transform/transform_mode_boneenvelope.c
M	source/blender/editors/transform/transform_mode_boneroll.c
M	source/blender/editors/transform/transform_mode_curveshrinkfatten.c
M	source/blender/editors/transform/transform_mode_edge_bevelweight.c
M	source/blender/editors/transform/transform_mode_edge_crease.c
M	source/blender/editors/transform/transform_mode_edge_rotate_normal.c
M	source/blender/editors/transform/transform_mode_edge_seq_slide.c
M	source/blender/editors/transform/transform_mode_edge_slide.c
M	source/blender/editors/transform/transform_mode_gpopacity.c
M	source/blender/editors/transform/transform_mode_gpshrinkfatten.c
M	source/blender/editors/transform/transform_mode_maskshrinkfatten.c
M	source/blender/editors/transform/transform_mode_push_pull.c
M	source/blender/editors/transform/transform_mode_resize.c
M	source/blender/editors/transform/transform_mode_rotate.c
M	source/blender/editors/transform/transform_mode_shear.c
M	source/blender/editors/transform/transform_mode_shrink_fatten.c
M	source/blender/editors/transform/transform_mode_skin_resize.c
M	source/blender/editors/transform/transform_mode_tilt.c
M	source/blender/editors/transform/transform_mode_tosphere.c
M	source/blender/editors/transform/transform_mode_trackball.c
M	source/blender/editors/transform/transform_mode_translate.c
M	source/blender/editors/transform/transform_mode_vert_slide.c
M	source/blender/editors/transform/transform_snap.c
M	source/blender/editors/transform/transform_snap.h

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

diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index 1917d9463f4..6356144d77a 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -79,7 +79,6 @@ typedef struct TransSnap {
   bool project;
   bool snap_self;
   bool peel;
-  bool snap_spatial_grid;
   bool use_backface_culling;
   char status;
   /* Snapped Element Type (currently for objects only). */
diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c
index 4e5eaf4bf51..8a132f89b1c 100644
--- a/source/blender/editors/transform/transform_constraints.c
+++ b/source/blender/editors/transform/transform_constraints.c
@@ -167,7 +167,7 @@ static void postConstraintChecks(TransInfo *t, float vec[3])
 {
   mul_m3_v3(t->spacemtx_inv, vec);
 
-  snapGridIncrement(t, vec);
+  transform_snap_increment(t, vec);
 
   if (t->flag & T_NULL_ONE) {
     if (!(t->con.mode & CON_AXIS0)) {
diff --git a/source/blender/editors/transform/transform_mode.c b/source/blender/editors/transform/transform_mode.c
index 495c21bc755..edc0781e18e 100644
--- a/source/blender/editors/transform/transform_mode.c
+++ b/source/blender/editors/transform/transform_mode.c
@@ -1014,7 +1014,7 @@ void ElementResize(TransInfo *t, TransDataContainer *tc, TransData *td, float ma
 
     /* scale stroke thickness */
     if (td->val) {
-      snapGridIncrement(t, t->values_final);
+      transform_snap_increment(t, t->values_final);
       applyNumInput(&t->num, t->values_final);
 
       float ratio = t->values_final[0];
diff --git a/source/blender/editors/transform/transform_mode_baketime.c b/source/blender/editors/transform/transform_mode_baketime.c
index 4e7fc3578ce..235b04b1858 100644
--- a/source/blender/editors/transform/transform_mode_baketime.c
+++ b/source/blender/editors/transform/transform_mode_baketime.c
@@ -67,7 +67,7 @@ static void applyBakeTime(TransInfo *t, const int mval[2])
     time = (float)(t->center2d[0] - mval[0]) * fac;
   }
 
-  snapGridIncrement(t, &time);
+  transform_snap_increment(t, &time);
 
   applyNumInput(&t->num, &time);
 
diff --git a/source/blender/editors/transform/transform_mode_bbone_resize.c b/source/blender/editors/transform/transform_mode_bbone_resize.c
index 80a5b307a91..d067c9df418 100644
--- a/source/blender/editors/transform/transform_mode_bbone_resize.c
+++ b/source/blender/editors/transform/transform_mode_bbone_resize.c
@@ -124,7 +124,7 @@ static void applyBoneSize(TransInfo *t, const int UNUSED(mval[2]))
 
     copy_v3_fl(t->values_final, ratio);
 
-    snapGridIncrement(t, t->values_final);
+    transform_snap_increment(t, t->values_final);
 
     if (applyNumInput(&t->num, t->values_final)) {
       constraintNumInput(t, t->values_final);
diff --git a/source/blender/editors/transform/transform_mode_bend.c b/source/blender/editors/transform/transform_mode_bend.c
index 3b51626b170..86de40448b7 100644
--- a/source/blender/editors/transform/transform_mode_bend.c
+++ b/source/blender/editors/transform/transform_mode_bend.c
@@ -104,7 +104,7 @@ static void Bend(TransInfo *t, const int UNUSED(mval[2]))
     const float radius_snap = 0.1f;
     const float snap_hack = (t->snap[1] * data->warp_init_dist) / radius_snap;
     values.scale *= snap_hack;
-    snapGridIncrement(t, values.vector);
+    transform_snap_increment(t, values.vector);
     values.scale /= snap_hack;
   }
 #endif
diff --git a/source/blender/editors/transform/transform_mode_boneenvelope.c b/source/blender/editors/transform/transform_mode_boneenvelope.c
index b7a34769f5a..7f5a8fedeef 100644
--- a/source/blender/editors/transform/transform_mode_boneenvelope.c
+++ b/source/blender/editors/transform/transform_mode_boneenvelope.c
@@ -53,7 +53,7 @@ static void applyBoneEnvelope(TransInfo *t, const int UNUSED(mval[2]))
 
   ratio = t->values[0];
 
-  snapGridIncrement(t, &ratio);
+  transform_snap_increment(t, &ratio);
 
   applyNumInput(&t->num, &ratio);
 
diff --git a/source/blender/editors/transform/transform_mode_boneroll.c b/source/blender/editors/transform/transform_mode_boneroll.c
index 1503519c519..8805d54e1f8 100644
--- a/source/blender/editors/transform/transform_mode_boneroll.c
+++ b/source/blender/editors/transform/transform_mode_boneroll.c
@@ -54,7 +54,7 @@ static void applyBoneRoll(TransInfo *t, const int UNUSED(mval[2]))
 
   final = t->values[0];
 
-  snapGridIncrement(t, &final);
+  transform_snap_increment(t, &final);
 
   applyNumInput(&t->num, &final);
 
diff --git a/source/blender/editors/transform/transform_mode_curveshrinkfatten.c b/source/blender/editors/transform/transform_mode_curveshrinkfatten.c
index 84e4e950804..fd65b019fe0 100644
--- a/source/blender/editors/transform/transform_mode_curveshrinkfatten.c
+++ b/source/blender/editors/transform/transform_mode_curveshrinkfatten.c
@@ -53,7 +53,7 @@ static void applyCurveShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
 
   ratio = t->values[0];
 
-  snapGridIncrement(t, &ratio);
+  transform_snap_increment(t, &ratio);
 
   applyNumInput(&t->num, &ratio);
 
diff --git a/source/blender/editors/transform/transform_mode_edge_bevelweight.c b/source/blender/editors/transform/transform_mode_edge_bevelweight.c
index 399cec2d62c..4d6e25dbe34 100644
--- a/source/blender/editors/transform/transform_mode_edge_bevelweight.c
+++ b/source/blender/editors/transform/transform_mode_edge_bevelweight.c
@@ -55,7 +55,7 @@ static void applyBevelWeight(TransInfo *t, const int UNUSED(mval[2]))
 
   CLAMP_MAX(weight, 1.0f);
 
-  snapGridIncrement(t, &weight);
+  transform_snap_increment(t, &weight);
 
   applyNumInput(&t->num, &weight);
 
diff --git a/source/blender/editors/transform/transform_mode_edge_crease.c b/source/blender/editors/transform/transform_mode_edge_crease.c
index 53c948c742b..a1822d99ff9 100644
--- a/source/blender/editors/transform/transform_mode_edge_crease.c
+++ b/source/blender/editors/transform/transform_mode_edge_crease.c
@@ -55,7 +55,7 @@ static void applyCrease(TransInfo *t, const int UNUSED(mval[2]))
 
   CLAMP_MAX(crease, 1.0f);
 
-  snapGridIncrement(t, &crease);
+  transform_snap_increment(t, &crease);
 
   applyNumInput(&t->num, &crease);
 
diff --git a/source/blender/editors/transform/transform_mode_edge_rotate_normal.c b/source/blender/editors/transform/transform_mode_edge_rotate_normal.c
index fde0d5b187e..5b929c39915 100644
--- a/source/blender/editors/transform/transform_mode_edge_rotate_normal.c
+++ b/source/blender/editors/transform/transform_mode_edge_rotate_normal.c
@@ -99,7 +99,7 @@ static void applyNormalRotation(TransInfo *t, const int UNUSED(mval[2]))
     float angle = t->values[0];
     copy_v3_v3(axis, axis_final);
 
-    snapGridIncrement(t, &angle);
+    transform_snap_increment(t, &angle);
 
     applySnapping(t, &angle);
 
diff --git a/source/blender/editors/transform/transform_mode_edge_seq_slide.c b/source/blender/editors/transform/transform_mode_edge_seq_slide.c
index c1cb4325c09..141f9acdeb4 100644
--- a/source/blender/editors/transform/transform_mode_edge_seq_slide.c
+++ b/source/blender/editors/transform/transform_mode_edge_seq_slide.c
@@ -102,7 +102,7 @@ static void applySeqSlide(TransInfo *t, const int mval[2])
     copy_v3_v3(t->values_final, tvec);
   }
   else {
-    // snapGridIncrement(t, t->values);
+    // transform_snap_increment(t, t->values);
     applyNumInput(&t->num, t->values);
     copy_v3_v3(t->values_final, t->values);
   }
diff --git a/source/blender/editors/transform/transform_mode_edge_slide.c b/source/blender/editors/transform/transform_mode_edge_slide.c
index fe97a9fba87..7d0e555e362 100644
--- a/source/blender/editors/transform/transform_mode_edge_slide.c
+++ b/source/blender/editors/transform/transform_mode_edge_slide.c
@@ -1463,7 +1463,9 @@ static void applyEdgeSlide(TransInfo *t, const int UNUSED(mval[2]))
   final = t->values[0];
 
   applySnapping(t, &final);
-  snapGridIncrement(t, &final);
+  if (!validSnap(t)) {
+    transform_snap_increment(t, &final);
+  }
 
   /* only do this so out of range values are not displayed */
   if (is_constrained) {
diff --git a/source/blender/editors/transform/transform_mode_gpopacity.c b/source/blender/editors/transform/transform_mode_gpopacity.c
index 4712fb7ba01..11c63be156c 100644
--- a/source/blender/editors/transform/transform_mode_gpopacity.c
+++ b/source/blender/editors/transform/transform_mode_gpopacity.c
@@ -53,7 +53,7 @@ static void applyGPOpacity(TransInfo *t, const int UNUSED(mval[2]))
 
   ratio = t->values[0];
 
-  snapGridIncrement(t, &ratio);
+  transform_snap_increment(t, &ratio);
 
   applyNumInput(&t->num, &ratio);
 
diff --git a/source/blender/editors/transform/transform_mode_gpshrinkfatten.c b/source/blender/editors/transform/transform_mode_gpshrinkfatten.c
index ab9a0aa79ed..c025dbcaccb 100644
--- a/source/blender/editors/transform/transform_mode_gpshrinkfatten.c
+++ b/source/blender/editors/transform/transform_mode_gpshrinkfatten.c
@@ -53,7 +53,7 @@ static void applyGPShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
 
   ratio = t->values[0];
 
-  snapGridIncrement(t, &ratio);
+  transform_snap_increment(t, &ratio);
 
   applyNumInput(&t->num, &ratio);
 
diff --git a/source/blender/editors/transform/transform_mode_maskshrinkfatten.c b/source/blender/editors/transform/transform_mode_maskshrinkfatten.c
index 68f3abda85b..3ac35ae7780 100644
--- a/source/blender/editors/transform/transform_mode_maskshrinkfatten.c
+++ b/source/blender/editors/transform/transform_mode_maskshrinkfatten.c
@@ -54,7 +54,7 @@ static void applyMaskShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
 
   ratio = t->values[0];
 
-  snapGridIncrement(t, &ratio);
+  transform_snap_increment(t, &ratio);
 
   applyNumInput(&t->num, &ratio);
 
diff --git a/source/blender/editors/transform/transform_mode_push_pull.c b/source/blender/editors/transform/transform_mode_push_pull.c
index 4a2f979ec38..2b17f208e79 100644
--- a/source/blender/editors/transform/transform_mode_push_pull.c
+++ b/source/blender/editors/transform/transform_mode_push_pull.c
@@ -55,7 +55,7 @@ static void applyPushPull(TransInfo *t, const int UNUSED(mval[2]))
 
   distance = t->values[0];
 
-  snapGridIncrement(t,

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list