|
Blender
V2.93
|
#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_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(&brush->member, &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 | |
| typedef enum eGPCurveMappingPreset | eGPCurveMappingPreset |
Enumerations | |
| 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 | ( | field, | |
| t | |||
| ) |
| #define BR_TEST_FLAG | ( | _f | ) |
| #define BR_TEST_FLAG_OVERLAY | ( | _f | ) |
| #define FROM_DEFAULT | ( | member | ) | memcpy(&brush->member, &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 |
| typedef enum eGPCurveMappingPreset eGPCurveMappingPreset |
| Brush* BKE_brush_add | ( | Main * | bmain, |
| const char * | name, | ||
| const eObjectMode | ob_mode | ||
| ) |
Definition at line 492 of file brush.c.
References BKE_id_new(), ID_BR, and Brush::ob_mode.
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 | ( | Main * | bmain, |
| ToolSettings * | ts, | ||
| const char * | name, | ||
| eObjectMode | mode | ||
| ) |
Definition at line 532 of file brush.c.
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(), NULL, 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.c.
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.c.
References alpha, Brush::alpha, UnifiedPaintSettings::alpha, UnifiedPaintSettings::flag, scene, Scene::toolsettings, UNIFIED_PAINT_ALPHA, and ToolSettings::unified_paint_settings.
Referenced by paint_stroke_update_step().
Definition at line 2210 of file brush.c.
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(), paint_brush_color_get(), paint_stroke_done(), 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.c.
References 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 | ( | Brush * | b, |
| eCurveMappingPreset | preset | ||
| ) |
Library Operations
Definition at line 1938 of file brush.c.
References BKE_curvemap_reset(), BKE_curvemapping_add(), BKE_curvemapping_changed(), CurveMapping::clipr, CurveMapping::cm, CUMA_EXTEND_EXTRAPOLATE, Brush::curve, CURVEMAP_SLOPE_NEGATIVE, CurveMapping::flag, NULL, and CurveMapping::preset.
Referenced by BKE_brush_sculpt_reset(), brush_blend_read_data(), brush_curve_preset_exec(), and brush_init_data().
Definition at line 2416 of file brush.c.
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 2464 of file brush.c.
References BKE_brush_curve_strength(), CLAMP, and len.
Referenced by BKE_brush_gen_radial_control_imbuf(), brush_painter_curve_mask_new(), do_projectpaint_thread(), gradientVert_update(), HC_relaxation_iteration_uv(), laplacian_relaxation_iteration_uv(), load_tex_cursor_task_cb(), radial_control_paint_curve(), uv_sculpt_stroke_apply(), and uv_sculpt_stroke_init().
| void BKE_brush_debug_print_state | ( | Brush * | br | ) |
Definition at line 1571 of file brush.c.
References Brush::add_col, 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, NULL, 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.
Definition at line 572 of file brush.c.
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 1559 of file brush.c.
References Main::brushes, ListBase::first, Brush::id, ID::next, NULL, and Brush::ob_mode.
Referenced by BKE_paint_init().
| struct ImBuf* BKE_brush_gen_radial_control_imbuf | ( | Brush * | br, |
| bool | secondary, | ||
| bool | display_gradient | ||
| ) |
Definition at line 2507 of file brush.c.
References BKE_brush_curve_strength_clamped(), BKE_brush_gen_texture_cache(), BKE_curvemapping_init(), col, Brush::curve, MEM_callocN, MEM_freeN, pow2f(), ImBuf::rect_float, sqrtf, ImBuf::x, and ImBuf::y.
Referenced by radial_control_set_tex().
| unsigned int* BKE_brush_gen_texture_cache | ( | Brush * | br, |
| int | half_side, | ||
| bool | use_secondary | ||
| ) |
Definition at line 2474 of file brush.c.
References copy_v4_uchar(), if(), Brush::mask_mtex, MEM_callocN, Brush::mtex, NULL, RE_texture_evaluate(), MTex::tex, x, and y.
Referenced by BKE_brush_gen_radial_control_imbuf(), and sculpt_update_tex().
| void BKE_brush_gpencil_paint_presets | ( | Main * | bmain, |
| ToolSettings * | ts, | ||
| const bool | reset | ||
| ) |
Definition at line 1308 of file brush.c.
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(), NULL, 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 | ( | Main * | bmain, |
| ToolSettings * | ts, | ||
| const bool | reset | ||
| ) |
Definition at line 1459 of file brush.c.
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(), NULL, 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 | ( | Main * | bmain, |
| ToolSettings * | ts, | ||
| const bool | reset | ||
| ) |
Definition at line 1412 of file brush.c.
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(), NULL, 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 | ( | Main * | bmain, |
| ToolSettings * | ts, | ||
| const bool | reset | ||
| ) |
Definition at line 1534 of file brush.c.
References BKE_gpencil_brush_preset_set(), BKE_paint_brush_set(), Paint::brush, GP_BRUSH_PRESET_DRAW_WEIGHT, ToolSettings::gp_weightpaint, gpencil_brush_ensure(), NULL, 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().
| void BKE_brush_init_gpencil_settings | ( | Brush * | brush | ) |
Definition at line 504 of file brush.c.
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, BrushGpencilSettings::icon_id, MEM_callocN, and NULL.
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 2377 of file brush.c.
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 2401 of file brush.c.
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.c.
References angle(), atan2f, BKE_brush_size_get(), 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, blender::compositor::pool, RE_texture_evaluate(), MTex::rot, scene, sinf, UnifiedPaintSettings::size_pressure_value, sqrtf, 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.c.
References angle(), atan2f, BKE_brush_size_get(), 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, blender::compositor::pool, RE_texture_evaluate(), MTex::rot, scene, sinf, sqrtf, 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().
| void BKE_brush_scale_unprojected_radius | ( | float * | unprojected_radius, |
| int | new_brush_size, | ||
| int | old_brush_size | ||
| ) |
| bool BKE_brush_sculpt_has_secondary_color | ( | const Brush * | brush | ) |
Definition at line 2275 of file brush.c.
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.
| void BKE_brush_sculpt_reset | ( | Brush * | br | ) |
Definition at line 1677 of file brush.c.
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, 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::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(), and brush_reset_exec().
| const float* BKE_brush_secondary_color_get | ( | const struct Scene * | scene, |
| const struct Brush * | brush | ||
| ) |
Definition at line 2216 of file brush.c.
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(), paint_brush_color_get(), paint_stroke_done(), and vpaint_get_current_col().
Definition at line 2249 of file brush.c.
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(), BKE_brush_sample_masktex(), and BKE_brush_sample_tex_3d().
Definition at line 2234 of file brush.c.
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(), sculpt_stroke_done(), sculpt_update_cache_invariants(), and texture_paint_camera_project_exec().
| void BKE_brush_system_exit | ( | void | ) |
Definition at line 426 of file brush.c.
References BLI_rng_free(), brush_rng, and NULL.
Referenced by BKE_blender_free().
| void BKE_brush_system_init | ( | void | ) |
Definition at line 420 of file brush.c.
References BLI_rng_new(), BLI_rng_srandom(), and brush_rng.
Referenced by main().
Definition at line 2306 of file brush.c.
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.c.
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().
| bool BKE_brush_use_alpha_pressure | ( | const Brush * | brush | ) |
Definition at line 2270 of file brush.c.
References BRUSH_ALPHA_PRESSURE, and Brush::flag.
Definition at line 2257 of file brush.c.
References BRUSH_LOCK_SIZE, Brush::flag, UnifiedPaintSettings::flag, scene, Scene::toolsettings, UNIFIED_PAINT_BRUSH_LOCK_SIZE, ToolSettings::unified_paint_settings, and UNIFIED_PAINT_SIZE.
| bool BKE_brush_use_size_pressure | ( | const Brush * | brush | ) |
Definition at line 2265 of file brush.c.
References BRUSH_SIZE_PRESSURE, and Brush::flag.
Definition at line 2332 of file brush.c.
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.c.
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.c.
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::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, GPCURVE_PRESET_CHISEL_SENSIVITY, GPCURVE_PRESET_CHISEL_STRENGTH, GPCURVE_PRESET_INK, GPCURVE_PRESET_INKNOISE, GPCURVE_PRESET_MARKER, 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, NULL, 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(), and gpencil_brush_reset_exec().
|
static |
Definition at line 250 of file brush.c.
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::gpencil_settings, Brush::gradient, Brush::icon_imbuf, NULL, and Brush::preview.
|
static |
Definition at line 347 of file brush.c.
References BLO_expand, Brush::clone, Brush::gpencil_settings, BrushClone::image, Brush::mask_mtex, BrushGpencilSettings::material, Brush::mtex, NULL, Brush::paint_curve, and MTex::tex.
|
static |
Definition at line 321 of file brush.c.
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, NULL, Brush::paint_curve, MTex::tex, and Brush::toggle_brush.
|
static |
Definition at line 202 of file brush.c.
References BKE_curvemapping_blend_write(), BKE_id_blend_write(), BLO_write_id_struct, BLO_write_is_undo(), 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::gpencil_settings, Brush::gradient, Brush::id, and ID::us.
|
static |
Definition at line 72 of file brush.c.
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::gpencil_settings, Brush::icon_imbuf, Brush::id, id_fake_user_set(), IMB_dupImBuf(), LIB_ID_COPY_NO_PREVIEW, MEM_dupallocN, NULL, and Brush::preview.
|
static |
Definition at line 435 of file brush.c.
References alpha, blend(), DNA_struct_default_get, FROM_DEFAULT, FROM_DEFAULT_PTR, overlay_flags, and size().
Referenced by BKE_brush_debug_print_state(), and BKE_brush_sculpt_reset().
|
static |
Definition at line 188 of file brush.c.
References BKE_LIB_FOREACHID_PROCESS, 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 115 of file brush.c.
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::gpencil_settings, Brush::gradient, Brush::icon_imbuf, IMB_freeImBuf(), MEM_SAFE_FREE, NULL, and Brush::preview.
|
static |
Definition at line 597 of file brush.c.
References CurveMap::curve, GPCURVE_PRESET_CHISEL_SENSIVITY, GPCURVE_PRESET_CHISEL_STRENGTH, GPCURVE_PRESET_INK, GPCURVE_PRESET_INKNOISE, GPCURVE_PRESET_MARKER, GPCURVE_PRESET_PENCIL, MEM_callocN, MEM_freeN, NULL, CurveMap::table, CurveMap::totpoint, CurveMapPoint::x, and CurveMapPoint::y.
Referenced by BKE_gpencil_brush_preset_set().
|
static |
Definition at line 58 of file brush.c.
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 143 of file brush.c.
References BKE_id_copy(), BKE_lib_id_clear_library_data(), BKE_lib_id_expand_local(), BKE_lib_id_make_local(), BKE_libblock_remap(), BKE_library_ID_test_usages(), 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, and ID::us.
|
static |
Definition at line 376 of file brush.c.
References BKE_lib_id_swap(), BKE_library_foreach_ID_link(), brush_undo_preserve_cb(), IDWALK_NOP, NULL, ID::properties, and SWAP.
|
static |
Definition at line 359 of file brush.c.
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, ID::lib, NULL, ID::orig_id, and LibraryIDLinkCallbackData::user_data.
Referenced by brush_undo_preserve().
|
static |
Definition at line 1284 of file brush.c.
References BKE_brush_add_gpencil(), BKE_brush_init_gpencil_settings(), BLI_findstring(), Main::brushes, Brush::gpencil_settings, NULL, 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 418 of file brush.c.
Referenced by BKE_brush_jitter_pos(), BKE_brush_randomize_texture_coords(), BKE_brush_system_exit(), and BKE_brush_system_init().
| IDTypeInfo IDType_ID_BR |