[Bf-blender-cvs] [d31db29f78f] greasepencil-object: Gpencil: Removed length & multiply modifiers. They are in temp-npr-gpencil_modifiers branch cor cleanling up.

YimingWu noreply at git.blender.org
Sun Sep 15 15:28:27 CEST 2019


Commit: d31db29f78f671c59f2ce073ef3dbb885ada21b9
Author: YimingWu
Date:   Sun Sep 15 21:27:19 2019 +0800
Branches: greasepencil-object
https://developer.blender.org/rBd31db29f78f671c59f2ce073ef3dbb885ada21b9

Gpencil: Removed length & multiply modifiers.
They are in temp-npr-gpencil_modifiers branch cor cleanling up.

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

M	release/datafiles/locale
M	release/scripts/addons
M	release/scripts/addons_contrib
M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	source/blender/blenkernel/intern/gpencil.c
M	source/blender/gpencil_modifiers/CMakeLists.txt
M	source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
D	source/blender/gpencil_modifiers/intern/MOD_gpencillength.c
D	source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c
M	source/blender/makesdna/DNA_gpencil_modifier_types.h
M	source/blender/makesrna/intern/rna_gpencil_modifier.c
M	source/tools

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

diff --git a/release/datafiles/locale b/release/datafiles/locale
index 1f6ec7f7a14..ad82c4ce43e 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 1f6ec7f7a145c36808231090c8666febb49db220
+Subproject commit ad82c4ce43ef2801ef51e75af1f9702992478b02
diff --git a/release/scripts/addons b/release/scripts/addons
index eb9bab0e715..8e6f485cf5b 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit eb9bab0e7153fda8de113af9e3c54eca74c986ef
+Subproject commit 8e6f485cf5b160c425d7da7c743879b20f3d6a96
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index 23b744fa47d..7077ff07384 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit 23b744fa47da73c0b6c5b41b02cfe0efa008ec5c
+Subproject commit 7077ff07384491d1f7630484995557f1c7302dae
diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index a98ecf848e1..53e5b253904 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -2334,38 +2334,6 @@ class DATA_PT_gpencil_modifiers(ModifierButtonsPanel, Panel):
         sub.active = bool(md.vertex_group)
         sub.prop(md, "invert_vertex_group", text="", icon='ARROW_LEFTRIGHT')
 
