Commit: 8b03dd8e9d6563e1d4c009bf5f7ea144a3e1de07 Author: decoda Date: Mon Jun 5 22:33:10 2017 +0530 Branches: soc-2017-sculpting_brush https://developer.blender.org/rB8b03dd8e9d6563e1d4c009bf5f7ea144a3e1de07
Updated files to create Clipping brush =================================================================== M release/datafiles/brushicons/clip.png M source/blender/blenkernel/intern/brush.c M source/blender/blenkernel/intern/scene.c M source/blender/blenloader/intern/versioning_270.c M source/blender/blenloader/intern/versioning_defaults.c M source/blender/editors/datafiles/CMakeLists.txt M source/blender/editors/include/ED_datafiles.h M source/blender/editors/include/UI_icons.h M source/blender/editors/interface/interface_icons.c M source/blender/editors/sculpt_paint/paint_ops.c M source/blender/editors/sculpt_paint/sculpt.c M source/blender/makesdna/DNA_brush_types.h M source/blender/makesdna/DNA_scene_types.h M source/blender/makesrna/intern/rna_brush.c =================================================================== diff --git a/release/datafiles/brushicons/clip.png b/release/datafiles/brushicons/clip.png index ce5e418bb79..f5ad388e002 100644 Binary files a/release/datafiles/brushicons/clip.png and b/release/datafiles/brushicons/clip.png differ diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c index 57b707a31d3..0801e346107 100644 --- a/source/blender/blenkernel/intern/brush.c +++ b/source/blender/blenkernel/intern/brush.c @@ -406,6 +406,11 @@ void BKE_brush_sculpt_reset(Brush *br) br->sub_col[0] = 0.250000; br->sub_col[1] = 1.000000; break; + case SCULPT_TOOL_CLIP: + br->add_col[1] = 1.000000; + br->sub_col[0] = 0.250000; + br->sub_col[1] = 1.000000; + break; case SCULPT_TOOL_ROTATE: br->alpha = 1.0; break; diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 5933aaccd66..60b86efc384 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -815,6 +815,11 @@ void BKE_scene_init(Scene *sce) gp_brush->size = 50; gp_brush->strength = 0.5f; // XXX? gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF; + + gp_brush = &gset->brush[GP_EDITBRUSH_TYPE_CLIP]; /*clipping*/ + gp_brush->size = 40; + gp_brush->strength = 0.5f; // XXX? + gp_brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF; gp_brush = &gset->brush[GP_EDITBRUSH_TYPE_RANDOMIZE]; gp_brush->size = 25; diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index d2f43a2d79e..259826a6a2b 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -1525,7 +1525,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) ParticleEditSettings *pset = &ts->particle; for (int a = 0; a < PE_TOT_BRUSH; a++) { if (pset->brush[a].count == 0) { - pset->brush[a].count = 10; + pset->brush[a].count = 11; } } } diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c index e34f12b1cf9..41fceb951c2 100644 --- a/source/blender/blenloader/intern/versioning_defaults.c +++ b/source/blender/blenloader/intern/versioning_defaults.c @@ -144,6 +144,11 @@ void BLO_update_defaults_startup_blend(Main *bmain) brush->size = 50; brush->strength = 0.5f; // XXX? brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF; + + brush = &gset->brush[GP_EDITBRUSH_TYPE_CLIP]; /* clipping */ + brush->size = 40; + brush->strength = 0.5f; // XXX? + brush->flag = GP_EDITBRUSH_FLAG_USE_FALLOFF; brush = &gset->brush[GP_EDITBRUSH_TYPE_RANDOMIZE]; brush->size = 25; diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt index 2a84ca7f297..2c59a9e6756 100644 --- a/source/blender/editors/datafiles/CMakeLists.txt +++ b/source/blender/editors/datafiles/CMakeLists.txt @@ -70,6 +70,7 @@ if(WITH_BLENDER) data_to_c_simple(../../../../release/datafiles/brushicons/blob.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/blur.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/clay.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/clip.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/claystrips.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/clone.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/crease.png SRC) diff --git a/source/blender/editors/include/ED_datafiles.h b/source/blender/editors/include/ED_datafiles.h index 661ab58b98c..b1458bb08be 100644 --- a/source/blender/editors/include/ED_datafiles.h +++ b/source/blender/editors/include/ED_datafiles.h @@ -105,6 +105,9 @@ extern char datatoc_flatten_png[]; extern int datatoc_grab_png_size; extern char datatoc_grab_png[]; +extern int datatoc_clip_png_size; +extern char datatoc_clip_png[]; + extern int datatoc_inflate_png_size; extern char datatoc_inflate_png[]; diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h index 8420591aa3e..2c7032ca68a 100644 --- a/source/blender/editors/include/UI_icons.h +++ b/source/blender/editors/include/UI_icons.h @@ -950,6 +950,7 @@ DEF_ICON(BRUSH_BLOB) DEF_ICON(BRUSH_BLUR) DEF_ICON(BRUSH_CLAY) DEF_ICON(BRUSH_CLAY_STRIPS) +DEF_ICON(BRUSH_CLIP) DEF_ICON(BRUSH_CLONE) DEF_ICON(BRUSH_CREASE) DEF_ICON(BRUSH_DARKEN) diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c index 65b12fcd64e..6cc85fa065c 100644 --- a/source/blender/editors/interface/interface_icons.c +++ b/source/blender/editors/interface/interface_icons.c @@ -374,6 +374,7 @@ static void init_brush_icons(void) INIT_BRUSH_ICON(ICON_BRUSH_FILL, fill); INIT_BRUSH_ICON(ICON_BRUSH_FLATTEN, flatten); INIT_BRUSH_ICON(ICON_BRUSH_GRAB, grab); + INIT_BRUSH_ICON(ICON_BRUSH_CLIP, clip); INIT_BRUSH_ICON(ICON_BRUSH_INFLATE, inflate); INIT_BRUSH_ICON(ICON_BRUSH_LAYER, layer); INIT_BRUSH_ICON(ICON_BRUSH_LIGHTEN, lighten); diff --git a/source/blender/editors/sculpt_paint/paint_ops.c b/source/blender/editors/sculpt_paint/paint_ops.c index f88b64129e7..6842e6a5fb8 100644 --- a/source/blender/editors/sculpt_paint/paint_ops.c +++ b/source/blender/editors/sculpt_paint/paint_ops.c @@ -1592,6 +1592,7 @@ void ED_keymap_paint(wmKeyConfig *keyconf) keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_PINCH, PKEY, 0); keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_INFLATE, IKEY, 0); keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_GRAB, GKEY, 0); + keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_CLIP, YKEY, 0); keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_LAYER, LKEY, 0); keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_FLATTEN, TKEY, KM_SHIFT); keymap_brush_select(keymap, OB_MODE_SCULPT, SCULPT_TOOL_CLAY, CKEY, 0); diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index 44cc2720a32..bcbb92e4468 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -1230,7 +1230,6 @@ static float brush_strength( case SCULPT_TOOL_ROTATE: return alpha * pressure * feather; - default: return 0; } @@ -3053,6 +3052,12 @@ static void do_clay_strips_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int t ((sd->flags & SCULPT_USE_OPENMP) && totnode > SCULPT_THREADED_LIMIT), false); } +static void do_clip_brush(Sculpt *sd, Object *ob, PBVHNode **nodes, int totnode) /*clipping*/ +{ + // some functions in future + +} + static void do_fill_brush_task_cb_ex( void *userdata, void *UNUSED(userdata_chunk), const int n, const int thread_id) { @@ -3439,6 +3444,9 @@ static void do_brush_action(Sculpt *sd, Object *ob, Brush *brush, UnifiedPaintSe case SCULPT_TOOL_ROTATE: do_rotate_brush(sd, ob, nodes, totnode); break; + case SCULPT_TOOL_CLIP: /*CLIP*/ + do_clip_brush(sd, ob, nodes, totnode); + break; case SCULPT_TOOL_SNAKE_HOOK: do_snake_hook_brush(sd, ob, nodes, totnode); break; @@ -3915,6 +3923,8 @@ static const char *sculpt_tool_name(Sculpt *sd) return "Inflate Brush"; case SCULPT_TOOL_GRAB: return "Grab Brush"; + case SCULPT_TOOL_CLIP: /*clip*/ + return "Clip Brush"; case SCULPT_TOOL_NUDGE: return "Nudge Brush"; case SCULPT_TOOL_THUMB: diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h index f4a1677efc4..4d4d6a2cf9d 100644 --- a/source/blender/makesdna/DNA_brush_types.h +++ b/source/blender/makesdna/DNA_brush_types.h @@ -252,7 +252,8 @@ typedef enum BrushSculptTool { SCULPT_TOOL_CREASE = 16, SCULPT_TOOL_BLOB = 17, SCULPT_TOOL_CLAY_STRIPS = 18, - SCULPT_TOOL_MASK = 19 + SCULPT_TOOL_MASK = 19, + SCULPT_TOOL_CLIP = 20 } BrushSculptTool; /** When #BRUSH_ACCUMULATE is used */ diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index c2711c465e1..ffd895aa7d6 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1191,7 +1191,7 @@ typedef enum eGP_EditBrush_Types { GP_EDITBRUSH_TYPE_SIMPLIFY = 8, GP_EDITBRUSH_TYPE_CLONE = 9, GP_EDITBRUSH_TYPE_STRENGTH = 10, - + GP_EDITBRUSH_TYPE_CLIP = 11, /* !!! Update GP_EditBrush_Data brush[###]; below !!! */ TOT_GP_EDITBRUSH_TYPES } eGP_EditBrush_Types; @@ -1229,7 +1229,7 @@ typedef enum eGP_EditBrush_Flag { /* GPencil Stroke Sculpting Settings */ typedef struct GP_BrushEdit_Settings { - GP_EditBrush_Data brush[11]; /* TOT_GP_EDITBRUSH_TYPES */ + GP_EditBrush_Data brush[12]; /* TOT_GP_EDITBRUSH_TYPES */ void *paintcursor; /* runtime */ int brushtype; /* eGP_EditBrush_Types */ diff --git a/source/blender/makesrna/intern/rna_brush.c b/source/blender/makesrna/intern/rna_brush.c index ac348c1750c..fab4ccc1d75 100644 --- a/source/blender/makesrna/intern/rna_brush.c +++ b/source/blender/makesrna/intern/rna_brush.c @@ -71,6 +71,7 @@ EnumPropertyItem rna_enum_brush_sculpt_tool_items[] = { {SCULPT_TOOL_FILL, "FILL", ICON_BRUSH_FILL, "Fill", ""}, {SCULPT_TOOL_FLATTEN, "FLATTEN", ICON_BRUSH_FLATTEN, "Flatten", ""}, {SCULPT_TOOL_GRAB, "GRAB", ICON_BRUSH_GRAB, "Grab", ""}, + {SCULPT_TOOL_CLIP, "CLIP", ICON_BRUSH_CLIP, "Clip", ""}, {SCULPT_TOOL_INFLATE, "INFLATE", ICON_BRUSH_INFLATE, "Inflate", ""}, {SCULPT_TOOL_LAYER, "LAYER", ICON_BRUSH_LAYER, "Layer", ""}, {SCULPT_TOOL_MASK, "MASK", ICON_BRUSH_MASK, "Mask", ""}, _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs