Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "DNA_brush_types.h"
#include "DNA_defaults.h"
#include "DNA_gpencil_types.h"
#include "DNA_material_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_rand.h"
#include "BLT_translation.h"
#include "BKE_bpath.h"
#include "BKE_brush.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_gpencil.h"
#include "BKE_icons.h"
#include "BKE_idtype.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_lib_remap.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_paint.h"
#include "BKE_texture.h"
#include "IMB_colormanagement.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "RE_texture.h"
#include "BLO_read_write.h"
Go to the source code of this file.
Macros | |
#define | FROM_DEFAULT(member) memcpy((void *)&brush->member, (void *)&brush_def->member, sizeof(brush->member)) |
#define | FROM_DEFAULT_PTR(member) memcpy(brush->member, brush_def->member, sizeof(brush->member)) |
#define | SMOOTH_STROKE_RADIUS 40 |
#define | SMOOTH_STROKE_FACTOR 0.9f |
#define | ACTIVE_SMOOTH 0.35f |
#define | BR_TEST(field, t) |
#define | BR_TEST_FLAG(_f) |
#define | BR_TEST_FLAG_OVERLAY(_f) |
Typedefs | |
using | eGPCurveMappingPreset = enum eGPCurveMappingPreset { GPCURVE_PRESET_PENCIL=0, GPCURVE_PRESET_INK=1, GPCURVE_PRESET_INKNOISE=2, GPCURVE_PRESET_MARKER=3, GPCURVE_PRESET_CHISEL_SENSIVITY=4, GPCURVE_PRESET_CHISEL_STRENGTH=5, } |
Variables | |
IDTypeInfo | IDType_ID_BR |
static RNG * | brush_rng |
#define ACTIVE_SMOOTH 0.35f |
#define BR_TEST_FLAG | ( | _f | ) |
#define BR_TEST_FLAG_OVERLAY | ( | _f | ) |
#define FROM_DEFAULT | ( | member | ) | memcpy((void *)&brush->member, (void *)&brush_def->member, sizeof(brush->member)) |
#define FROM_DEFAULT_PTR | ( | member | ) | memcpy(brush->member, brush_def->member, sizeof(brush->member)) |
#define SMOOTH_STROKE_FACTOR 0.9f |
#define SMOOTH_STROKE_RADIUS 40 |
using eGPCurveMappingPreset = enum eGPCurveMappingPreset { GPCURVE_PRESET_PENCIL = 0, GPCURVE_PRESET_INK = 1, GPCURVE_PRESET_INKNOISE = 2, GPCURVE_PRESET_MARKER = 3, GPCURVE_PRESET_CHISEL_SENSIVITY = 4, GPCURVE_PRESET_CHISEL_STRENGTH = 5, } |
Brush* BKE_brush_add | ( | struct Main * | bmain, |
const char * | name, | ||
eObjectMode | ob_mode | ||
) |
Definition at line 496 of file brush.cc.
References BKE_brush_init_curves_sculpt_settings(), BKE_id_new(), ID_BR, Brush::ob_mode, and OB_MODE_SCULPT_CURVES.
Referenced by BKE_brush_add_gpencil(), BKE_paint_init(), BLO_update_defaults_startup_blend(), brush_add_exec(), brush_add_gpencil_exec(), brush_generic_tool_set(), and toolsystem_ref_link().
Brush* BKE_brush_add_gpencil | ( | struct Main * | bmain, |
struct ToolSettings * | ts, | ||
const char * | name, | ||
eObjectMode | mode | ||
) |
Add a new gp-brush.
Definition at line 536 of file brush.cc.
References BKE_brush_add(), BKE_brush_init_gpencil_settings(), BKE_paint_brush_set(), ToolSettings::gp_paint, ToolSettings::gp_sculptpaint, ToolSettings::gp_vertexpaint, ToolSettings::gp_weightpaint, Brush::id, id_us_min(), OB_MODE_PAINT_GPENCIL, OB_MODE_SCULPT_GPENCIL, OB_MODE_VERTEX_GPENCIL, OB_MODE_WEIGHT_GPENCIL, GpPaint::paint, GpVertexPaint::paint, GpSculptPaint::paint, GpWeightPaint::paint, and Brush::size.
Referenced by gpencil_brush_ensure(), and gpencil_get_default_eraser().
Definition at line 2325 of file brush.cc.
References Brush::alpha, UnifiedPaintSettings::alpha, UnifiedPaintSettings::flag, scene, Scene::toolsettings, UNIFIED_PAINT_ALPHA, and ToolSettings::unified_paint_settings.
Definition at line 2313 of file brush.cc.
References Brush::alpha, UnifiedPaintSettings::alpha, UnifiedPaintSettings::flag, scene, Scene::toolsettings, UNIFIED_PAINT_ALPHA, and ToolSettings::unified_paint_settings.
Referenced by blender::ed::sculpt_paint::image::ops::paint::paint_stroke_update_step().
Definition at line 2210 of file brush.cc.
References UnifiedPaintSettings::flag, Brush::rgb, UnifiedPaintSettings::rgb, scene, Scene::toolsettings, UNIFIED_PAINT_COLOR, and ToolSettings::unified_paint_settings.
Referenced by do_paint_brush_task_cb_ex(), blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >::init_brush_color(), paint_brush_color_get(), blender::ed::sculpt_paint::image::ops::paint::ImagePaintMode::paint_bucket_fill(), palette_color_add_exec(), sample_color_invoke(), sculpt_expand_cache_initial_config_set(), and vpaint_get_current_col().
Definition at line 2222 of file brush.cc.
References color, copy_v3_v3(), UnifiedPaintSettings::flag, Brush::rgb, UnifiedPaintSettings::rgb, scene, Scene::toolsettings, UNIFIED_PAINT_COLOR, and ToolSettings::unified_paint_settings.
Referenced by paint_sample_color(), sample_color_modal(), sculpt_sample_color_invoke(), and ui_do_but_COLOR().
void BKE_brush_curve_preset | ( | struct Brush * | b, |
enum eCurveMappingPreset | preset | ||
) |
Library Operations
Definition at line 1942 of file brush.cc.
References usdtokens::b(), BKE_curvemap_reset(), BKE_curvemapping_add(), BKE_curvemapping_changed(), CurveMapping::clipr, CUMA_EXTEND_EXTRAPOLATE, CURVEMAP_SLOPE_NEGATIVE, CurveMapping::flag, and CurveMapping::preset.
Referenced by BKE_brush_sculpt_reset(), brush_blend_read_data(), brush_curve_preset_exec(), and brush_init_data().
Definition at line 2413 of file brush.cc.
References BKE_curvemapping_evaluateF(), BRUSH_CURVE_CONSTANT, BRUSH_CURVE_CUSTOM, BRUSH_CURVE_INVSQUARE, BRUSH_CURVE_LIN, BRUSH_CURVE_POW4, BRUSH_CURVE_ROOT, BRUSH_CURVE_SHARP, BRUSH_CURVE_SMOOTH, BRUSH_CURVE_SMOOTHER, BRUSH_CURVE_SPHERE, Brush::curve, Brush::curve_preset, len, pow3f(), and sqrtf.
Referenced by BKE_brush_curve_strength_clamped().
Definition at line 2460 of file brush.cc.
References BKE_brush_curve_strength(), CLAMP, and len.
Referenced by BKE_brush_gen_radial_control_imbuf().
Definition at line 1577 of file brush.cc.
References Brush::add_col, Brush::alpha, Brush::autosmooth_factor, blend(), BR_TEST, BR_TEST_FLAG, BR_TEST_FLAG_OVERLAY, BRUSH_ACCUMULATE, BRUSH_ADAPTIVE_SPACE, BRUSH_AIRBRUSH, BRUSH_ALPHA_PRESSURE, BRUSH_ANCHORED, BRUSH_CUSTOM_ICON, brush_defaults(), BRUSH_DIR_IN, BRUSH_DRAG_DOT, BRUSH_EDGE_TO_EDGE, BRUSH_FRONTFACE, BRUSH_INVERSE_SMOOTH_PRESSURE, BRUSH_JITTER_PRESSURE, BRUSH_LOCK_ALPHA, BRUSH_LOCK_SIZE, BRUSH_OFFSET_PRESSURE, BRUSH_ORIGINAL_NORMAL, BRUSH_OVERLAY_CURSOR, BRUSH_OVERLAY_CURSOR_OVERRIDE_ON_STROKE, BRUSH_OVERLAY_PRIMARY, BRUSH_OVERLAY_PRIMARY_OVERRIDE_ON_STROKE, BRUSH_OVERLAY_SECONDARY, BRUSH_OVERLAY_SECONDARY_OVERRIDE_ON_STROKE, BRUSH_PERSISTENT, BRUSH_PLANE_TRIM, BRUSH_SIZE_PRESSURE, BRUSH_SMOOTH_STROKE, BRUSH_SPACE, BRUSH_SPACE_ATTEN, BRUSH_SPACING_PRESSURE, Brush::crease_pinch_factor, Brush::jitter, Brush::normal_weight, Brush::plane_offset, Brush::plane_trim, Brush::rate, Brush::sculpt_plane, size(), Brush::smooth_stroke_factor, Brush::smooth_stroke_radius, Brush::spacing, Brush::sub_col, Brush::texture_overlay_alpha, Brush::texture_sample_bias, and Brush::topology_rake_factor.
Delete a Brush.
Definition at line 575 of file brush.cc.
References BKE_id_delete(), BKE_library_ID_is_indirectly_used(), Brush::id, ID_EXTRA_USERS, ID_REAL_USERS, LIB_TAG_INDIRECT, and ID::tag.
Referenced by gpencil_brush_delete_mode_brushes().
struct Brush* BKE_brush_first_search | ( | struct Main * | bmain, |
const eObjectMode | ob_mode | ||
) |
Definition at line 1567 of file brush.cc.
References Main::brushes, LISTBASE_FOREACH, and Brush::ob_mode.
Referenced by BKE_paint_init().
struct ImBuf* BKE_brush_gen_radial_control_imbuf | ( | struct Brush * | br, |
bool | secondary, | ||
bool | display_gradient | ||
) |
Radial control.
Definition at line 2500 of file brush.cc.
References BKE_brush_curve_strength_clamped(), BKE_curvemapping_init(), brush_gen_texture(), Brush::curve, MEM_callocN, pow2f(), ImBuf::rect_float, sqrtf, ImBuf::x, and ImBuf::y.
Referenced by radial_control_set_tex().
void BKE_brush_gpencil_paint_presets | ( | struct Main * | bmain, |
struct ToolSettings * | ts, | ||
bool | reset | ||
) |
Create a set of grease pencil Drawing presets.
Definition at line 1308 of file brush.cc.
References BKE_gpencil_brush_preset_set(), BKE_paint_brush_set(), Paint::brush, GP_BRUSH_PRESET_AIRBRUSH, GP_BRUSH_PRESET_ERASER_HARD, GP_BRUSH_PRESET_ERASER_POINT, GP_BRUSH_PRESET_ERASER_SOFT, GP_BRUSH_PRESET_ERASER_STROKE, GP_BRUSH_PRESET_FILL_AREA, GP_BRUSH_PRESET_INK_PEN, GP_BRUSH_PRESET_INK_PEN_ROUGH, GP_BRUSH_PRESET_MARKER_BOLD, GP_BRUSH_PRESET_MARKER_CHISEL, GP_BRUSH_PRESET_PEN, GP_BRUSH_PRESET_PENCIL, GP_BRUSH_PRESET_PENCIL_SOFT, GP_BRUSH_PRESET_TINT, ToolSettings::gp_paint, gpencil_brush_ensure(), OB_MODE_PAINT_GPENCIL, GpPaint::paint, and reset.
Referenced by BLO_update_defaults_startup_blend(), ED_gpencil_add_defaults(), gpencil_brush_reset_all_exec(), gpencil_init_drawing_brush(), gpencil_paintmode_toggle_exec(), gpencil_prepare_stroke(), and gpencil_primitive_init().
void BKE_brush_gpencil_sculpt_presets | ( | struct Main * | bmain, |
struct ToolSettings * | ts, | ||
bool | reset | ||
) |
Create a set of grease pencil Sculpt Paint presets.
Definition at line 1455 of file brush.cc.
References BKE_gpencil_brush_preset_set(), BKE_paint_brush_set(), Paint::brush, GP_BRUSH_PRESET_CLONE_STROKE, GP_BRUSH_PRESET_GRAB_STROKE, GP_BRUSH_PRESET_PINCH_STROKE, GP_BRUSH_PRESET_PUSH_STROKE, GP_BRUSH_PRESET_RANDOMIZE_STROKE, GP_BRUSH_PRESET_SMOOTH_STROKE, GP_BRUSH_PRESET_STRENGTH_STROKE, GP_BRUSH_PRESET_THICKNESS_STROKE, GP_BRUSH_PRESET_TWIST_STROKE, ToolSettings::gp_sculptpaint, gpencil_brush_ensure(), OB_MODE_SCULPT_GPENCIL, GpSculptPaint::paint, and reset.
Referenced by BLO_update_defaults_startup_blend(), gpencil_brush_reset_all_exec(), and gpencil_sculptmode_toggle_exec().
void BKE_brush_gpencil_vertex_presets | ( | struct Main * | bmain, |
struct ToolSettings * | ts, | ||
bool | reset | ||
) |
Create a set of grease pencil Vertex Paint presets.
Definition at line 1409 of file brush.cc.
References BKE_gpencil_brush_preset_set(), BKE_paint_brush_set(), Paint::brush, GP_BRUSH_PRESET_VERTEX_AVERAGE, GP_BRUSH_PRESET_VERTEX_BLUR, GP_BRUSH_PRESET_VERTEX_DRAW, GP_BRUSH_PRESET_VERTEX_REPLACE, GP_BRUSH_PRESET_VERTEX_SMEAR, ToolSettings::gp_vertexpaint, gpencil_brush_ensure(), OB_MODE_VERTEX_GPENCIL, GpVertexPaint::paint, and reset.
Referenced by BLO_update_defaults_startup_blend(), gpencil_brush_reset_all_exec(), and gpencil_vertexmode_toggle_exec().
void BKE_brush_gpencil_weight_presets | ( | struct Main * | bmain, |
struct ToolSettings * | ts, | ||
bool | reset | ||
) |
Create a set of grease pencil Weight Paint presets.
Definition at line 1529 of file brush.cc.
References BKE_gpencil_brush_preset_set(), BKE_paint_brush_set(), Paint::brush, GP_BRUSH_PRESET_DRAW_WEIGHT, ToolSettings::gp_weightpaint, gpencil_brush_ensure(), OB_MODE_WEIGHT_GPENCIL, GpWeightPaint::paint, and reset.
Referenced by BLO_update_defaults_startup_blend(), gpencil_brush_reset_all_exec(), and gpencil_weightmode_toggle_exec().
Definition at line 1554 of file brush.cc.
References BrushCurvesSculptSettings::add_amount, BrushCurvesSculptSettings::curve_length, Brush::curves_sculpt_settings, BrushCurvesSculptSettings::density_add_attempts, BrushCurvesSculptSettings::minimum_length, and BrushCurvesSculptSettings::points_per_curve.
Referenced by BKE_brush_add().
Add grease pencil settings.
Definition at line 509 of file brush.cc.
References BKE_curvemapping_add(), BrushGpencilSettings::curve_jitter, BrushGpencilSettings::curve_rand_hue, BrushGpencilSettings::curve_rand_pressure, BrushGpencilSettings::curve_rand_saturation, BrushGpencilSettings::curve_rand_strength, BrushGpencilSettings::curve_rand_uv, BrushGpencilSettings::curve_rand_value, BrushGpencilSettings::curve_sensitivity, BrushGpencilSettings::curve_strength, BrushGpencilSettings::draw_jitter, BrushGpencilSettings::draw_smoothlvl, BrushGpencilSettings::draw_strength, BrushGpencilSettings::flag, GP_BRUSH_ICON_PEN, GP_BRUSH_USE_JITTER_PRESSURE, GP_BRUSH_USE_PRESSURE, Brush::gpencil_settings, and BrushGpencilSettings::icon_id.
Referenced by BKE_brush_add_gpencil(), brush_add_gpencil_exec(), and gpencil_brush_ensure().
void BKE_brush_jitter_pos | ( | const Scene * | scene, |
Brush * | brush, | ||
const float | pos[2], | ||
float | jitterpos[2] | ||
) |
Definition at line 2375 of file brush.cc.
References BKE_brush_size_get(), BLI_rng_get_float(), BRUSH_ABSOLUTE_JITTER, brush_rng, Brush::flag, Brush::jitter, Brush::jitter_absolute, len_squared_v2(), pos, scene, and square_f().
void BKE_brush_randomize_texture_coords | ( | UnifiedPaintSettings * | ups, |
bool | mask | ||
) |
Definition at line 2399 of file brush.cc.
References BLI_rng_get_float(), brush_rng, mask(), UnifiedPaintSettings::mask_tex_mouse, UnifiedPaintSettings::pixel_radius, and UnifiedPaintSettings::tex_mouse.
Referenced by paint_brush_update().
float BKE_brush_sample_masktex | ( | const Scene * | scene, |
Brush * | br, | ||
const float | point[2], | ||
const int | thread, | ||
struct ImagePool * | pool | ||
) |
Definition at line 2082 of file brush.cc.
References angle(), atan2f, MTex::brush_map_mode, BRUSH_MASK_PRESSURE_CUTOFF, BRUSH_MASK_PRESSURE_RAMP, UnifiedPaintSettings::brush_rotation_sec, CLAMP, cosf, fabsf, Brush::mask_mtex, Brush::mask_pressure, Brush::mask_stencil_dimension, Brush::mask_stencil_pos, UnifiedPaintSettings::mask_tex_mouse, Brush::mtex, MTEX_MAP_MODE_RANDOM, MTEX_MAP_MODE_STENCIL, MTEX_MAP_MODE_TILED, MTEX_MAP_MODE_VIEW, UnifiedPaintSettings::pixel_radius, point, blender::compositor::pool, RE_texture_evaluate(), usdtokens::rgba(), MTex::rot, scene, sinf, UnifiedPaintSettings::size_pressure_value, sqrtf, UnifiedPaintSettings::start_pixel_radius, MTex::tex, Scene::toolsettings, ToolSettings::unified_paint_settings, x, y, and zero_v4().
float BKE_brush_sample_tex_3d | ( | const Scene * | scene, |
const Brush * | br, | ||
const float | point[3], | ||
float | rgba[4], | ||
const int | thread, | ||
struct ImagePool * | pool | ||
) |
Definition at line 1959 of file brush.cc.
References angle(), atan2f, MTex::brush_map_mode, UnifiedPaintSettings::brush_rotation, UnifiedPaintSettings::colorspace, cosf, UnifiedPaintSettings::do_linear_conversion, fabsf, IMB_colormanagement_colorspace_to_scene_linear_v3(), Brush::mtex, MTEX_MAP_MODE_3D, MTEX_MAP_MODE_RANDOM, MTEX_MAP_MODE_STENCIL, MTEX_MAP_MODE_TILED, MTEX_MAP_MODE_VIEW, UnifiedPaintSettings::pixel_radius, point, blender::compositor::pool, RE_texture_evaluate(), usdtokens::rgba(), MTex::rot, scene, sinf, sqrtf, UnifiedPaintSettings::start_pixel_radius, Brush::stencil_dimension, Brush::stencil_pos, MTex::tex, UnifiedPaintSettings::tex_mouse, Brush::texture_sample_bias, Scene::toolsettings, ToolSettings::unified_paint_settings, x, y, and zero_v4().
Definition at line 2275 of file brush.cc.
References ELEM, Brush::sculpt_tool, SCULPT_TOOL_BLOB, SCULPT_TOOL_CLAY, SCULPT_TOOL_CLAY_STRIPS, SCULPT_TOOL_CLAY_THUMB, SCULPT_TOOL_CREASE, SCULPT_TOOL_DRAW, SCULPT_TOOL_DRAW_SHARP, SCULPT_TOOL_FILL, SCULPT_TOOL_FLATTEN, SCULPT_TOOL_INFLATE, SCULPT_TOOL_LAYER, SCULPT_TOOL_MASK, SCULPT_TOOL_PINCH, and SCULPT_TOOL_SCRAPE.
Definition at line 1683 of file brush.cc.
References Brush::add_col, Brush::alpha, Brush::area_radius_factor, Brush::autosmooth_factor, BKE_brush_curve_preset(), BRUSH_ACCUMULATE, BRUSH_ALPHA_PRESSURE, BRUSH_CLOTH_DEFORM_DRAG, BRUSH_CURVE_CONSTANT, BRUSH_CURVE_POW4, BRUSH_CURVE_SMOOTH, BRUSH_CURVE_SMOOTHER, BRUSH_CURVE_SPHERE, brush_defaults(), BRUSH_DIR_IN, BRUSH_ELASTIC_DEFORM_GRAB_TRISCALE, BRUSH_INVERT_TO_SCRAPE_FILL, BRUSH_MULTIPLANE_SCRAPE_DYNAMIC, BRUSH_MULTIPLANE_SCRAPE_PLANES_PREVIEW, BRUSH_POSE_IK_ANCHORED, BRUSH_SIZE_PRESSURE, BRUSH_SLIDE_DEFORM_DRAG, BRUSH_SPACE, BRUSH_SPACE_ATTEN, BRUSH_USE_CONNECTED_ONLY, Brush::cloth_damping, Brush::cloth_deform_type, Brush::cloth_mass, Brush::cloth_sim_falloff, Brush::cloth_sim_limit, copy_v3_fl(), Brush::curve_preset, CURVE_PRESET_SMOOTH, Brush::density, Brush::elastic_deform_type, Brush::elastic_deform_volume_preservation, Brush::flag, Brush::flag2, Brush::flow, Brush::hardness, Brush::height, Brush::multiplane_scrape_angle, Brush::normal_radius_factor, Brush::pose_ik_segments, Brush::pose_smooth_iterations, Brush::rake_factor, Brush::rgb, Brush::sculpt_tool, SCULPT_TOOL_BLOB, SCULPT_TOOL_BOUNDARY, SCULPT_TOOL_CLAY, SCULPT_TOOL_CLAY_STRIPS, SCULPT_TOOL_CLAY_THUMB, SCULPT_TOOL_CLOTH, SCULPT_TOOL_CREASE, SCULPT_TOOL_DISPLACEMENT_ERASER, SCULPT_TOOL_DISPLACEMENT_SMEAR, SCULPT_TOOL_DRAW, SCULPT_TOOL_DRAW_FACE_SETS, SCULPT_TOOL_DRAW_SHARP, SCULPT_TOOL_ELASTIC_DEFORM, SCULPT_TOOL_FILL, SCULPT_TOOL_FLATTEN, SCULPT_TOOL_GRAB, SCULPT_TOOL_INFLATE, SCULPT_TOOL_LAYER, SCULPT_TOOL_MASK, SCULPT_TOOL_MULTIPLANE_SCRAPE, SCULPT_TOOL_NUDGE, SCULPT_TOOL_PAINT, SCULPT_TOOL_PINCH, SCULPT_TOOL_POSE, SCULPT_TOOL_ROTATE, SCULPT_TOOL_SCRAPE, SCULPT_TOOL_SIMPLIFY, SCULPT_TOOL_SLIDE_RELAX, SCULPT_TOOL_SMEAR, SCULPT_TOOL_SMOOTH, SCULPT_TOOL_SNAKE_HOOK, SCULPT_TOOL_THUMB, Brush::secondary_rgb, Brush::size, Brush::slide_deform_type, Brush::spacing, Brush::sub_col, Brush::surface_smooth_current_vertex, Brush::surface_smooth_iterations, Brush::surface_smooth_shape_preservation, Brush::tip_roundness, Brush::tip_scale_x, and zero_v3().
Referenced by BLO_update_defaults_startup_blend(), brush_reset_exec(), and toolsystem_ref_link().
const float* BKE_brush_secondary_color_get | ( | const struct Scene * | scene, |
const struct Brush * | brush | ||
) |
Definition at line 2216 of file brush.cc.
References UnifiedPaintSettings::flag, scene, Brush::secondary_rgb, UnifiedPaintSettings::secondary_rgb, Scene::toolsettings, UNIFIED_PAINT_COLOR, and ToolSettings::unified_paint_settings.
Referenced by do_paint_brush_task_cb_ex(), blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >::init_brush_color(), paint_brush_color_get(), blender::ed::sculpt_paint::image::ops::paint::ImagePaintMode::paint_bucket_fill(), and vpaint_get_current_col().
Definition at line 2249 of file brush.cc.
References UnifiedPaintSettings::flag, scene, size(), Brush::size, UnifiedPaintSettings::size, Scene::toolsettings, ToolSettings::unified_paint_settings, and UNIFIED_PAINT_SIZE.
Referenced by BKE_brush_jitter_pos().
Definition at line 2234 of file brush.cc.
References CLAMP, UnifiedPaintSettings::flag, MAX_BRUSH_PIXEL_RADIUS, scene, size(), Brush::size, UnifiedPaintSettings::size, Scene::toolsettings, ToolSettings::unified_paint_settings, and UNIFIED_PAINT_SIZE.
Referenced by brush_scale_size_exec(), paint_cursor_sculpt_session_update_and_init(), paint_proj_new_stroke(), paint_proj_stroke_done(), smooth_brush_toggle_off(), smooth_brush_toggle_on(), and texture_paint_camera_project_exec().
Definition at line 433 of file brush.cc.
References BLI_rng_free(), and brush_rng.
Referenced by BKE_blender_free().
Definition at line 427 of file brush.cc.
References BLI_rng_new(), BLI_rng_srandom(), and brush_rng.
Referenced by main().
Definition at line 2306 of file brush.cc.
References UnifiedPaintSettings::flag, scene, Scene::toolsettings, ToolSettings::unified_paint_settings, UNIFIED_PAINT_SIZE, Brush::unprojected_radius, and UnifiedPaintSettings::unprojected_radius.
Definition at line 2294 of file brush.cc.
References UnifiedPaintSettings::flag, scene, Scene::toolsettings, ToolSettings::unified_paint_settings, UNIFIED_PAINT_SIZE, Brush::unprojected_radius, and UnifiedPaintSettings::unprojected_radius.
Referenced by brush_scale_size_exec(), paint_cursor_update_unprojected_radius(), sculpt_update_cache_variants(), and vwpaint_update_cache_variants().
Definition at line 2270 of file brush.cc.
References BRUSH_ALPHA_PRESSURE, and Brush::flag.
Definition at line 2257 of file brush.cc.
References BRUSH_LOCK_SIZE, Brush::flag, UnifiedPaintSettings::flag, scene, Scene::toolsettings, UNIFIED_PAINT_BRUSH_LOCK_SIZE, ToolSettings::unified_paint_settings, and UNIFIED_PAINT_SIZE.
Definition at line 2265 of file brush.cc.
References BRUSH_SIZE_PRESSURE, and Brush::flag.
Definition at line 2332 of file brush.cc.
References UnifiedPaintSettings::flag, scene, Scene::toolsettings, ToolSettings::unified_paint_settings, UNIFIED_PAINT_WEIGHT, Brush::weight, and UnifiedPaintSettings::weight.
Definition at line 2339 of file brush.cc.
References UnifiedPaintSettings::flag, scene, Scene::toolsettings, ToolSettings::unified_paint_settings, UNIFIED_PAINT_WEIGHT, Brush::weight, and UnifiedPaintSettings::weight.
Definition at line 669 of file brush.cc.
References ACTIVE_SMOOTH, BrushGpencilSettings::active_smooth, BrushGpencilSettings::aspect_ratio, BKE_curvemapping_init(), BKE_curvemapping_set_defaults(), BKE_gpencil_brush_material_set(), BKE_gpencil_material_add(), BLI_assert, BLI_findstring(), BRUSH_CURVE_SMOOTH, brush_gpencil_curvemap_reset(), CurveMapping::cm, copy_v2_fl(), Brush::curve_preset, BrushGpencilSettings::curve_sensitivity, BrushGpencilSettings::curve_strength, DEG2RAD, BrushGpencilSettings::dilate_pixels, BrushGpencilSettings::draw_angle, BrushGpencilSettings::draw_angle_factor, BrushGpencilSettings::draw_jitter, BrushGpencilSettings::draw_random_press, BrushGpencilSettings::draw_random_strength, BrushGpencilSettings::draw_smoothfac, BrushGpencilSettings::draw_smoothlvl, BrushGpencilSettings::draw_strength, BrushGpencilSettings::draw_subdivide, BrushGpencilSettings::era_strength_f, BrushGpencilSettings::era_thickness_f, BrushGpencilSettings::eraser_mode, BrushGpencilSettings::fill_factor, BrushGpencilSettings::fill_leak, BrushGpencilSettings::fill_simplylvl, BrushGpencilSettings::fill_threshold, BrushGpencilSettings::flag, GP_BRUSH_DEFAULT_ERASER, GP_BRUSH_ERASER_HARD, GP_BRUSH_ERASER_SOFT, GP_BRUSH_ERASER_STROKE, GP_BRUSH_FILL_SHOW_EXTENDLINES, GP_BRUSH_GROUP_RANDOM, GP_BRUSH_GROUP_SETTINGS, GP_BRUSH_ICON_AIRBRUSH, GP_BRUSH_ICON_CHISEL, GP_BRUSH_ICON_ERASE_HARD, GP_BRUSH_ICON_ERASE_SOFT, GP_BRUSH_ICON_ERASE_STROKE, GP_BRUSH_ICON_FILL, GP_BRUSH_ICON_GPBRUSH_CLONE, GP_BRUSH_ICON_GPBRUSH_GRAB, GP_BRUSH_ICON_GPBRUSH_PINCH, GP_BRUSH_ICON_GPBRUSH_PUSH, GP_BRUSH_ICON_GPBRUSH_RANDOMIZE, GP_BRUSH_ICON_GPBRUSH_SMOOTH, GP_BRUSH_ICON_GPBRUSH_STRENGTH, GP_BRUSH_ICON_GPBRUSH_THICKNESS, GP_BRUSH_ICON_GPBRUSH_TWIST, GP_BRUSH_ICON_GPBRUSH_WEIGHT, GP_BRUSH_ICON_INK, GP_BRUSH_ICON_INKNOISE, GP_BRUSH_ICON_MARKER, GP_BRUSH_ICON_PEN, GP_BRUSH_ICON_PENCIL, GP_BRUSH_ICON_TINT, GP_BRUSH_ICON_VERTEX_AVERAGE, GP_BRUSH_ICON_VERTEX_BLUR, GP_BRUSH_ICON_VERTEX_DRAW, GP_BRUSH_ICON_VERTEX_REPLACE, GP_BRUSH_ICON_VERTEX_SMEAR, GP_BRUSH_MATERIAL_PINNED, GP_BRUSH_PRESET_AIRBRUSH, GP_BRUSH_PRESET_CLONE_STROKE, GP_BRUSH_PRESET_DRAW_WEIGHT, GP_BRUSH_PRESET_ERASER_HARD, GP_BRUSH_PRESET_ERASER_POINT, GP_BRUSH_PRESET_ERASER_SOFT, GP_BRUSH_PRESET_ERASER_STROKE, GP_BRUSH_PRESET_FILL_AREA, GP_BRUSH_PRESET_GRAB_STROKE, GP_BRUSH_PRESET_INK_PEN, GP_BRUSH_PRESET_INK_PEN_ROUGH, GP_BRUSH_PRESET_MARKER_BOLD, GP_BRUSH_PRESET_MARKER_CHISEL, GP_BRUSH_PRESET_PEN, GP_BRUSH_PRESET_PENCIL, GP_BRUSH_PRESET_PENCIL_SOFT, GP_BRUSH_PRESET_PINCH_STROKE, GP_BRUSH_PRESET_PUSH_STROKE, GP_BRUSH_PRESET_RANDOMIZE_STROKE, GP_BRUSH_PRESET_SMOOTH_STROKE, GP_BRUSH_PRESET_STRENGTH_STROKE, GP_BRUSH_PRESET_THICKNESS_STROKE, GP_BRUSH_PRESET_TINT, GP_BRUSH_PRESET_TWIST_STROKE, GP_BRUSH_PRESET_VERTEX_AVERAGE, GP_BRUSH_PRESET_VERTEX_BLUR, GP_BRUSH_PRESET_VERTEX_DRAW, GP_BRUSH_PRESET_VERTEX_REPLACE, GP_BRUSH_PRESET_VERTEX_SMEAR, GP_BRUSH_USE_JITTER_PRESSURE, GP_BRUSH_USE_PRESSURE, GP_BRUSH_USE_STRENGTH_PRESSURE, GP_MATERIAL_MODE_DOT, GP_SCULPT_FLAGMODE_APPLY_POSITION, GP_SCULPT_FLAGMODE_APPLY_THICKNESS, Material::gp_style, GPAINT_TOOL_DRAW, GPAINT_TOOL_ERASE, GPAINT_TOOL_FILL, GPAINT_TOOL_TINT, Brush::gpencil_sculpt_tool, Brush::gpencil_settings, Brush::gpencil_tool, Brush::gpencil_vertex_tool, Brush::gpencil_weight_tool, GPPAINT_MODE_BOTH, GPPAINT_MODE_FILL, GPSCULPT_TOOL_CLONE, GPSCULPT_TOOL_GRAB, GPSCULPT_TOOL_PINCH, GPSCULPT_TOOL_PUSH, GPSCULPT_TOOL_RANDOMIZE, GPSCULPT_TOOL_SMOOTH, GPSCULPT_TOOL_STRENGTH, GPSCULPT_TOOL_THICKNESS, GPSCULPT_TOOL_TWIST, GPVERTEX_TOOL_AVERAGE, GPVERTEX_TOOL_BLUR, GPVERTEX_TOOL_DRAW, GPVERTEX_TOOL_REPLACE, GPVERTEX_TOOL_SMEAR, GPWEIGHT_TOOL_DRAW, BrushGpencilSettings::hardeness, BrushGpencilSettings::icon_id, Material::id, id_us_min(), BrushGpencilSettings::input_samples, Main::materials, MaterialGPencilStyle::mode, BrushGpencilSettings::preset_type, Brush::rgb, BrushGpencilSettings::sculpt_flag, BrushGpencilSettings::sculpt_mode_flag, Brush::secondary_rgb, BrushGpencilSettings::simplify_f, Brush::size, SMOOTH_STROKE_FACTOR, Brush::smooth_stroke_factor, SMOOTH_STROKE_RADIUS, Brush::smooth_stroke_radius, type, ID::us, BrushGpencilSettings::vertex_factor, BrushGpencilSettings::vertex_mode, and zero_v3().
Referenced by BKE_brush_gpencil_paint_presets(), BKE_brush_gpencil_sculpt_presets(), BKE_brush_gpencil_vertex_presets(), BKE_brush_gpencil_weight_presets(), brush_add_gpencil_exec(), and gpencil_brush_reset_exec().
|
static |
Definition at line 253 of file brush.cc.
References BKE_brush_curve_preset(), BKE_curvemapping_blend_read(), BLO_read_data_address, Brush::curve, BrushGpencilSettings::curve_jitter, CURVE_PRESET_SHARP, BrushGpencilSettings::curve_rand_hue, BrushGpencilSettings::curve_rand_pressure, BrushGpencilSettings::curve_rand_saturation, BrushGpencilSettings::curve_rand_strength, BrushGpencilSettings::curve_rand_uv, BrushGpencilSettings::curve_rand_value, BrushGpencilSettings::curve_sensitivity, BrushGpencilSettings::curve_strength, Brush::curves_sculpt_settings, Brush::gpencil_settings, Brush::gradient, Brush::icon_imbuf, and Brush::preview.
|
static |
Definition at line 352 of file brush.cc.
References BLO_expand, Brush::clone, Brush::gpencil_settings, BrushClone::image, Brush::mask_mtex, BrushGpencilSettings::material, Brush::mtex, Brush::paint_curve, and MTex::tex.
|
static |
Definition at line 326 of file brush.cc.
References BLO_read_id_address, Brush::clone, BrushGpencilSettings::flag, GP_BRUSH_MATERIAL_PINNED, Brush::gpencil_settings, Brush::id, BrushClone::image, ID::lib, Brush::mask_mtex, BrushGpencilSettings::material, Brush::mtex, Brush::paint_curve, MTex::tex, and Brush::toggle_brush.
|
static |
Definition at line 203 of file brush.cc.
References BKE_curvemapping_blend_write(), BKE_id_blend_write(), BLO_write_id_struct, BLO_write_struct, Brush::curve, BrushGpencilSettings::curve_jitter, BrushGpencilSettings::curve_rand_hue, BrushGpencilSettings::curve_rand_pressure, BrushGpencilSettings::curve_rand_saturation, BrushGpencilSettings::curve_rand_strength, BrushGpencilSettings::curve_rand_uv, BrushGpencilSettings::curve_rand_value, BrushGpencilSettings::curve_sensitivity, BrushGpencilSettings::curve_strength, Brush::curves_sculpt_settings, Brush::gpencil_settings, Brush::gradient, and Brush::id.
|
static |
Definition at line 59 of file brush.cc.
References BKE_curvemapping_copy(), BKE_previewimg_id_copy(), Brush::curve, BrushGpencilSettings::curve_jitter, BrushGpencilSettings::curve_rand_hue, BrushGpencilSettings::curve_rand_pressure, BrushGpencilSettings::curve_rand_saturation, BrushGpencilSettings::curve_rand_strength, BrushGpencilSettings::curve_rand_uv, BrushGpencilSettings::curve_rand_value, BrushGpencilSettings::curve_sensitivity, BrushGpencilSettings::curve_strength, Brush::curves_sculpt_settings, Brush::gpencil_settings, Brush::icon_imbuf, Brush::id, id_fake_user_set(), IMB_dupImBuf(), LIB_ID_COPY_NO_PREVIEW, and Brush::preview.
Definition at line 442 of file brush.cc.
References blend(), DNA_struct_default_get, FROM_DEFAULT, FROM_DEFAULT_PTR, overlay_flags, usdtokens::rgb(), and size().
Referenced by BKE_brush_debug_print_state(), and BKE_brush_sculpt_reset().
|
static |
Definition at line 180 of file brush.cc.
References BKE_LIB_FOREACHID_PROCESS_FUNCTION_CALL, BKE_LIB_FOREACHID_PROCESS_IDSUPER, BKE_texture_mtex_foreach_id(), Brush::clone, data, Brush::gpencil_settings, IDWALK_CB_NOP, IDWALK_CB_USER, BrushClone::image, Brush::mask_mtex, BrushGpencilSettings::material, Brush::mtex, Brush::paint_curve, and Brush::toggle_brush.
|
static |
Definition at line 195 of file brush.cc.
References BKE_bpath_foreach_path_fixed_process(), and Brush::icon_filepath.
Definition at line 105 of file brush.cc.
References BKE_curvemapping_free(), BKE_previewimg_free(), Brush::curve, BrushGpencilSettings::curve_jitter, BrushGpencilSettings::curve_rand_hue, BrushGpencilSettings::curve_rand_pressure, BrushGpencilSettings::curve_rand_saturation, BrushGpencilSettings::curve_rand_strength, BrushGpencilSettings::curve_rand_uv, BrushGpencilSettings::curve_rand_value, BrushGpencilSettings::curve_sensitivity, BrushGpencilSettings::curve_strength, Brush::curves_sculpt_settings, Brush::gpencil_settings, Brush::gradient, Brush::icon_imbuf, IMB_freeImBuf(), MEM_freeN, MEM_SAFE_FREE, and Brush::preview.
|
static |
Definition at line 2470 of file brush.cc.
References if(), Brush::mask_mtex, Brush::mtex, RE_texture_evaluate(), MTex::tex, x, and y.
Referenced by BKE_brush_gen_radial_control_imbuf().
Definition at line 600 of file brush.cc.
References CurveMap::curve, MEM_callocN, MEM_freeN, MEM_SAFE_FREE, CurveMap::table, CurveMap::totpoint, CurveMapPoint::x, and CurveMapPoint::y.
Referenced by BKE_gpencil_brush_preset_set().
Definition at line 45 of file brush.cc.
References BKE_brush_curve_preset(), BLI_assert, CURVE_PRESET_SMOOTH, DNA_struct_default_get, Brush::id, id_fake_user_set(), MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
Definition at line 136 of file brush.cc.
References BKE_id_copy(), BKE_lib_id_clear_library_data(), BKE_lib_id_expand_local(), BKE_lib_id_make_local(), BKE_lib_id_make_local_generic_action_define(), BKE_libblock_remap(), BLI_assert, Brush::clone, Brush::id, Image::id, id_fake_user_set(), ID_IS_LINKED, ID_NEW_SET, ID_REMAP_SKIP_INDIRECT_USAGE, BrushClone::image, LIB_ID_MAKELOCAL_FULL_LIBRARY, ID::newid, and ID::us.
|
static |
Definition at line 381 of file brush.cc.
References BKE_lib_id_swap(), BKE_library_foreach_ID_link(), brush_undo_preserve_cb(), IDWALK_NOP, ID::properties, and SWAP.
|
static |
Definition at line 364 of file brush.cc.
References BLI_assert, BLO_read_get_new_id_address(), LibraryIDLinkCallbackData::cb_flag, ELEM, LibraryIDLinkCallbackData::id_pointer, id_us_min(), id_us_plus_no_lib(), IDWALK_CB_USER, IDWALK_RET_NOP, and LibraryIDLinkCallbackData::user_data.
Referenced by brush_undo_preserve().
|
static |
Definition at line 1285 of file brush.cc.
References BKE_brush_add_gpencil(), BKE_brush_init_gpencil_settings(), BLI_findstring(), Main::brushes, Brush::gpencil_settings, and Brush::ob_mode.
Referenced by BKE_brush_gpencil_paint_presets(), BKE_brush_gpencil_sculpt_presets(), BKE_brush_gpencil_vertex_presets(), and BKE_brush_gpencil_weight_presets().
|
static |
Definition at line 425 of file brush.cc.
Referenced by BKE_brush_jitter_pos(), BKE_brush_randomize_texture_coords(), BKE_brush_system_exit(), and BKE_brush_system_init().
IDTypeInfo IDType_ID_BR |