-    def GP_LENGTH(self, layout, ob, md):
-        sp = layout.split()
-        col = sp.column()
-        col.label(text="Absolute:")
-        col.prop(md, "length")
-
-        col = sp.column()
-        col.label(text="Relative:")
-        col.prop(md, "percentage")
-
-    def GP_MULTIPLY(self, layout, ob, md):
-        sp = layout.split(factor = 0.5)
-
-        col = sp.column()
-        col.prop(md, "enable_duplication")
-        if md.enable_duplication:
-            col.prop(md,"duplications")
-            col.prop(md,"distance")
-            col.prop(md,"offset", slider=True)
-
-            col.prop(md,"enable_fading")
-            if md.enable_fading:
-                col.prop(md, "fading_center")
-                c = col.column(align = True)
-                c.prop(md, "fading_thickness", slider=True)
-                c.prop(md, "fading_opacity", slider=True)
-
-        col = sp.column()
-        col.prop(md, "enable_angle_splitting")
-        if md.enable_angle_splitting:
-            col.prop(md,"split_angle")
-
 classes = (
     DATA_PT_modifiers,
     DATA_PT_gpencil_modifiers,
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index abc2bf25b90..c3eb4237559 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -1753,235 +1753,6 @@ bool BKE_gpencil_sample_stroke(bGPDstroke *gps, const float dist, const bool sel
   return true;
 }
 
-/**
- * Backbone stretch similar to Freestyle.
- * \param gps: Stroke to sample
- * \param dist: Distance of one segment
- */
-bool BKE_gpencil_stretch_stroke(bGPDstroke *gps, const float dist)
-{
-  bGPDspoint *pt = gps->points, *last_pt, *second_last, *next_pt;
-  int i;
-
-  if (gps->totpoints < 2 || dist < FLT_EPSILON) {
-    return false;
-  }
-
-  last_pt = &pt[gps->totpoints - 1];
-  second_last = &pt[gps->totpoints - 2];
-  next_pt = &pt[1];
-
-  float len1 = 0;
-  float len2 = 0;
-
-  i = 1;
-  while (len1 < 0.001 && gps->totpoints > i) {
-    next_pt = &pt[i];
-    len1 = len_v3v3(&next_pt->x, &pt->x);
-    i++;
-  }
-
-  i = 2;
-  while (len2 < 0.001 && gps->totpoints >= i) {
-    second_last = &pt[gps->totpoints - i];
-    len2 = len_v3v3(&last_pt->x, &second_last->x);
-    i++;
-  }
-
-  float extend1 = (len1 + dist) / len1;
-  float extend2 = (len2 + dist) / len2;
-
-  float result1[3], result2[3];
-
-  interp_v3_v3v3(result1, &next_pt->x, &pt->x, extend1);
-  interp_v3_v3v3(result2, &second_last->x, &last_pt->x, extend2);
-
-  copy_v3_v3(&pt->x, result1);
-  copy_v3_v3(&last_pt->x, result2);
-
-  return true;
-}
-
-/**
- * Trim stroke to needed segments
- * \param gps: Target stroke
- * \param index_from: the index of the first point to be used in the trimmed result
- * \param index_to: the index of the last point to be used in the trimmed result
- */
-bool BKE_gpencil_trim_stroke_points(bGPDstroke *gps, const int index_from, const int index_to)
-{
-  bGPDspoint *pt = gps->points, *new_pt;
-  MDeformVert *dv, *new_dv;
-
-  int new_count = index_to - index_from + 1;
-
-  if (new_count >= gps->totpoints) {
-    return false;
-  }
-
-  if (new_count == 1) {
-    BKE_gpencil_free_stroke_weights(gps);
-    MEM_freeN(gps->points);
-    gps->points = NULL;
-    gps->dvert = NULL;
-    gps->totpoints = 0;
-    return false;
-  }
-
-  new_pt = MEM_callocN(sizeof(bGPDspoint) * new_count, "gp_stroke_points_trimmed");
-
-  for (int i = 0; i < new_count; i++) {
-    memcpy(&new_pt[i], &pt[i + index_from], sizeof(bGPDspoint));
-  }
-
-  if (gps->dvert) {
-    new_dv = MEM_callocN(sizeof(MDeformVert) * new_count, "gp_stroke_dverts_trimmed");
-    for (int i = 0; i < new_count; i++) {
-      dv = &gps->dvert[i + index_from];
-      new_dv[i].flag = dv->flag;
-      new_dv[i].totweight = dv->totweight;
-      new_dv[i].dw = MEM_callocN(sizeof(MDeformWeight) * dv->totweight,
-                                 "gp_stroke_dverts_dw_trimmed");
-      for (int j = 0; j < dv->totweight; j++) {
-        new_dv[i].dw[j].weight = dv->dw[j].weight;
-        new_dv[i].dw[j].def_nr = dv->dw[j].def_nr;
-      }
-    }
-    MEM_freeN(gps->dvert);
-    gps->dvert = new_dv;
-  }
-
-  MEM_freeN(gps->points);
-  gps->points = new_pt;
-  gps->totpoints = new_count;
-
-  return true;
-}
-
-bool BKE_gpencil_split_stroke(bGPDframe *gpf,
-                              bGPDstroke *gps,
-                              const int before_index,
-                              bGPDstroke **remaining_gps)
-{
-  bGPDstroke *new_gps;
-  bGPDspoint *pt = gps->points, *new_pt;
-  MDeformVert *dv, *new_dv;
-
-  if (before_index >= gps->totpoints || before_index == 0) {
-    return false;
-  }
-
-  int new_count = gps->totpoints - before_index;
-  int old_count = before_index;
-
-  /* Handle remaining segments first. */
-
-  new_gps = BKE_gpencil_add_stroke(gpf, gps->mat_nr, new_count, gps->thickness);
-
-  new_pt = new_gps->points; /* Allocated from above. */
-
-  for (int i = 0; i < new_count; i++) {
-    memcpy(&new_pt[i], &pt[i + before_index], sizeof(bGPDspoint));
-  }
-
-  if (gps->dvert) {
-    new_dv = MEM_callocN(sizeof(MDeformVert) * new_count, "gp_stroke_dverts_remaining");
-    for (int i = 0; i < new_count; i++) {
-      dv = &gps->dvert[i + before_index];
-      new_dv[i].flag = dv->flag;
-      new_dv[i].totweight = dv->totweight;
-      new_dv[i].dw = MEM_callocN(sizeof(MDeformWeight) * dv->totweight,
-                                 "gp_stroke_dverts_dw_remaining");
-      for (int j = 0; j < dv->totweight; j++) {
-        new_dv[i].dw[j].weight = dv->dw[j].weight;
-        new_dv[i].dw[j].def_nr = dv->dw[j].def_nr;
-      }
-    }
-    new_gps->dvert = new_dv;
-  }
-
-  (*remaining_gps) = new_gps;
-
-  /* Trim the original stroke into a shorter one. */
-  /* Keep the end point. */
-
-  BKE_gpencil_trim_stroke_points(gps, 0, old_count);
-
-  return true;
-}
-
-/**
- * Shrink the stroke by length.
- * \param gps: Stroke to shrink
- * \param dist: delta length
- */
-bool BKE_gpencil_shrink_stroke(bGPDstroke *gps, const float dist)
-{
-  bGPDspoint *pt = gps->points, *last_pt, *second_last, *next_pt;
-  int i;
-
-  if (gps->totpoints < 2 || dist < FLT_EPSILON) {
-    return false;
-  }
-
-  last_pt = &pt[gps->totpoints - 1];
-  second_last = &pt[gps->totpoints - 2];
-  next_pt = &pt[1];
-
-  float len1 = 0, this_len1, cut_len1;
-  float len2 = 0, this_len2, cut_len2;
-  int index_start, index_end;
-
-  i = 1;
-  while (len1 < dist && gps->totpoints > i) {
-    next_pt = &pt[i];
-    this_len1 = len_v3v3(&next_pt->x, &pt->x);
-    len1 += this_len1;
-    cut_len1 = len1 - dist;
-    i++;
-  }
-  index_start = i - 2;
-
-  i = 2;
-  while (len2 < dist && gps->totpoints >= i) {
-    second_last = &pt[gps->totpoints - i];
-    this_len2 = len_v3v3(&last_pt->x, &second_last->x);
-    len2 += this_len2;
-    cut_len2 = len2 - dist;
-    i++;
-  }
-  index_end = gps->totpoints - i + 2;
-
-  if (len1 < dist || len2 < dist || index_end <= index_start) {
-    index_start = index_end = 0; /* empty stroke */
-  }
-
-  if ((index_end == index_start + 1) && (cut_len1 + cut_len2 > 1.0f)) {
-    index_start = index_end = 0; /* no length left to cut */
-  }
-
-  BKE_gpencil_trim_stroke_points(gps, index_start, index_end);
-
-  if (gps->totpoints == 0) {
-    return false;
-  }
-
-  pt = gps->points;
-
-  float cut1 = cut_len1 / this_len1;
-  float cut2 = cut_len2 / this_len2;
-
-  float result1[3], result2[3];
-
-  interp_v3_v3v3(result1, &pt[1].x, &pt[0].x, cut1);
-  interp_v3_v3v3(result2, &pt[gps->totpoints - 2].x, &pt[gps->totpoints - 1].x, cut2);
-
-  copy_v3_v3(&pt[0].x, result1);
-  copy_v3_v3(&pt[gps->totpoints - 1].x, result2);
-
-  return true;
-}
-
 /**
  * Apply smooth to stroke point
  * \param gps: Stroke to smooth
diff --git a/source/blender/gpencil_modifiers/CMakeLists.txt b/source/blender/gpencil_modifiers/CMakeLists.txt
index e70ac204f66..41543448a15 100644
--- a/source/blender/gpencil_modifiers/CMakeLists.txt
+++ b/source/blender/gpencil_modifiers/CMakeLists.txt
@@ -49,8 +49,6 @@ set(SRC
   intern/MOD_gpencilcolor.c
   intern/MOD_gpencilhook.c
   intern/MOD_gpencillattice.c
-  intern/MOD_gpencillength.c
-  intern/MOD_gpencilmultiply.c
   intern/MOD_gpencilmirror.c
   intern/MOD_gpencilnoise.c
   intern/MOD_gpenciloffset.c
diff --git a/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h b/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
index b84ccbcab64..9fc00754744 100644
--- a/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
+++ b/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
@@ -42,8 +42,6 @@ extern GpencilModifierTypeInfo modifierType_Gpencil_Hook;
 extern GpencilModifierTypeInfo modifierType_Gpencil_Offset;
 extern GpencilModifierTypeInfo modifierType_Gpencil_Armature;
 extern GpencilModi

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list