[Bf-blender-cvs] [fd43f143e56] greasepencil-object: GPencil: Add seed to Array modifier

Antonio Vazquez noreply at git.blender.org
Fri Feb 28 16:36:34 CET 2020


Commit: fd43f143e56d43b26adacc34b59e09a460116a58
Author: Antonio Vazquez
Date:   Fri Feb 28 11:09:08 2020 +0100
Branches: greasepencil-object
https://developer.blender.org/rBfd43f143e56d43b26adacc34b59e09a460116a58

GPencil: Add seed to Array modifier

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

M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
M	source/blender/makesdna/DNA_gpencil_modifier_types.h
M	source/blender/makesrna/intern/rna_gpencil_modifier.c

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

diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index d120e26ec53..d178b190543 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -2005,6 +2005,7 @@ class DATA_PT_gpencil_modifiers(ModifierButtonsPanel, Panel):
         col = layout.column()
         col.separator()
         col.prop(md, "replace_material", text="Material Override")
+        col.prop(md, "seed")
 
         self.gpencil_masking(layout, ob, md, False)
 
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
index 2f267d51114..123a5f90b2d 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
@@ -76,7 +76,8 @@ static void initData(GpencilModifierData *md)
   gpmd->object = NULL;
   gpmd->flag |= GP_ARRAY_USE_RELATIVE;
   /* fill random values */
-  BLI_array_frand(gpmd->rnd, 20, 1);
+  gpmd->seed = 1;
+  BLI_array_frand(gpmd->rnd, 20, gpmd->seed);
   gpmd->rnd[0] = 1;
 }
 
diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h
index 6b5af3bce66..6eaa62b8ea7 100644
--- a/source/blender/makesdna/DNA_gpencil_modifier_types.h
+++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h
@@ -325,7 +325,7 @@ typedef struct ArrayGpencilModifierData {
   float scale[3];
   /** (first element is the index) random values. */
   float rnd[20];
-  char _pad[4];
+  int seed;
 
   /** Custom index for passes. */
   int pass_index;
diff --git a/source/blender/makesrna/intern/rna_gpencil_modifier.c b/source/blender/makesrna/intern/rna_gpencil_modifier.c
index adb7c1e2dda..a45c9fbd1e8 100644
--- a/source/blender/makesrna/intern/rna_gpencil_modifier.c
+++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c
@@ -34,6 +34,7 @@
 #include "MEM_guardedalloc.h"
 
 #include "BLI_math.h"
+#include "BLI_rand.h"
 
 #include "BLT_translation.h"
 
@@ -272,6 +273,16 @@ static void rna_GpencilModifier_update(Main *UNUSED(bmain), Scene *UNUSED(scene)
   WM_main_add_notifier(NC_OBJECT | ND_MODIFIER, ptr->owner_id);
 }
 
+static void rna_GpencilModifier_seed_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+  GpencilModifierData *md = ptr->data;
+  ArrayGpencilModifierData *gpmd = (ArrayGpencilModifierData *)md;
+
+  BLI_array_frand(gpmd->rnd, 20, gpmd->seed);
+
+  rna_GpencilModifier_update(bmain, scene, ptr);
+}
+
 static void rna_GpencilModifier_dependency_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
   rna_GpencilModifier_update(bmain, scene, ptr);
@@ -1361,6 +1372,10 @@ static void rna_def_modifier_gpencilarray(BlenderRNA *brna)
   RNA_def_property_ui_text(prop, "Random", "Use random factor for relative offset");
   RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
 
+  prop = RNA_def_property(srna, "seed", PROP_INT, PROP_UNSIGNED);
+  RNA_def_property_ui_text(prop, "Seed", "Random seed");
+  RNA_def_property_update(prop, 0, "rna_GpencilModifier_seed_update");
+
   prop = RNA_def_property(srna, "replace_material", PROP_INT, PROP_NONE);
   RNA_def_property_int_sdna(prop, NULL, "mat_rpl");
   RNA_def_property_range(prop, 0, SHRT_MAX);



More information about the Bf-blender-cvs mailing list