[Bf-blender-cvs] [e0ded3e8b48] greasepencil-object: Merge branch 'master' into greasepencil-object
Antonio Vazquez
noreply at git.blender.org
Thu Nov 14 19:40:30 CET 2019
Commit: e0ded3e8b4845d36828ed15b73ae9ee0a56073da
Author: Antonio Vazquez
Date: Thu Nov 14 19:40:16 2019 +0100
Branches: greasepencil-object
https://developer.blender.org/rBe0ded3e8b4845d36828ed15b73ae9ee0a56073da
Merge branch 'master' into greasepencil-object
Conflicts:
release/scripts/startup/bl_ui/properties_data_modifier.py
source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
source/blender/makesdna/DNA_gpencil_modifier_types.h
source/blender/makesrna/intern/rna_gpencil_modifier.c
===================================================================
===================================================================
diff --cc release/scripts/startup/bl_ui/properties_data_modifier.py
index d54727c1503,05e8f0fce38..f605e538789
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@@ -2351,54 -2351,52 +2351,100 @@@ class DATA_PT_gpencil_modifiers(Modifie
sub.active = bool(md.vertex_group)
sub.prop(md, "invert_vertex_group", text="", icon='ARROW_LEFTRIGHT')
+ def GP_MULTIPLY(self, layout, ob, md):
+ gpd = ob.data
+ col = layout.column()
+
+ col.prop(md, "duplications")
+ subcol = col.column()
+ subcol.enabled = md.duplications > 0
+ subcol.prop(md, "distance")
+ subcol.prop(md, "offset", slider=True)
-
++
+ subcol.separator()
+
+ subcol.prop(md, "enable_fading")
+ if md.enable_fading:
+ subcol.prop(md, "fading_center")
+ subcol.prop(md, "fading_thickness", slider=True)
+ subcol.prop(md, "fading_opacity", slider=True)
+
+ subcol.separator()
+
+ col.prop(md, "enable_angle_splitting")
+ if md.enable_angle_splitting:
+ col.prop(md, "split_angle")
+
+ col = layout.column()
+ col.separator()
+
+ col.label(text="Material:")
+ row = col.row(align=True)
+ row.prop_search(md, "material", gpd, "materials", text="", icon='SHADING_TEXTURE')
+ row.prop(md, "invert_materials", text="", icon='ARROW_LEFTRIGHT')
+ row = layout.row(align=True)
+ row.prop(md, "pass_index", text="Pass")
+ row.prop(md, "invert_material_pass", text="", icon='ARROW_LEFTRIGHT')
+
+ col = layout.column()
+ col.separator()
+
+ col.label(text="Layer:")
+ row = col.row(align=True)
+ row.prop_search(md, "layer", gpd, "layers", text="", icon='GREASEPENCIL')
+ row.prop(md, "invert_layers", text="", icon='ARROW_LEFTRIGHT')
+ row = layout.row(align=True)
+ row.prop(md, "layer_pass", text="Pass")
+ row.prop(md, "invert_layer_pass", text="", icon='ARROW_LEFTRIGHT')
-
++
+ def GP_VERTEXCOLOR(self, layout, ob, md):
+ gpd = ob.data
+
+ col = layout.column()
+ col.prop(md, "vertex_mode")
+
+ col. separator()
+ col.label(text="Object:")
+ col.prop(md, "object", text="")
+
+ col.separator()
+ col.prop(md, "radius")
+ col.prop(md, "factor", slider=True)
+ col.prop(md, "use_decay_color", text="Decay color with distance")
+
+ col.separator()
+ col.label(text="Colors:")
+ col.template_color_ramp(md, "colors")
+
+ col.separator()
+ col.label(text="Vertex Group:")
+ row = col.row(align=True)
+ row.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
+ row.prop(md, "invert_vertex", text="", icon='ARROW_LEFTRIGHT')
+
+ col = layout.column()
+ col.separator()
+
+ col.label(text="Material:")
+ row = col.row(align=True)
+ row.prop_search(md, "material", gpd, "materials", text="", icon='SHADING_TEXTURE')
+ row.prop(md, "invert_materials", text="", icon='ARROW_LEFTRIGHT')
+ row = layout.row(align=True)
+ row.prop(md, "pass_index", text="Pass")
+ row.prop(md, "invert_material_pass", text="", icon='ARROW_LEFTRIGHT')
+
+ col = layout.column()
+ col.separator()
+
+ col.label(text="Layer:")
+ row = col.row(align=True)
+ row.prop_search(md, "layer", gpd, "layers", text="", icon='GREASEPENCIL')
+ row.prop(md, "invert_layers", text="", icon='ARROW_LEFTRIGHT')
+ row = layout.row(align=True)
+ row.prop(md, "layer_pass", text="Pass")
+ row.prop(md, "invert_layer_pass", text="", icon='ARROW_LEFTRIGHT')
+
+
classes = (
DATA_PT_modifiers,
DATA_PT_gpencil_modifiers,
diff --cc source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
index 11c7cf9d9d3,f5c064c1c07..b8e8e8fc87f
--- a/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
+++ b/source/blender/gpencil_modifiers/MOD_gpencil_modifiertypes.h
@@@ -42,7 -42,7 +42,8 @@@ extern GpencilModifierTypeInfo modifier
extern GpencilModifierTypeInfo modifierType_Gpencil_Offset;
extern GpencilModifierTypeInfo modifierType_Gpencil_Armature;
extern GpencilModifierTypeInfo modifierType_Gpencil_Time;
+ extern GpencilModifierTypeInfo modifierType_Gpencil_Multiply;
+extern GpencilModifierTypeInfo modifierType_Gpencil_Vertexcolor;
/* MOD_gpencil_util.c */
void gpencil_modifier_type_init(GpencilModifierTypeInfo *types[]);
diff --cc source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
index 417fd89b25e,16e585705df..ccb1002d889
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
@@@ -71,7 -71,7 +71,8 @@@ void gpencil_modifier_type_init(Gpencil
INIT_GP_TYPE(Offset);
INIT_GP_TYPE(Armature);
INIT_GP_TYPE(Time);
+ INIT_GP_TYPE(Multiply);
+ INIT_GP_TYPE(Vertexcolor);
#undef INIT_GP_TYPE
}
diff --cc source/blender/makesdna/DNA_gpencil_modifier_types.h
index 3c439558ea4,5fe12998998..8abae5de498
--- a/source/blender/makesdna/DNA_gpencil_modifier_types.h
+++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h
@@@ -46,7 -46,7 +46,8 @@@ typedef enum GpencilModifierType
eGpencilModifierType_Mirror = 14,
eGpencilModifierType_Armature = 15,
eGpencilModifierType_Time = 16,
- eGpencilModifierType_Vertexcolor = 20,
+ eGpencilModifierType_Multiply = 17,
++ eGpencilModifierType_Vertexcolor = 18,
NUM_GREASEPENCIL_MODIFIER_TYPES,
} GpencilModifierType;
@@@ -641,39 -641,40 +642,75 @@@ typedef struct ArmatureGpencilModifierD
} ArmatureGpencilModifierData;
+ typedef struct MultiplyGpencilModifierData {
+ GpencilModifierData modifier;
+ /** Layer name. */
+ char layername[64];
+ /** Material name. */
+ char materialname[64];
+ /** Custom index for passes. */
+ int pass_index;
+ /** Flags. */
+ int flag;
+ /** Custom index for passes. */
+ int layer_pass;
+ char _pad[4];
+
+ int flags;
+
+ int duplications;
+ float distance;
+ /* -1:inner 0:middle 1:outer */
+ float offset;
+
+ float fading_center;
+ float fading_thickness;
+ float fading_opacity;
+
+ /* in rad not deg */
+ float split_angle;
+
+ /* char _pad[4]; */
+ } MultiplyGpencilModifierData;
+
+ typedef enum eMultiplyGpencil_Flag {
+ GP_MULTIPLY_ENABLE_ANGLE_SPLITTING = (1 << 1),
+ GP_MULTIPLY_ENABLE_FADING = (1 << 2),
+ } eMultiplyGpencil_Flag;
+
+typedef struct VertexcolorGpencilModifierData {
+ GpencilModifierData modifier;
+
+ struct Object *object;
+ /** Layer name. */
+ char layername[64];
+ /** Material name. */
+ char materialname[64];
+ /** Optional vertexgroup name, MAX_VGROUP_NAME. */
+ char vgname[64];
+ /** Custom index for passes. */
+ int pass_index;
+ /** Custom index for passes. */
+ int layer_pass;
+ /** Flags. */
+ int flag;
+ /** Mode. */
+ int mode;
+
+ float factor;
+ float radius;
+
+ struct ColorBand *colorband;
+} VertexcolorGpencilModifierData;
+
+typedef enum eVertexcolorGpencil_Flag {
+ GP_VERTEXCOL_INVERT_LAYER = (1 << 0),
+ GP_VERTEXCOL_INVERT_PASS = (1 << 1),
+ GP_VERTEXCOL_INVERT_VGROUP = (1 << 2),
+ GP_VERTEXCOL_UNIFORM_SPACE = (1 << 3),
+ GP_VERTEXCOL_INVERT_LAYERPASS = (1 << 4),
+ GP_VERTEXCOL_INVERT_MATERIAL = (1 << 5),
+ GP_VERTEXCOL_DECAY_COLOR = (1 << 6),
+} eVertexcolorGpencil_Flag;
+
#endif /* __DNA_GPENCIL_MODIFIER_TYPES_H__ */
diff --cc source/blender/makesrna/intern/rna_gpencil_modifier.c
index b6a7bd5fe7d,4352b6628e2..896e222f4cf
--- a/source/blender/makesrna/intern/rna_gpencil_modifier.c
+++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c
@@@ -223,8 -222,8 +228,10 @@@ static StructRNA *rna_GpencilModifier_r
return &RNA_OffsetGpencilModifier;
case eGpencilModifierType_Armature:
return &RNA_ArmatureGpencilModifier;
+ case eGpencilModifierType_Multiply:
+ return &RNA_MultiplyGpencilModifier;
+ case eGpencilModifierType_Vertexcolor:
+ return &RNA_VertexcolorGpencilModifier;
/* Default */
case eGpencilModifierType_None:
case NUM_GREASEPENCIL_MODIFIER_TYPES:
@@@ -1885,119 -1873,106 +1892,219 @@@ static void rna_def_modifier_gpencilarm
RNA_def_property_update(prop, 0, "rna_GpencilModifier_dependency_update");
}
+ static void rna_def_modifier_gpencilmultiply(BlenderRNA *brna)
+ {
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ srna = RNA_def_struct(brna, "MultiplyGpencilModifier", "GpencilModifier");
+ RNA_def_struct_ui_text(srna, "Multiply Modifier", "Generate multiple strokes from one stroke");
+ RNA_def_struct_sdna(srna, "MultiplyGpencilModifierData");
+ RNA_def_struct_ui_icon(srna, ICON_GP_MULTIFRAME_EDITING);
+
+ prop = RNA_def_property(srna, "layer", PROP_STRING, PROP_NONE);
+ RNA_def_property_string_sdna(prop, NULL, "layername");
+ RNA_def_property_ui_text(prop, "Layer", "Layer name");
+ RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
+ prop = RNA_def_property(srna, "material", PROP_STRING, PROP_NONE);
+ RNA_def_property_string_sdna(prop, NULL, "materialname");
+ RNA_def_property_ui_text(prop, "Material", "Material name");
+ RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
+ prop = RNA_def_property(srna, "pass_index", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "pass_index");
+ RNA_def_property_range(prop, 0, 100);
+ RNA_def_property_ui_text(prop, "Pass", "Pass index");
+ RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
+ prop = RNA_def_property(srna, "invert_layers", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_MIRROR_INVERT_LAYER);
+ RNA_def_property_ui_text(prop, "Inverse Layers", "Inverse filter");
+ RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
+
+ prop = RNA_def_property(srna, "invert_materials", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, N
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list