[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