[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