[Bf-blender-cvs] [343d93cb4ff] temp-gpencil-bezier-stroke-type: GPencil: Revert changes in modifiers

Antonio Vazquez noreply at git.blender.org
Tue Mar 16 15:13:22 CET 2021


Commit: 343d93cb4ff836471e2d321f8c35221ca7ad7562
Author: Antonio Vazquez
Date:   Tue Mar 16 15:12:49 2021 +0100
Branches: temp-gpencil-bezier-stroke-type
https://developer.blender.org/rB343d93cb4ff836471e2d321f8c35221ca7ad7562

GPencil: Revert changes in modifiers

We undo all changes and keep only polygon type code. The Bezier type will be implement in the future.

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

M	source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
M	source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
M	source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
M	source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c

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

diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
index 2d4080119c4..cc8eae64300 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
@@ -82,7 +82,6 @@ static void copyData(const GpencilModifierData *md, GpencilModifierData *target)
 
 static void gpencil_deform_verts(ArmatureGpencilModifierData *mmd, Object *target, bGPDstroke *gps)
 {
-  bGPdata *gpd = target->data;
   bGPDspoint *pt = gps->points;
   float(*vert_coords)[3] = MEM_mallocN(sizeof(float[3]) * gps->totpoints, __func__);
   int i;
@@ -111,11 +110,6 @@ static void gpencil_deform_verts(ArmatureGpencilModifierData *mmd, Object *targe
     copy_v3_v3(&pt->x, vert_coords[i]);
   }
 
-  if (GPENCIL_STROKE_TYPE_BEZIER(gps)) {
-    gps->editcurve->flag |= GP_CURVE_NEEDS_STROKE_UPDATE;
-    BKE_gpencil_stroke_geometry_update(gpd, gps);
-  }
-
   MEM_freeN(vert_coords);
 }
 
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
index 4edd172046d..b8fa88327fc 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
@@ -265,29 +265,7 @@ static void generate_geometry(GpencilModifierData *md,
         /* Duplicate stroke */
         bGPDstroke *gps_dst = BKE_gpencil_stroke_duplicate(iter->gps, true, true);
 
-        /* Bezier type. */
-        if (GPENCIL_STROKE_TYPE_BEZIER(gps_dst)) {
-          bGPDcurve *gpc = gps_dst->editcurve;
-          for (int i = 0; i < gpc->tot_curve_points; i++) {
-            bGPDcurve_point *pt = &gpc->curve_points[i];
-            BezTriple *bezt = &pt->bezt;
-
-            for (int j = 0; j < 3; j++) {
-              /* Apply randomness matrix. */
-              mul_m4_v3(mat_rnd, bezt->vec[j]);
-              /* Apply object local transform (Rot/Scale). */
-              if ((mmd->flag & GP_ARRAY_USE_OB_OFFSET) && (mmd->object)) {
-                mul_m4_v3(mat, bezt->vec[j]);
-              }
-              /* Global Rotate and scale. */
-              mul_mat3_m4_v3(current_offset, bezt->vec[j]);
-              /* Global translate. */
-              add_v3_v3(bezt->vec[j], current_offset[3]);
-            }
-          }
-        }
-
-        /* Polygon type. Do always because point data is used by draw manager. */
+        /* Move points */
         for (int i = 0; i < iter->gps->totpoints; i++) {
           bGPDspoint *pt = &gps_dst->points[i];
           /* Apply randomness matrix. */
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
index a881bf5151b..686bd8c38e5 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
@@ -134,7 +134,6 @@ static void deformStroke(GpencilModifierData *md,
                          bGPDframe *gpf,
                          bGPDstroke *gps)
 {
-  bGPdata *gpd = ob->data;
   NoiseGpencilModifierData *mmd = (NoiseGpencilModifierData *)md;
   MDeformVert *dvert = NULL;
   /* Noise value in range [-1..1] */
@@ -262,11 +261,6 @@ static void deformStroke(GpencilModifierData *md,
     }
   }
 
-  if (GPENCIL_STROKE_TYPE_BEZIER(gps)) {
-    gps->editcurve->flag |= GP_CURVE_NEEDS_STROKE_UPDATE;
-    BKE_gpencil_stroke_geometry_update(gpd, gps);
-  }
-
   MEM_SAFE_FREE(noise_table_position);
   MEM_SAFE_FREE(noise_table_strength);
   MEM_SAFE_FREE(noise_table_thickness);
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
index aa3f9f2e9ee..4e009e25ce3 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
@@ -102,62 +102,29 @@ static void deformStroke(GpencilModifierData *md,
   }
   bGPdata *gpd = ob->data;
 
-  if (GPENCIL_STROKE_TYPE_BEZIER(gps)) {
-    bGPDcurve *gpc = gps->editcurve;
-    for (int i = 0; i < gpc->tot_curve_points; i++) {
-      bGPDcurve_point *pt = &gpc->curve_points[i];
-      BezTriple *bezt = &pt->bezt;
-      MDeformVert *dvert = (gpc->dvert != NULL) ? &gpc->dvert[i] : NULL;
-
-      /* Verify vertex group. */
-      const float weight = get_modifier_point_weight(
-          dvert, (mmd->flag & GP_OFFSET_INVERT_VGROUP) != 0, def_nr);
-      if (weight < 0.0f) {
-        continue;
-      }
-      /* Calculate matrix. */
-      mul_v3_v3fl(loc, mmd->loc, weight);
-      mul_v3_v3fl(rot, mmd->rot, weight);
-      mul_v3_v3fl(scale, mmd->scale, weight);
-      add_v3_fl(scale, 1.0);
-      loc_eul_size_to_mat4(mat, loc, rot, scale);
-
-      /* Apply scale to thickness. */
-      float unit_scale = (scale[0] + scale[1] + scale[2]) / 3.0f;
-      pt->pressure *= unit_scale;
-
-      for (int j = 0; j < 3; j++) {
-        mul_m4_v3(mat, bezt->vec[j]);
-      }
-    }
-    gps->flag |= GP_STROKE_NEEDS_CURVE_UPDATE;
-  }
-  else {
-    for (int i = 0; i < gps->totpoints; i++) {
-      bGPDspoint *pt = &gps->points[i];
-      MDeformVert *dvert = gps->dvert != NULL ? &gps->dvert[i] : NULL;
-
-      /* Verify vertex group. */
-      const float weight = get_modifier_point_weight(
-          dvert, (mmd->flag & GP_OFFSET_INVERT_VGROUP) != 0, def_nr);
-      if (weight < 0.0f) {
-        continue;
-      }
-      /* Calculate matrix. */
-      mul_v3_v3fl(loc, mmd->loc, weight);
-      mul_v3_v3fl(rot, mmd->rot, weight);
-      mul_v3_v3fl(scale, mmd->scale, weight);
-      add_v3_fl(scale, 1.0);
-      loc_eul_size_to_mat4(mat, loc, rot, scale);
-
-      /* Apply scale to thickness. */
-      float unit_scale = (scale[0] + scale[1] + scale[2]) / 3.0f;
-      pt->pressure *= unit_scale;
-
-      mul_m4_v3(mat, &pt->x);
+  for (int i = 0; i < gps->totpoints; i++) {
+    bGPDspoint *pt = &gps->points[i];
+    MDeformVert *dvert = gps->dvert != NULL ? &gps->dvert[i] : NULL;
+
+    /* Verify vertex group. */
+    const float weight = get_modifier_point_weight(
+        dvert, (mmd->flag & GP_OFFSET_INVERT_VGROUP) != 0, def_nr);
+    if (weight < 0.0f) {
+      continue;
     }
+    /* Calculate matrix. */
+    mul_v3_v3fl(loc, mmd->loc, weight);
+    mul_v3_v3fl(rot, mmd->rot, weight);
+    mul_v3_v3fl(scale, mmd->scale, weight);
+    add_v3_fl(scale, 1.0);
+    loc_eul_size_to_mat4(mat, loc, rot, scale);
+
+    /* Apply scale to thickness. */
+    float unit_scale = (scale[0] + scale[1] + scale[2]) / 3.0f;
+    pt->pressure *= unit_scale;
+
+    mul_m4_v3(mat, &pt->x);
   }
-  
   /* Calc geometry data. */
   BKE_gpencil_stroke_geometry_update(gpd, gps);
 }



More information about the Bf-blender-cvs mailing list