31 {0,
"ADD", ICON_ADD,
"Add",
"Add effect of brush"},
32 {
BRUSH_DIR_IN,
"SUBTRACT", ICON_REMOVE,
"Subtract",
"Subtract effect of brush"},
33 {0,
nullptr, 0,
nullptr,
nullptr},
41 {0,
"SMOOTH", ICON_ADD,
"Smooth",
"Smooth the surface"},
46 "Enhance the surface detail"},
47 {0,
nullptr, 0,
nullptr,
nullptr},
52 {0,
"DOTS", 0,
"Dots",
"Apply paint on each mouse move step"},
53 {
BRUSH_DRAG_DOT,
"DRAG_DOT", 0,
"Drag Dot",
"Allows a single dot to be carefully positioned"},
58 "Limit brush application to the distance specified by spacing"},
63 "Keep applying paint effect while holding mouse (spray)"},
64 {
BRUSH_ANCHORED,
"ANCHORED", 0,
"Anchored",
"Keep the brush anchored to the initial location"},
65 {
BRUSH_LINE,
"LINE", 0,
"Line",
"Draw a line with dabs separated according to spacing"},
70 "Define the stroke curve with a Bézier curve (dabs are separated according to spacing)"},
71 {0,
nullptr, 0,
nullptr,
nullptr},
81 {0,
nullptr, 0,
nullptr,
nullptr},
85static const EnumPropertyItem rna_enum_brush_texture_slot_map_texture_mode_items[] = {
91 {0,
nullptr, 0,
nullptr,
nullptr},
106 {0,
nullptr, 0,
nullptr,
nullptr},
113 "use_automasking_topology",
116 "Affect only vertices connected to the active vertex under the brush"},
118 "use_automasking_face_sets",
121 "Affect only vertices that share Face Sets with the active vertex"},
123 "use_automasking_boundary_edges",
125 "Mesh Boundary Auto-Masking",
126 "Do not affect non manifold boundary edges"},
128 "use_automasking_boundary_face_sets",
130 "Face Sets Boundary Automasking",
131 "Do not affect vertices that belong to a Face Set boundary"},
133 "use_automasking_cavity",
136 "Do not affect vertices on peaks, based on the surface curvature"},
138 "use_automasking_cavity_inverted",
140 "Inverted Cavity Mask",
141 "Do not affect vertices within crevices, based on the surface curvature"},
143 "use_automasking_custom_cavity_curve",
145 "Custom Cavity Curve",
147 {0,
nullptr, 0,
nullptr,
nullptr}};
180 "DISPLACEMENT_ERASER",
182 "Multires Displacement Eraser",
185 "DISPLACEMENT_SMEAR",
187 "Multires Displacement Smear",
191 {0,
nullptr, 0,
nullptr,
nullptr},
199 {0,
nullptr, 0,
nullptr,
nullptr},
207 {0,
nullptr, 0,
nullptr,
nullptr},
217 {0,
nullptr, 0,
nullptr,
nullptr},
225 "The brush is of type used for drawing strokes"},
230 "The brush is of type used for filling areas"},
235 "The brush is used for erasing strokes"},
237 {0,
nullptr, 0,
nullptr,
nullptr},
246 "Smooth out the colors of adjacent stroke points"},
251 "Smooth out colors with the average color under the brush"},
256 "Smudge colors by grabbing and dragging them"},
261 "Replace the color of stroke points that already have a color applied"},
262 {0,
nullptr, 0,
nullptr,
nullptr},
273 "Introduce jitter/randomness into strokes"},
278 "Translate the set of points initially within the brush circle"},
283 "Move points out of the way, as if combing them"},
288 "Rotate points around the midpoint of the brush"},
293 "Pull points towards the midpoint of the brush"},
298 "Paste copies of the strokes stored on the internal clipboard"},
299 {0,
nullptr, 0,
nullptr,
nullptr}};
308 "Average weight in active vertex group"},
310 {0,
nullptr, 0,
nullptr,
nullptr},
327 {0,
nullptr, 0,
nullptr,
nullptr},
336 "Erase strokes, fading their points strength and thickness"},
339 {0,
nullptr, 0,
nullptr,
nullptr},
347 "Use both visible strokes and edit lines as fill boundary limits"},
350 {0,
nullptr, 0,
nullptr,
nullptr}};
355 {0,
nullptr, 0,
nullptr,
nullptr}};
364 {0,
nullptr, 0,
nullptr,
nullptr}};
367 {0,
"NORMAL", ICON_ADD,
"Normal",
"Fill internal area"},
368 {
BRUSH_DIR_IN,
"INVERT", ICON_REMOVE,
"Inverted",
"Fill inverted area"},
369 {0,
nullptr, 0,
nullptr,
nullptr},
376 {0,
nullptr, 0,
nullptr,
nullptr}};
396static bool rna_TextureCapabilities_has_random_texture_angle_get(
PointerRNA *
ptr)
402static bool rna_TextureCapabilities_has_texture_angle_get(
PointerRNA *
ptr)
408static bool rna_TextureCapabilities_has_texture_angle_source_get(
PointerRNA *
ptr)
414static bool rna_BrushCapabilities_has_overlay_get(
PointerRNA *
ptr)
421static bool rna_BrushCapabilities_has_random_texture_angle_get(
PointerRNA *
ptr)
427static bool rna_BrushCapabilities_has_smooth_stroke_get(
PointerRNA *
ptr)
434static bool rna_BrushCapabilities_has_spacing_get(
PointerRNA *
ptr)
440static bool rna_BrushCapabilitiesSculpt_has_accumulate_get(
PointerRNA *
ptr)
446static bool rna_BrushCapabilitiesSculpt_has_topology_rake_get(
PointerRNA *
ptr)
452static bool rna_BrushCapabilitiesSculpt_has_auto_smooth_get(
PointerRNA *
ptr)
458static bool rna_BrushCapabilitiesSculpt_has_height_get(
PointerRNA *
ptr)
464static bool rna_BrushCapabilitiesSculpt_has_plane_height_get(
PointerRNA *
ptr)
470static bool rna_BrushCapabilitiesSculpt_has_plane_depth_get(
PointerRNA *
ptr)
476static bool rna_BrushCapabilitiesSculpt_has_jitter_get(
PointerRNA *
ptr)
482static bool rna_BrushCapabilitiesSculpt_has_normal_weight_get(
PointerRNA *
ptr)
488static bool rna_BrushCapabilitiesSculpt_has_rake_factor_get(
PointerRNA *
ptr)
494static bool rna_BrushCapabilitiesSculpt_has_persistence_get(
PointerRNA *
ptr)
500static bool rna_BrushCapabilitiesSculpt_has_pinch_factor_get(
PointerRNA *
ptr)
506static bool rna_BrushCapabilitiesSculpt_has_plane_offset_get(
PointerRNA *
ptr)
512static bool rna_BrushCapabilitiesSculpt_has_random_texture_angle_get(
PointerRNA *
ptr)
518static bool rna_BrushCapabilitiesSculpt_has_sculpt_plane_get(
PointerRNA *
ptr)
524static bool rna_BrushCapabilitiesSculpt_has_color_get(
PointerRNA *
ptr)
530static bool rna_BrushCapabilitiesSculpt_has_secondary_color_get(
PointerRNA *
ptr)
536static bool rna_BrushCapabilitiesSculpt_has_smooth_stroke_get(
PointerRNA *
ptr)
542static bool rna_BrushCapabilitiesSculpt_has_space_attenuation_get(
PointerRNA *
ptr)
548static bool rna_BrushCapabilitiesSculpt_has_strength_pressure_get(
PointerRNA *
ptr)
554static bool rna_BrushCapabilitiesSculpt_has_direction_get(
PointerRNA *
ptr)
560static bool rna_BrushCapabilitiesSculpt_has_gravity_get(
PointerRNA *
ptr)
566static bool rna_BrushCapabilitiesSculpt_has_tilt_get(
PointerRNA *
ptr)
572static bool rna_BrushCapabilitiesSculpt_has_dyntopo_get(
PointerRNA *
ptr)
578static bool rna_BrushCapabilitiesImagePaint_has_accumulate_get(
PointerRNA *
ptr)
595static bool rna_BrushCapabilitiesImagePaint_has_radius_get(
PointerRNA *
ptr)
603static bool rna_BrushCapabilitiesImagePaint_has_space_attenuation_get(
PointerRNA *
ptr)
610static bool rna_BrushCapabilitiesImagePaint_has_color_get(
PointerRNA *
ptr)
616static bool rna_BrushCapabilitiesVertexPaint_has_color_get(
PointerRNA *
ptr)
622static bool rna_BrushCapabilitiesWeightPaint_has_weight_get(
PointerRNA *
ptr)
658static void rna_Brush_reset_icon(
Brush *br)
697 rna_Brush_update(bmain, scene,
ptr);
707 rna_Brush_update(bmain, scene,
ptr);
713 rna_Brush_update(bmain, scene,
ptr);
719 rna_Brush_reset_icon(br);
720 rna_Brush_update(bmain, scene,
ptr);
726 rna_Brush_update(bmain, scene,
ptr);
769static void rna_Brush_use_gradient_set(
PointerRNA *
ptr,
int value)
785static void rna_Brush_set_unprojected_radius(
PointerRNA *
ptr,
float value)
803 {
BRUSH_DIR_IN,
"MAGNIFY", ICON_ADD,
"Magnify",
"Subtract effect of brush"},
804 {0,
"PINCH", ICON_REMOVE,
"Pinch",
"Add effect of brush"},
805 {0,
nullptr, 0,
nullptr,
nullptr},
809 {0,
"INFLATE", ICON_ADD,
"Inflate",
"Add effect of brush"},
810 {
BRUSH_DIR_IN,
"DEFLATE", ICON_REMOVE,
"Deflate",
"Subtract effect of brush"},
811 {0,
nullptr, 0,
nullptr,
nullptr},
816 {
BRUSH_DIR_IN,
"SHARPEN", ICON_ADD,
"Sharpen",
"Sharpen effect of brush"},
817 {0,
"SOFTEN", ICON_REMOVE,
"Soften",
"Blur effect of brush"},
818 {0,
nullptr, 0,
nullptr,
nullptr},
823 {0,
"ADD", ICON_ADD,
"Pinch",
"Add effect of brush"},
824 {
BRUSH_DIR_IN,
"SUBTRACT", ICON_REMOVE,
"Inflate",
"Subtract effect of brush"},
825 {0,
nullptr, 0,
nullptr,
nullptr},
828 {0,
"ADD", ICON_ADD,
"Counter-Clockwise",
"Add effect of brush"},
829 {
BRUSH_DIR_IN,
"SUBTRACT", ICON_REMOVE,
"Clockwise",
"Subtract effect of brush"},
830 {0,
nullptr, 0,
nullptr,
nullptr},
848 return prop_smooth_direction_items;
862 return prop_pinch_magnify_items;
865 return prop_inflate_deflate_items;
875 return prop_soften_sharpen_items;
895 return prop_twist_items;
897 return prop_pinch_items;
921 {0,
"DOTS", 0,
"Dots",
"Apply paint on each mouse move step"},
926 "Limit brush application to the distance specified by spacing"},
931 "Keep applying paint effect while holding mouse (spray)"},
932 {
BRUSH_LINE,
"LINE", 0,
"Line",
"Drag a line with dabs separated according to spacing"},
937 "Define the stroke curve with a Bézier curve. Dabs are separated according to spacing."},
938 {0,
nullptr, 0,
nullptr,
nullptr},
948 return brush_stroke_method_items;
953static std::optional<std::string> rna_BrushGpencilSettings_path(
const PointerRNA * )
955 return "gpencil_settings";
997 return (ma->gp_style !=
nullptr);
1009static void rna_GPencilBrush_pin_mode_set(
PointerRNA * ,
bool )
1032static void rna_BrushCurvesSculptSettings_update(
Main * ,
1050# define rna_enum_brush_texture_slot_map_sculpt_mode_items \
1051 rna_enum_brush_texture_slot_map_all_mode_items;
1055 return rna_enum_brush_texture_slot_map_sculpt_mode_items;
1057 return rna_enum_brush_texture_slot_map_texture_mode_items;
1059# undef rna_enum_brush_texture_slot_map_sculpt_mode_items
1062static void rna_Brush_automasking_invert_cavity_set(
PointerRNA *
ptr,
bool val)
1075static void rna_Brush_automasking_cavity_set(
PointerRNA *
ptr,
bool val)
1088static std::optional<std::string> rna_BrushCurvesSculptSettings_path(
const PointerRNA * )
1090 return "curves_sculpt_settings";
1105 {0,
nullptr, 0,
nullptr,
nullptr},
1108# define TEXTURE_CAPABILITY(prop_name_, ui_name_) \
1109 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1110 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1111 RNA_def_property_boolean_funcs(prop, "rna_TextureCapabilities_" #prop_name_ "_get", nullptr); \
1112 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1117 srna,
"Brush Texture Slot",
"Texture slot for textures in a Brush data-block");
1163# undef TEXTURE_CAPABILITY
1175 "Sculpt Capabilities",
1176 "Read-only indications of which brush operations "
1177 "are supported by the current sculpt tool");
1179# define SCULPT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1180 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1181 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1182 RNA_def_property_boolean_funcs( \
1183 prop, "rna_BrushCapabilitiesSculpt_" #prop_name_ "_get", nullptr); \
1184 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1210# undef SCULPT_CAPABILITY
1222 srna,
"Brush Capabilities",
"Read-only indications of supported operations");
1224# define BRUSH_CAPABILITY(prop_name_, ui_name_) \
1225 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1226 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1227 RNA_def_property_boolean_funcs(prop, "rna_BrushCapabilities_" #prop_name_ "_get", nullptr); \
1228 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1235# undef BRUSH_CAPABILITY
1243 srna =
RNA_def_struct(brna,
"BrushCapabilitiesImagePaint",
nullptr);
1247 srna,
"Image Paint Capabilities",
"Read-only indications of supported operations");
1249# define IMAPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1250 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1251 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1252 RNA_def_property_boolean_funcs( \
1253 prop, "rna_BrushCapabilitiesImagePaint_" #prop_name_ "_get", nullptr); \
1254 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1261# undef IMAPAINT_BRUSH_CAPABILITY
1269 srna =
RNA_def_struct(brna,
"BrushCapabilitiesVertexPaint",
nullptr);
1273 srna,
"Vertex Paint Capabilities",
"Read-only indications of supported operations");
1275# define VPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1276 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1277 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1278 RNA_def_property_boolean_funcs( \
1279 prop, "rna_BrushCapabilitiesVertexPaint_" #prop_name_ "_get", nullptr); \
1280 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1284# undef VPAINT_BRUSH_CAPABILITY
1292 srna =
RNA_def_struct(brna,
"BrushCapabilitiesWeightPaint",
nullptr);
1296 srna,
"Weight Paint Capabilities",
"Read-only indications of supported operations");
1298# define WPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1299 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1300 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1301 RNA_def_property_boolean_funcs( \
1302 prop, "rna_BrushCapabilitiesWeightPaint_" #prop_name_ "_get", nullptr); \
1303 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1307# undef WPAINT_BRUSH_CAPABILITY
1319 {
GPPAINT_MODE_BOTH,
"BOTH", 0,
"Stroke & Fill",
"Vertex Color affects to Stroke and Fill"},
1320 {0,
nullptr, 0,
nullptr,
nullptr},
1323 static const EnumPropertyItem rna_enum_gpencil_brush_caps_types_items[] = {
1326 {0,
nullptr, 0,
nullptr,
nullptr},
1340 prop,
"Strength",
"Color strength for new strokes (affect alpha factor of color)");
1360 prop,
"Pressure Randomness",
"Randomness factor for pressure in new strokes");
1369 prop,
"Strength Randomness",
"Randomness factor strength in new strokes");
1379 "Direction of the stroke at which brush gives maximal thickness "
1391 "Reduce brush thickness by this factor when stroke is perpendicular to 'Angle' direction");
1403 "Amount of smoothing to apply after finish newly created strokes, to reduce jitter/noise");
1422 "Subdivision Steps",
1423 "Number of times to subdivide newly created strokes, for less jagged strokes");
1443 "Threshold in screen space used for the simplify algorithm. Points within this threshold "
1444 "are treated as if they were in a straight line.");
1517 prop,
"Threshold",
"Threshold to consider color transparent for filling");
1528 "Factor for fill boundary accuracy, higher values are more accurate but slower");
1537 prop,
"Simplify",
"Number of simplify steps (large values reduce fill accuracy)");
1556 "Gradient from the center of Dot and Box strokes (set to 1 for a solid stroke)");
1576 "Generated intermediate points for very fast mouse movements (Set to 0 to disable)");
1618 prop,
"Vertex Color Factor",
"Factor used to mix vertex color to get final color");
1653 prop,
"Closure Size",
"Strokes end extension for closing gaps, use zero to disable");
1661 prop,
"Closure Mode",
"Types of stroke extensions used for closing gaps");
1672 prop,
"Dilate/Contract",
"Number of pixels to expand or contract fill area");
1682 prop,
"Thickness",
"Thickness of the outline stroke relative to current brush thickness");
1698 prop,
"Use Pressure Strength",
"Use tablet pressure for color strength");
1798 "Draw lines with a delay to allow smooth strokes (press Shift key to "
1799 "override while drawing)");
1843 prop,
"rna_GPencilBrush_pin_mode_get",
"rna_GPencilBrush_pin_mode_set");
1882 prop,
"Affect Strength",
"The brush affects the color strength of the point");
1890 prop,
"Affect Thickness",
"The brush affects the thickness of the point");
1904 prop,
nullptr,
nullptr,
nullptr,
"rna_BrushGpencilSettings_material_poll");
1914 prop,
nullptr,
nullptr,
nullptr,
"rna_BrushGpencilSettings_material_poll");
1938 prop,
"Strokes Collision",
"Check if extend lines collide with strokes");
1946 prop,
"Show Fill",
"Show transparent lines to use as boundary for filling");
1954 "Auto-Remove Fill Guides",
1955 "Automatically remove fill guide strokes after fill operation");
1969 prop,
"Use Post-Process Settings",
"Additional post processing options for new strokes");
1986 prop,
NC_GPENCIL |
ND_DATA,
"rna_BrushGpencilSettings_use_material_pin_update");
1991 prop,
"Show Lasso",
"Do not display fill color while drawing the stroke");
2004 prop,
"Keep Caps",
"Keep the caps as they are and don't flatten them when erasing");
2025 "Either add or remove curves depending on the minimum distance of the curves under the "
2031 "Add new curves between existing curves, taking the minimum distance into account"},
2036 "Remove curves whose root points are too close"},
2037 {0,
nullptr, 0,
nullptr,
nullptr},
2040 srna =
RNA_def_struct(brna,
"BrushCurvesSculptSettings",
nullptr);
2053 prop,
"Points per Curve",
"Number of control points in a newly added curve");
2060 "Grow or shrink curves by changing their size uniformly instead of "
2061 "using trimming or extrapolation");
2067 prop,
"Minimum Length",
"Avoid shrinking curves shorter than this length");
2073 prop,
"Interpolate Length",
"Use length of the curves in close proximity");
2081 prop,
"Interpolate Radius",
"Use radius of the curves in close proximity");
2088 "Interpolate Point Count",
2089 "Use the number of points from the curves in close proximity");
2095 prop,
"Interpolate Shape",
"Use shape of the curves in close proximity");
2103 "Length of newly added curves when it is not interpolated from other curves");
2110 prop,
"Minimum Distance",
"Goal distance between curve roots for the Density brush");
2120 "Radius of newly added curves when it is not interpolated from other curves");
2126 prop,
"Density Add Attempts",
"How many times the Density brush tries to add a new curve");
2132 prop,
"Density Mode",
"Determines whether the brush adds or removes curves");
2139 "Curve Parameter Falloff",
2140 "Falloff that is applied from the tip to the root of each curve");
2150 {
IMB_BLEND_MIX,
"MIX", 0,
"Mix",
"Use Mix blending mode while painting"},
2152 {
IMB_BLEND_DARKEN,
"DARKEN", 0,
"Darken",
"Use Darken blending mode while painting"},
2153 {
IMB_BLEND_MUL,
"MUL", 0,
"Multiply",
"Use Multiply blending mode while painting"},
2158 "Use Color Burn blending mode while painting"},
2163 "Use Linear Burn blending mode while painting"},
2165 {
IMB_BLEND_LIGHTEN,
"LIGHTEN", 0,
"Lighten",
"Use Lighten blending mode while painting"},
2166 {
IMB_BLEND_SCREEN,
"SCREEN", 0,
"Screen",
"Use Screen blending mode while painting"},
2171 "Use Color Dodge blending mode while painting"},
2172 {
IMB_BLEND_ADD,
"ADD", 0,
"Add",
"Use Add blending mode while painting"},
2174 {
IMB_BLEND_OVERLAY,
"OVERLAY", 0,
"Overlay",
"Use Overlay blending mode while painting"},
2179 "Use Soft Light blending mode while painting"},
2184 "Use Hard Light blending mode while painting"},
2189 "Use Vivid Light blending mode while painting"},
2194 "Use Linear Light blending mode while painting"},
2199 "Use Pin Light blending mode while painting"},
2205 "Use Difference blending mode while painting"},
2210 "Use Exclusion blending mode while painting"},
2211 {
IMB_BLEND_SUB,
"SUB", 0,
"Subtract",
"Use Subtract blending mode while painting"},
2213 {
IMB_BLEND_HUE,
"HUE", 0,
"Hue",
"Use Hue blending mode while painting"},
2218 "Use Saturation blending mode while painting"},
2219 {
IMB_BLEND_COLOR,
"COLOR", 0,
"Color",
"Use Color blending mode while painting"},
2224 {0,
nullptr, 0,
nullptr,
nullptr},
2233 {0,
nullptr, 0,
nullptr,
nullptr},
2239 {0,
nullptr, 0,
nullptr,
nullptr},
2245 {0,
nullptr, 0,
nullptr,
nullptr},
2252 {0,
nullptr, 0,
nullptr,
nullptr},
2258 {0,
nullptr, 0,
nullptr,
nullptr},
2262 {0,
"NONE", 0,
"Off",
""},
2265 {0,
nullptr, 0,
nullptr,
nullptr},
2269 {0,
"VIEW", 0,
"View",
"Measure brush size relative to the view"},
2270 {
BRUSH_LOCK_SIZE,
"SCENE", 0,
"Scene",
"Measure brush size relative to the scene"},
2271 {0,
nullptr, 0,
nullptr,
nullptr},
2275 {0,
"COLOR", 0,
"Color",
"Paint with a single color"},
2277 {0,
nullptr, 0,
nullptr,
nullptr},
2281 {0,
"VIEW", 0,
"View",
"Calculate brush spacing relative to the view"},
2286 "Calculate brush spacing relative to the scene using the stroke location"},
2287 {0,
nullptr, 0,
nullptr,
nullptr},
2292 {0,
"BRUSH", 0,
"Brush",
"Jittering happens relative to the brush size"},
2293 {0,
nullptr, 0,
nullptr,
nullptr},
2297 {0,
"SPHERE", 0,
"Sphere",
"Apply brush influence in a Sphere, outwards from the center"},
2302 "Apply brush influence in a 2D circle, projected from the view"},
2303 {0,
nullptr, 0,
nullptr,
nullptr},
2311 "Brush deformation displaces the vertices of the mesh"},
2316 "Brush deforms the mesh by deforming the constraints of a cloth simulation"},
2317 {0,
nullptr, 0,
nullptr,
nullptr},
2326 {0,
nullptr, 0,
nullptr,
nullptr},
2334 "Applies the brush falloff in the tip of the brush"},
2339 "Modifies the entire mesh using elastic deform"},
2340 {0,
nullptr, 0,
nullptr,
nullptr},
2345 "INVERT_DISPLACEMENT",
2347 "Invert Displacement",
2348 "Displace the vertices away from the plane."},
2350 "SWAP_DEPTH_AND_HEIGHT",
2352 "Swap Height and Depth",
2353 "Swap the roles of Height and Depth."},
2354 {0,
nullptr, 0,
nullptr,
nullptr},
2362 "PINCH_PERPENDICULAR",
2364 "Pinch Perpendicular",
2370 {0,
nullptr, 0,
nullptr,
nullptr},
2376 {0,
nullptr, 0,
nullptr,
nullptr},
2384 "Applies the same deformation in the entire boundary"},
2389 "Applies the deformation in a localized area limited by the brush radius"},
2394 "Applies the brush falloff in a loop pattern"},
2399 "Applies the falloff radius in a loop pattern, inverting the displacement direction in "
2400 "each pattern repetition"},
2401 {0,
nullptr, 0,
nullptr,
nullptr},
2409 "Simulates only a specific area around the brush limited by a fixed radius"},
2415 "The active simulation area moves with the brush"},
2416 {0,
nullptr, 0,
nullptr,
nullptr},
2424 "Smooths the surface and the volume"},
2429 "Smooths the surface of the mesh, preserving the volume"},
2430 {0,
nullptr, 0,
nullptr,
nullptr},
2437 {0,
nullptr, 0,
nullptr,
nullptr},
2445 "Sets the rotation origin automatically using the topology and shape of the mesh as a "
2451 "Creates a pose segment per face sets, starting from the active face set"},
2456 "Simulates an FK deformation using the Face Set under the cursor as control"},
2457 {0,
nullptr, 0,
nullptr,
nullptr},
2464 {0,
nullptr, 0,
nullptr,
nullptr},
2471 {0,
nullptr, 0,
nullptr,
nullptr},
2481 {0,
nullptr, 0,
nullptr,
nullptr},
2486 srna,
"Brush",
"Brush data-block for storing brush settings for painting and sculpting");
2492 "Has unsaved changes",
2493 "Indicates that there are any user visible changes since the brush has "
2494 "been imported or read from the file");
2609 prop,
"Deformation Target",
"How the deformation of the brush will affect the object");
2637 prop,
"Force Falloff",
"Shape used in the brush to apply force to the cloth");
2645 "Part of the mesh that is going to be simulated when the stroke is active");
2651 prop,
"Boundary Falloff",
"How the brush falloff is applied across the boundary");
2686 "Method to set the rotation origins for the segments of the brush");
2693 prop,
"Jitter Unit",
"Jitter in screen space or relative to brush size");
2724 "Number of input samples to average together to smooth the brush stroke");
2739 prop,
"Jitter",
"Jitter the position of the brush in pixels while painting");
2748 prop,
"Spacing",
"Spacing between brush daubs as a percentage of brush diameter");
2756 prop,
"Gradient Spacing",
"Spacing before brush gradient goes full circle");
2852 prop,
"Smooth Stroke Radius",
"Minimum distance from last point before stroke continues");
2890 prop,
"Strength",
"How powerful the effect of the brush is when applied");
2905 prop,
"Wet Mix",
"Amount of paint that is picked from the surface into the brush color");
2915 "Amount of wet paint that stays in the brush after applying paint to the surface");
2923 prop,
"Density",
"Amount of random elements that are going to be affected by the brush");
2945 prop,
"Invert Pressure for Hardness",
"Invert the modulation of pressure in hardness");
2960 prop,
"Invert Pressure for Flow",
"Invert the modulation of pressure in flow");
2975 prop,
"Invert Pressure for Wet Mix",
"Invert the modulation of pressure in wet mix");
2984 prop,
"Use Pressure for Wet Persistence",
"Use pressure to modulate wet persistence");
2993 "Invert Pressure for Wet Persistence",
2994 "Invert the modulation of pressure in wet persistence");
3009 prop,
"Invert Pressure for Density",
"Invert the modulation of pressure in density");
3018 prop,
"Dash Ratio",
"Ratio of samples in a cycle that the brush is enabled");
3026 prop,
"Dash Length",
"Length of a dash cycle measured in stroke samples");
3037 "Adjust plane on which the brush acts towards or away from the object surface");
3046 "If a vertex is further away from offset plane than this, then it is not affected");
3057 "Affectable height of brush (i.e. the layer height for the layer tool)");
3067 "The maximum distance below the plane for affected vertices. "
3068 "Increasing the depth affects vertices farther below the plane.");
3078 "The maximum distance above the plane for affected vertices. "
3079 "Increasing the height affects vertices farther above the plane.");
3088 prop,
"Stabilize Normal",
"Stabilize the orientation of the brush plane.");
3110 "Vector Displacement",
3111 "Handle each pixel color as individual vector for displacement (area plane mapping only)");
3119 prop,
"Normal Weight",
"How much grab will pull vertices out of surface during a grab");
3127 "Volume Preservation",
3128 "Poisson ratio for elastic deformation. Higher values preserve volume "
3129 "more, but also lead to more bulging.");
3150 prop,
"Pose Origin Offset",
"Offset of the pose origin in relation to the brush radius");
3157 "Max Element Distance",
3158 "Maximum distance to search for disconnected loose parts in the mesh");
3165 "Boundary Origin Offset",
3166 "Offset of the boundary origin in relation to the brush radius");
3173 prop,
"Shape Preservation",
"How much of the original shape is preserved when smoothing");
3181 "Per Vertex Displacement",
3182 "How much the position of each individual vertex influences the final result");
3203 "Smooth Iterations",
3204 "Smooth iterations applied after calculating the pose factor of each vertex");
3214 "Number of segments of the inverse kinematics chain that will deform the mesh");
3233 prop,
"Cloth Damping",
"How much the applied forces are propagated through the cloth");
3242 "Factor added relative to the size of the radius to limit the cloth simulation effects");
3249 "Simulation Falloff",
3250 "Area to apply deformation falloff to the effects of the simulation");
3258 "Soft Body Plasticity",
3259 "How much the cloth preserves the original shape, acting as a soft body");
3266 prop,
"Hardness",
"How close the brush falloff starts from the edge of the brush");
3275 "Propagation Steps",
3276 "Distance where boundary edge automasking is going to protect vertices "
3277 "from the fully masked edge");
3286 prop,
"Auto-Smooth",
"Amount of smoothing to automatically apply to each stroke");
3296 "Automatically align edges to the brush direction to "
3297 "generate cleaner topology and define sharp features. "
3298 "Best used on low-poly meshes as it has a performance impact.");
3308 "How much the tilt of the pen will affect the brush. Negative values "
3309 "indicate inverting the tilt directions.");
3318 "Ratio between the brush radius and the radius that is going to be "
3319 "used to sample the normal");
3328 "Ratio between the brush radius and the radius that is going to be "
3329 "used to sample the area center");
3338 "Ratio between the brush radius and the radius that is going to be "
3339 "used to sample the color to blend in wet paint");
3364 prop,
"Mask Stencil Dimensions",
"Dimensions of mask stencil in viewport");
3372 prop,
"Sharp Threshold",
"Threshold below which, no sharpening is done");
3380 prop,
"Fill Threshold",
"Threshold above which filling is not propagated");
3388 prop,
"Kernel Radius",
"Radius of kernel used for soften and sharpen in pixels");
3402 "Paint most on faces pointing towards the view according to this angle");
3409 prop,
"Airbrush",
"Keep applying paint effect while holding mouse (spray)");
3416 "When locked keep using normal of surface where stroke was initiated");
3424 "When locked keep using the plane origin of surface where stroke was initiated");
3441 }
while ((++entry)->identifier);
3474 "Affect only vertices with a similar normal to where the stroke starts");
3487 prop,
"Area Normal Falloff",
"Extend the angular range with a falloff gradient");
3493 prop,
"View Normal",
"Affect only vertices with a normal that faces the viewer");
3502 "Only affect vertices that are not occluded by other faces (slower performance)");
3515 prop,
"View Normal Falloff",
"Extend the angular range with a falloff gradient");
3522 prop,
"Spacing Distance",
"Calculate the brush spacing using view or scene distance");
3529 "Grab Active Vertex",
3530 "Apply the maximum grab strength to the active vertex instead of the cursor location");
3536 prop,
"Grab Silhouette",
"Grabs trying to automask the silhouette of the object");
3548 "The angle between the planes changes during the stroke to fit the "
3549 "surface under the cursor");
3555 prop,
"Show Cursor Preview",
"Preview the scrape planes in the cursor during the stroke");
3561 prop,
"Keep Anchor Point",
"Keep the position of the last segment in the IK chain fixed");
3567 "Lock Rotation When Scaling",
3568 "Do not rotate the segment when using the scale deform mode");
3580 "Pin Simulation Boundary",
3581 "Lock the position of the vertices in the simulation falloff area to avoid artifacts and "
3582 "create a softer transition with unaffected areas");
3593 "Invert to Scrape or Fill",
3594 "Use Scrape or Fill brush when inverting this brush instead of "
3595 "inverting its displacement direction");
3602 prop,
"Strength Pressure",
"Enable tablet pressure sensitivity for strength");
3609 prop,
"Plane Offset Pressure",
"Enable tablet pressure sensitivity for offset");
3616 prop,
"Area Radius Pressure",
"Enable tablet pressure sensitivity for area radius");
3629 prop,
"Jitter Pressure",
"Enable tablet pressure sensitivity for jitter");
3636 prop,
"Spacing Pressure",
"Enable tablet pressure sensitivity for spacing");
3643 prop,
"Mask Pressure Mode",
"Pen pressure makes texture influence smaller");
3650 prop,
"Inverse Smooth Pressure",
"Lighter pressure causes more smoothing to be applied");
3658 "Limit the distance from the offset plane that a vertex can be affected");
3664 prop,
"Use Front-Face",
"Brush only affects vertices that face the viewer");
3670 prop,
"Use Front-Face Falloff",
"Blend brush influence by how much they face the front");
3681 prop,
"Space",
"Limit brush application to the distance specified by spacing");
3695 "Define the stroke curve with a Bézier curve. Dabs are separated according to spacing.");
3701 prop,
"Smooth Stroke",
"Brush lags behind mouse and follows a smoother path");
3718 "Adjust Strength for Spacing",
3719 "Automatically adjust strength to give consistent results for different spacings");
3727 "Space daubs according to surface orientation instead of screen space");
3734 prop,
"Radius Unit",
"Measure brush size relative to the view or the scene");
3758 prop,
"Affect Alpha",
"When this is disabled, lock alpha while painting");
3856 prop,
"Use Vertex",
"Use this brush in Grease Pencil vertex color mode");
3941 prop,
"rna_Sculpt_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3948 prop,
"rna_Imapaint_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3955 prop,
"rna_Vertexpaint_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3962 prop,
"rna_Weightpaint_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3992 srna =
RNA_def_struct(brna,
"OperatorStrokeElement",
"PropertyGroup");
void BKE_brush_scale_size(int *r_brush_size, float new_unprojected_radius, float old_unprojected_radius)
void BKE_brush_scale_unprojected_radius(float *unprojected_radius, int new_brush_size, int old_brush_size)
void BKE_brush_tag_unsaved_changes(Brush *brush)
ColorBand * BKE_colorband_add(bool rangetype)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
ToolSettings * CTX_data_tool_settings(const bContext *C)
ViewLayer * CTX_data_view_layer(const bContext *C)
#define GPENCIL_USE_VERTEX_COLOR(toolsettings)
void BKE_gpencil_brush_material_set(struct Brush *brush, struct Material *material)
void BKE_icon_id_delete(struct ID *id)
void BKE_icon_changed(int icon_id)
int BKE_icon_id_ensure(struct ID *id)
void BKE_view_layer_synced_ensure(const Scene *scene, ViewLayer *view_layer)
Object * BKE_view_layer_active_object_get(const ViewLayer *view_layer)
General operations, lookup, etc. for materials.
Material * BKE_object_material_get(Object *ob, short act)
void BKE_paint_invalidate_overlay_tex(Scene *scene, ViewLayer *view_layer, const Tex *tex)
PaintMode BKE_paintmode_get_active_from_context(const bContext *C)
void BKE_paint_invalidate_overlay_all()
void BKE_previewimg_id_free(ID *id)
#define BLI_STR_UTF8_DEGREE_SIGN
#define BLT_I18NCONTEXT_AMOUNT
#define BLT_I18NCONTEXT_ID_BRUSH
#define BLT_I18NCONTEXT_ID_CURVES
#define BLT_I18NCONTEXT_ID_CURVE_LEGACY
#define BLT_I18NCONTEXT_ID_GPENCIL
#define BLT_I18NCONTEXT_OPERATOR_DEFAULT
#define BLT_I18NCONTEXT_ID_MASK
@ GPVERTEX_BRUSH_TYPE_BLUR
@ GPVERTEX_BRUSH_TYPE_DRAW
@ GPVERTEX_BRUSH_TYPE_REPLACE
@ GPVERTEX_BRUSH_TYPE_AVERAGE
@ GPVERTEX_BRUSH_TYPE_SMEAR
@ GP_BRUSH_USE_SAT_RAND_PRESS
@ GP_BRUSH_USE_STRENGTH_RAND_PRESS
@ GP_BRUSH_USE_VAL_RAND_PRESS
@ GP_BRUSH_USE_HUE_RAND_PRESS
@ GP_BRUSH_USE_STRENGTH_AT_STROKE
@ GP_BRUSH_USE_UV_RAND_PRESS
@ GP_BRUSH_USE_HUE_AT_STROKE
@ GP_BRUSH_USE_VAL_AT_STROKE
@ GP_BRUSH_USE_SAT_AT_STROKE
@ GP_BRUSH_USE_PRESS_AT_STROKE
@ GP_BRUSH_USE_UV_AT_STROKE
@ GP_BRUSH_USE_PRESSURE_RAND_PRESS
@ BRUSH_PAINT_ANTIALIASING
@ GPAINT_BRUSH_TYPE_ERASE
@ BRUSH_PLANE_INVERT_DISPLACEMENT
@ BRUSH_PLANE_SWAP_HEIGHT_AND_DEPTH
@ WPAINT_BRUSH_TYPE_AVERAGE
@ WPAINT_BRUSH_TYPE_SMEAR
@ GP_SCULPT_FLAGMODE_APPLY_UV
@ GP_SCULPT_FLAGMODE_APPLY_POSITION
@ GP_SCULPT_FLAGMODE_APPLY_THICKNESS
@ GP_SCULPT_FLAGMODE_APPLY_STRENGTH
@ BRUSH_AUTOMASKING_BRUSH_NORMAL
@ BRUSH_AUTOMASKING_CAVITY_NORMAL
@ BRUSH_AUTOMASKING_VIEW_OCCLUSION
@ BRUSH_AUTOMASKING_BOUNDARY_EDGES
@ BRUSH_AUTOMASKING_CAVITY_USE_CURVE
@ BRUSH_AUTOMASKING_BOUNDARY_FACE_SETS
@ BRUSH_AUTOMASKING_FACE_SETS
@ BRUSH_AUTOMASKING_VIEW_NORMAL
@ BRUSH_AUTOMASKING_TOPOLOGY
@ BRUSH_AUTOMASKING_CAVITY_INVERTED
@ BRUSH_DEFORM_TARGET_CLOTH_SIM
@ BRUSH_DEFORM_TARGET_GEOMETRY
@ BRUSH_POSE_DEFORM_SQUASH_STRETCH
@ BRUSH_POSE_DEFORM_ROTATE_TWIST
@ BRUSH_POSE_DEFORM_SCALE_TRASLATE
@ BRUSH_SMEAR_DEFORM_PINCH
@ BRUSH_SMEAR_DEFORM_EXPAND
@ BRUSH_SMEAR_DEFORM_DRAG
@ SCULPT_BRUSH_TYPE_DRAW_SHARP
@ SCULPT_BRUSH_TYPE_THUMB
@ SCULPT_BRUSH_TYPE_BOUNDARY
@ SCULPT_BRUSH_TYPE_DISPLACEMENT_SMEAR
@ SCULPT_BRUSH_TYPE_DRAW_FACE_SETS
@ SCULPT_BRUSH_TYPE_NUDGE
@ SCULPT_BRUSH_TYPE_CLOTH
@ SCULPT_BRUSH_TYPE_PINCH
@ SCULPT_BRUSH_TYPE_SMEAR
@ SCULPT_BRUSH_TYPE_CLAY_THUMB
@ SCULPT_BRUSH_TYPE_MULTIPLANE_SCRAPE
@ SCULPT_BRUSH_TYPE_SIMPLIFY
@ SCULPT_BRUSH_TYPE_SNAKE_HOOK
@ SCULPT_BRUSH_TYPE_CREASE
@ SCULPT_BRUSH_TYPE_LAYER
@ SCULPT_BRUSH_TYPE_SLIDE_RELAX
@ SCULPT_BRUSH_TYPE_ELASTIC_DEFORM
@ SCULPT_BRUSH_TYPE_SMOOTH
@ SCULPT_BRUSH_TYPE_PAINT
@ SCULPT_BRUSH_TYPE_DISPLACEMENT_ERASER
@ SCULPT_BRUSH_TYPE_PLANE
@ SCULPT_BRUSH_TYPE_INFLATE
@ SCULPT_BRUSH_TYPE_ROTATE
@ SCULPT_BRUSH_TYPE_CLAY_STRIPS
@ GP_BRUSH_MODE_VERTEXCOLOR
@ GP_BRUSH_FILL_SHOW_HELPLINES
@ GP_BRUSH_ERASER_KEEP_CAPS
@ GP_BRUSH_STABILIZE_MOUSE
@ GP_BRUSH_DISSABLE_LASSO
@ GP_BRUSH_OUTLINE_STROKE
@ GP_BRUSH_ACTIVE_LAYER_ONLY
@ GP_BRUSH_FILL_AUTO_REMOVE_FILL_GUIDES
@ GP_BRUSH_OCCLUDE_ERASER
@ GP_BRUSH_USE_STRENGTH_PRESSURE
@ GP_BRUSH_GROUP_SETTINGS
@ GP_BRUSH_FILL_STROKE_COLLIDE
@ GP_BRUSH_MATERIAL_PINNED
@ GP_BRUSH_FILL_SHOW_EXTENDLINES
@ GP_BRUSH_FILL_FIT_DISABLE
@ GP_BRUSH_USE_JITTER_PRESSURE
@ BRUSH_GRAB_ACTIVE_VERTEX
@ BRUSH_FRONTFACE_FALLOFF
@ BRUSH_INVERSE_SMOOTH_PRESSURE
@ BRUSH_INVERT_TO_SCRAPE_FILL
@ IMAGE_PAINT_BRUSH_TYPE_MASK
@ IMAGE_PAINT_BRUSH_TYPE_FILL
@ IMAGE_PAINT_BRUSH_TYPE_DRAW
@ IMAGE_PAINT_BRUSH_TYPE_CLONE
@ IMAGE_PAINT_BRUSH_TYPE_SOFTEN
@ IMAGE_PAINT_BRUSH_TYPE_SMEAR
@ BRUSH_CLOTH_DEFORM_DRAG
@ BRUSH_CLOTH_DEFORM_EXPAND
@ BRUSH_CLOTH_DEFORM_GRAB
@ BRUSH_CLOTH_DEFORM_PINCH_POINT
@ BRUSH_CLOTH_DEFORM_PUSH
@ BRUSH_CLOTH_DEFORM_INFLATE
@ BRUSH_CLOTH_DEFORM_SNAKE_HOOK
@ BRUSH_CLOTH_DEFORM_PINCH_PERPENDICULAR
@ BRUSH_COLOR_JITTER_USE_VAL_AT_STROKE
@ BRUSH_COLOR_JITTER_USE_HUE_AT_STROKE
@ BRUSH_COLOR_JITTER_USE_SAT_AT_STROKE
@ BRUSH_COLOR_JITTER_USE_SAT_RAND_PRESS
@ BRUSH_COLOR_JITTER_USE_VAL_RAND_PRESS
@ BRUSH_COLOR_JITTER_USE_HUE_RAND_PRESS
@ VPAINT_BRUSH_TYPE_AVERAGE
@ VPAINT_BRUSH_TYPE_SMEAR
@ BRUSH_SNAKE_HOOK_DEFORM_ELASTIC
@ BRUSH_SNAKE_HOOK_DEFORM_FALLOFF
@ BRUSH_MASK_PRESSURE_RAMP
@ BRUSH_MASK_PRESSURE_CUTOFF
@ BRUSH_ELASTIC_DEFORM_SCALE
@ BRUSH_ELASTIC_DEFORM_GRAB
@ BRUSH_ELASTIC_DEFORM_TWIST
@ BRUSH_ELASTIC_DEFORM_GRAB_BISCALE
@ BRUSH_ELASTIC_DEFORM_GRAB_TRISCALE
@ BRUSH_GRADIENT_SPACING_CLAMP
@ BRUSH_GRADIENT_PRESSURE
@ BRUSH_GRADIENT_SPACING_REPEAT
@ PAINT_FALLOFF_SHAPE_TUBE
@ BRUSH_SMOOTH_DEFORM_SURFACE
@ BRUSH_SMOOTH_DEFORM_LAPLACIAN
@ BRUSH_PAINT_WET_MIX_PRESSURE
@ BRUSH_PAINT_HARDNESS_PRESSURE
@ BRUSH_PAINT_FLOW_PRESSURE
@ BRUSH_PAINT_DENSITY_PRESSURE
@ BRUSH_PAINT_WET_PERSISTENCE_PRESSURE
@ BRUSH_PAINT_WET_MIX_PRESSURE_INVERT
@ BRUSH_PAINT_HARDNESS_PRESSURE_INVERT
@ BRUSH_PAINT_FLOW_PRESSURE_INVERT
@ BRUSH_PAINT_DENSITY_PRESSURE_INVERT
@ BRUSH_PAINT_WET_PERSISTENCE_PRESSURE_INVERT
@ BRUSH_CURVES_SCULPT_FLAG_INTERPOLATE_POINT_COUNT
@ BRUSH_CURVES_SCULPT_FLAG_SCALE_UNIFORM
@ BRUSH_CURVES_SCULPT_FLAG_INTERPOLATE_RADIUS
@ BRUSH_CURVES_SCULPT_FLAG_INTERPOLATE_LENGTH
@ BRUSH_CURVES_SCULPT_FLAG_INTERPOLATE_SHAPE
@ BRUSH_OVERLAY_SECONDARY_OVERRIDE_ON_STROKE
@ BRUSH_OVERLAY_PRIMARY_OVERRIDE_ON_STROKE
@ BRUSH_OVERLAY_SECONDARY
@ BRUSH_OVERLAY_CURSOR_OVERRIDE_ON_STROKE
#define MAX_BRUSH_PIXEL_RADIUS
@ BRUSH_BOUNDARY_DEFORM_GRAB
@ BRUSH_BOUNDARY_DEFORM_TWIST
@ BRUSH_BOUNDARY_DEFORM_BEND
@ BRUSH_BOUNDARY_DEFORM_EXPAND
@ BRUSH_BOUNDARY_DEFORM_INFLATE
@ BRUSH_BOUNDARY_DEFORM_SMOOTH
@ BRUSH_USE_COLOR_AS_DISPLACEMENT
@ BRUSH_CLOTH_PIN_SIMULATION_BOUNDARY
@ BRUSH_AREA_RADIUS_PRESSURE
@ BRUSH_MULTIPLANE_SCRAPE_PLANES_PREVIEW
@ BRUSH_MULTIPLANE_SCRAPE_DYNAMIC
@ BRUSH_USE_CONNECTED_ONLY
@ BRUSH_POSE_USE_LOCK_ROTATION
@ BRUSH_CLOTH_USE_COLLISION
@ BRUSH_CURVES_SCULPT_DENSITY_MODE_REMOVE
@ BRUSH_CURVES_SCULPT_DENSITY_MODE_ADD
@ BRUSH_CURVES_SCULPT_DENSITY_MODE_AUTO
@ BRUSH_CLOTH_FORCE_FALLOFF_RADIAL
@ BRUSH_CLOTH_FORCE_FALLOFF_PLANE
@ GPWEIGHT_BRUSH_TYPE_AVERAGE
@ GPWEIGHT_BRUSH_TYPE_DRAW
@ GPWEIGHT_BRUSH_TYPE_SMEAR
@ GPWEIGHT_BRUSH_TYPE_BLUR
@ GPSCULPT_BRUSH_TYPE_SMOOTH
@ GPSCULPT_BRUSH_TYPE_PUSH
@ GPSCULPT_BRUSH_TYPE_CLONE
@ GPSCULPT_BRUSH_TYPE_TWIST
@ GPSCULPT_BRUSH_TYPE_RANDOMIZE
@ GPSCULPT_BRUSH_TYPE_GRAB
@ GPSCULPT_BRUSH_TYPE_PINCH
@ GPSCULPT_BRUSH_TYPE_THICKNESS
@ GPSCULPT_BRUSH_TYPE_STRENGTH
@ GP_FILL_GPLMODE_ALL_ABOVE
@ GP_FILL_GPLMODE_VISIBLE
@ GP_FILL_GPLMODE_ALL_BELOW
@ BRUSH_CLOTH_SIMULATION_AREA_LOCAL
@ BRUSH_CLOTH_SIMULATION_AREA_DYNAMIC
@ BRUSH_CLOTH_SIMULATION_AREA_GLOBAL
@ BRUSH_POSE_ORIGIN_FACE_SETS_FK
@ BRUSH_POSE_ORIGIN_TOPOLOGY
@ BRUSH_POSE_ORIGIN_FACE_SETS
@ BRUSH_SLIDE_DEFORM_DRAG
@ BRUSH_SLIDE_DEFORM_EXPAND
@ BRUSH_SLIDE_DEFORM_PINCH
@ BRUSH_BOUNDARY_FALLOFF_CONSTANT
@ BRUSH_BOUNDARY_FALLOFF_LOOP
@ BRUSH_BOUNDARY_FALLOFF_LOOP_INVERT
@ BRUSH_BOUNDARY_FALLOFF_RADIUS
@ CURVES_SCULPT_BRUSH_TYPE_SMOOTH
@ CURVES_SCULPT_BRUSH_TYPE_PUFF
@ CURVES_SCULPT_BRUSH_TYPE_GROW_SHRINK
@ CURVES_SCULPT_BRUSH_TYPE_PINCH
@ CURVES_SCULPT_BRUSH_TYPE_SNAKE_HOOK
@ CURVES_SCULPT_BRUSH_TYPE_ADD
@ CURVES_SCULPT_BRUSH_TYPE_COMB
@ CURVES_SCULPT_BRUSH_TYPE_DENSITY
@ CURVES_SCULPT_BRUSH_TYPE_DELETE
@ CURVES_SCULPT_BRUSH_TYPE_SLIDE
@ CURVES_SCULPT_BRUSH_TYPE_SELECTION_PAINT
#define AUTOMASKING_BOUNDARY_EDGES_MAX_PROPAGATION_STEPS
#define GPENCIL_MIN_FILL_FAC
#define GP_MAX_INPUT_SAMPLES
#define GPENCIL_MAX_FILL_FAC
@ OB_MODE_VERTEX_GREASE_PENCIL
@ OB_MODE_PAINT_GREASE_PENCIL
#define PAINT_MAX_INPUT_SAMPLES
void IMB_freeImBuf(ImBuf *ibuf)
#define RNA_ENUM_ITEM_SEPR
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
@ PROP_PATH_SUPPORTS_BLEND_RELATIVE
#define ND_SPACE_PROPERTIES
bool supports_sculpt_plane(const Brush &brush)
bool supports_secondary_cursor_color(const Brush &brush)
bool supports_auto_smooth(const Brush &brush)
bool supports_jitter(const Brush &brush)
bool supports_space_attenuation(const Brush &brush)
bool supports_persistence(const Brush &brush)
bool supports_tilt(const Brush &brush)
bool supports_inverted_direction(const Brush &brush)
bool supports_rake_factor(const Brush &brush)
bool supports_plane_depth(const Brush &brush)
bool supports_accumulate(const Brush &brush)
bool supports_gravity(const Brush &brush)
bool supports_smooth_stroke(const Brush &brush)
bool supports_plane_offset(const Brush &brush)
bool supports_pinch_factor(const Brush &brush)
bool supports_color(const Brush &brush)
bool supports_random_texture_angle(const Brush &brush)
bool supports_strength_pressure(const Brush &brush)
bool supports_dyntopo(const Brush &brush)
bool supports_height(const Brush &brush)
bool supports_topology_rake(const Brush &brush)
bool supports_plane_height(const Brush &brush)
bool supports_normal_weight(const Brush &brush)
PointerRNA RNA_pointer_create_with_parent(const PointerRNA &parent, StructRNA *type, void *data)
#define TEXTURE_CAPABILITY(prop_name_, ui_name_)
static EnumPropertyItem rna_enum_gpencil_brush_eraser_modes_items[]
static void rna_def_gpencil_options(BlenderRNA *brna)
#define IMAPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_)
#define SCULPT_BRUSH_CAPABILITY(prop_name_, ui_name_)
static void rna_def_sculpt_capabilities(BlenderRNA *brna)
static void rna_def_operator_stroke_element(BlenderRNA *brna)
static EnumPropertyItem rna_enum_gpencil_fill_direction_items[]
static const EnumPropertyItem sculpt_stroke_method_items[]
const EnumPropertyItem rna_enum_brush_weight_brush_type_items[]
static void rna_def_curves_sculpt_options(BlenderRNA *brna)
static EnumPropertyItem rna_enum_gpencil_fill_layers_modes_items[]
#define VPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_)
const EnumPropertyItem rna_enum_brush_gpencil_sculpt_types_items[]
#define BRUSH_CAPABILITY(prop_name_, ui_name_)
static EnumPropertyItem rna_enum_gpencil_fill_draw_modes_items[]
void RNA_def_brush(BlenderRNA *brna)
const EnumPropertyItem rna_enum_brush_image_brush_type_items[]
const EnumPropertyItem rna_enum_brush_automasking_flag_items[]
static void rna_def_brush(BlenderRNA *brna)
const EnumPropertyItem rna_enum_brush_sculpt_brush_type_items[]
static const EnumPropertyItem rna_enum_brush_texture_slot_map_all_mode_items[]
const EnumPropertyItem rna_enum_brush_gpencil_vertex_types_items[]
static EnumPropertyItem rna_enum_gpencil_brush_modes_items[]
static void rna_def_image_paint_capabilities(BlenderRNA *brna)
static void rna_def_vertex_paint_capabilities(BlenderRNA *brna)
#define WPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_)
const EnumPropertyItem rna_enum_brush_gpencil_weight_types_items[]
const EnumPropertyItem rna_enum_brush_curve_preset_items[]
const EnumPropertyItem rna_enum_brush_vertex_brush_type_items[]
static void rna_def_brush_texture_slot(BlenderRNA *brna)
const EnumPropertyItem rna_enum_brush_gpencil_types_items[]
static void rna_def_weight_paint_capabilities(BlenderRNA *brna)
static EnumPropertyItem rna_enum_gpencil_fill_extend_modes_items[]
static void rna_def_brush_capabilities(BlenderRNA *brna)
const EnumPropertyItem rna_enum_brush_curves_sculpt_brush_type_items[]
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_property_float_default(PropertyRNA *prop, float value)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_string_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_boolean_default(PropertyRNA *prop, bool value)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_int_default(PropertyRNA *prop, int value)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
void RNA_def_property_enum_bitflag_sdna(PropertyRNA *prop, const char *structname, const char *propname)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_struct_nested(BlenderRNA *brna, StructRNA *srna, const char *structname)
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void rna_TextureSlot_update(bContext *C, PointerRNA *ptr)
const EnumPropertyItem rna_enum_dummy_DEFAULT_items[]
static const EnumPropertyItem prop_direction_items[]
struct ImBuf * icon_imbuf
struct ColorBand * gradient
char gpencil_sculpt_brush_type
char gpencil_weight_brush_type
struct BrushGpencilSettings * gpencil_settings
char curves_sculpt_brush_type
void WM_main_add_notifier(uint type, void *reference)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)