static int brush_curve_preset_exec(bContext *C, wmOperator *op) { Brush *br = BKE_paint_brush(BKE_paint_get_active_from_context(C)); if (br) { Scene *scene = CTX_data_scene(C); BKE_brush_curve_preset(br, RNA_enum_get(op->ptr, "shape")); BKE_paint_invalidate_cursor_overlay(scene, br->curve); } return OPERATOR_FINISHED; }
void BKE_brush_init(Brush *brush) { BLI_assert(MEMCMP_STRUCT_OFS_IS_ZERO(brush, id)); /* enable fake user by default */ id_fake_user_set(&brush->id); brush_defaults(brush); brush->sculpt_tool = SCULPT_TOOL_DRAW; /* sculpting defaults to the draw tool for new brushes */ /* the default alpha falloff curve */ BKE_brush_curve_preset(brush, CURVE_PRESET_SMOOTH); }
void BKE_brush_init(Brush *brush) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(brush, id)); /* enable fake user by default */ id_fake_user_set(&brush->id); brush_defaults(brush); brush->sculpt_tool = SCULPT_TOOL_DRAW; /* sculpting defaults to the draw tool for new brushes */ /* A kernel radius of 1 has almost no effect (T63233). */ brush->blur_kernel_radius = 2; /* the default alpha falloff curve */ BKE_brush_curve_preset(brush, CURVE_PRESET_SMOOTH); }
Brush *BKE_brush_add(Main *bmain, const char *name) { Brush *brush; brush = BKE_libblock_alloc(bmain, ID_BR, name); /* enable fake user by default */ brush->id.flag |= LIB_FAKEUSER; brush_defaults(brush); brush->sculpt_tool = SCULPT_TOOL_DRAW; /* sculpting defaults to the draw tool for new brushes */ /* the default alpha falloff curve */ BKE_brush_curve_preset(brush, CURVE_PRESET_SMOOTH); return brush; }
void BKE_brush_sculpt_reset(Brush *br) { /* enable this to see any non-default * settings used by a brush: */ // BKE_brush_debug_print_state(br); brush_defaults(br); BKE_brush_curve_preset(br, CURVE_PRESET_SMOOTH); switch (br->sculpt_tool) { case SCULPT_TOOL_CLAY: br->flag |= BRUSH_FRONTFACE; break; case SCULPT_TOOL_CREASE: br->flag |= BRUSH_DIR_IN; br->alpha = 0.25; break; case SCULPT_TOOL_FILL: br->add_col[1] = 1; br->sub_col[0] = 0.25; br->sub_col[1] = 1; break; case SCULPT_TOOL_FLATTEN: br->add_col[1] = 1; br->sub_col[0] = 0.25; br->sub_col[1] = 1; break; case SCULPT_TOOL_INFLATE: br->add_col[0] = 0.750000; br->add_col[1] = 0.750000; br->add_col[2] = 0.750000; br->sub_col[0] = 0.250000; br->sub_col[1] = 0.250000; br->sub_col[2] = 0.250000; break; case SCULPT_TOOL_NUDGE: br->add_col[0] = 0.250000; br->add_col[1] = 1.000000; br->add_col[2] = 0.250000; break; case SCULPT_TOOL_PINCH: br->add_col[0] = 0.750000; br->add_col[1] = 0.750000; br->add_col[2] = 0.750000; br->sub_col[0] = 0.250000; br->sub_col[1] = 0.250000; br->sub_col[2] = 0.250000; break; case SCULPT_TOOL_SCRAPE: 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; case SCULPT_TOOL_SMOOTH: br->flag &= ~BRUSH_SPACE_ATTEN; br->spacing = 5; br->add_col[0] = 0.750000; br->add_col[1] = 0.750000; br->add_col[2] = 0.750000; break; case SCULPT_TOOL_GRAB: case SCULPT_TOOL_SNAKE_HOOK: case SCULPT_TOOL_THUMB: br->size = 75; br->flag &= ~BRUSH_ALPHA_PRESSURE; br->flag &= ~BRUSH_SPACE; br->flag &= ~BRUSH_SPACE_ATTEN; br->add_col[0] = 0.250000; br->add_col[1] = 1.000000; br->add_col[2] = 0.250000; break; default: break; } }