[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