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},
37 {0,
"DOTS", 0,
"Dots",
"Apply paint on each mouse move step"},
38 {
BRUSH_DRAG_DOT,
"DRAG_DOT", 0,
"Drag Dot",
"Allows a single dot to be carefully positioned"},
43 "Limit brush application to the distance specified by spacing"},
48 "Keep applying paint effect while holding mouse (spray)"},
49 {
BRUSH_ANCHORED,
"ANCHORED", 0,
"Anchored",
"Keep the brush anchored to the initial location"},
50 {
BRUSH_LINE,
"LINE", 0,
"Line",
"Draw a line with dabs separated according to spacing"},
55 "Define the stroke curve with a Bézier curve (dabs are separated according to spacing)"},
56 {0,
nullptr, 0,
nullptr,
nullptr},
66 {0,
nullptr, 0,
nullptr,
nullptr},
70static const EnumPropertyItem rna_enum_brush_texture_slot_map_texture_mode_items[] = {
76 {0,
nullptr, 0,
nullptr,
nullptr},
91 {0,
nullptr, 0,
nullptr,
nullptr},
98 "use_automasking_topology",
101 "Affect only vertices connected to the active vertex under the brush"},
103 "use_automasking_face_sets",
106 "Affect only vertices that share Face Sets with the active vertex"},
108 "use_automasking_boundary_edges",
110 "Mesh Boundary Auto-Masking",
111 "Do not affect non manifold boundary edges"},
113 "use_automasking_boundary_face_sets",
115 "Face Sets Boundary Automasking",
116 "Do not affect vertices that belong to a Face Set boundary"},
118 "use_automasking_cavity",
121 "Do not affect vertices on peaks, based on the surface curvature"},
123 "use_automasking_cavity_inverted",
125 "Inverted Cavity Mask",
126 "Do not affect vertices within crevices, based on the surface curvature"},
128 "use_automasking_custom_cavity_curve",
130 "Custom Cavity Curve",
132 {0,
nullptr, 0,
nullptr,
nullptr}};
165 "DISPLACEMENT_ERASER",
167 "Multires Displacement Eraser",
170 "DISPLACEMENT_SMEAR",
172 "Multires Displacement Smear",
176 {0,
nullptr, 0,
nullptr,
nullptr},
184 {0,
nullptr, 0,
nullptr,
nullptr},
192 {0,
nullptr, 0,
nullptr,
nullptr},
202 {0,
nullptr, 0,
nullptr,
nullptr},
210 "The brush is of type used for drawing strokes"},
215 "The brush is of type used for filling areas"},
220 "The brush is used for erasing strokes"},
222 {0,
nullptr, 0,
nullptr,
nullptr},
231 "Smooth out the colors of adjacent stroke points"},
236 "Smooth out colors with the average color under the brush"},
241 "Smudge colors by grabbing and dragging them"},
246 "Replace the color of stroke points that already have a color applied"},
247 {0,
nullptr, 0,
nullptr,
nullptr},
258 "Introduce jitter/randomness into strokes"},
263 "Translate the set of points initially within the brush circle"},
268 "Move points out of the way, as if combing them"},
273 "Rotate points around the midpoint of the brush"},
278 "Pull points towards the midpoint of the brush"},
283 "Paste copies of the strokes stored on the internal clipboard"},
284 {0,
nullptr, 0,
nullptr,
nullptr}};
293 "Average weight in active vertex group"},
295 {0,
nullptr, 0,
nullptr,
nullptr},
312 {0,
nullptr, 0,
nullptr,
nullptr},
321 "Erase strokes, fading their points strength and thickness"},
324 {0,
nullptr, 0,
nullptr,
nullptr},
332 "Use both visible strokes and edit lines as fill boundary limits"},
335 {0,
nullptr, 0,
nullptr,
nullptr}};
340 {0,
nullptr, 0,
nullptr,
nullptr}};
349 {0,
nullptr, 0,
nullptr,
nullptr}};
352 {0,
"NORMAL", ICON_ADD,
"Normal",
"Fill internal area"},
353 {
BRUSH_DIR_IN,
"INVERT", ICON_REMOVE,
"Inverted",
"Fill inverted area"},
354 {0,
nullptr, 0,
nullptr,
nullptr},
361 {0,
nullptr, 0,
nullptr,
nullptr}};
384static bool rna_TextureCapabilities_has_random_texture_angle_get(
PointerRNA *
ptr)
390static bool rna_TextureCapabilities_has_texture_angle_get(
PointerRNA *
ptr)
396static bool rna_TextureCapabilities_has_texture_angle_source_get(
PointerRNA *
ptr)
402static bool rna_BrushCapabilities_has_overlay_get(
PointerRNA *
ptr)
409static bool rna_BrushCapabilities_has_random_texture_angle_get(
PointerRNA *
ptr)
415static bool rna_BrushCapabilities_has_smooth_stroke_get(
PointerRNA *
ptr)
422static bool rna_BrushCapabilities_has_spacing_get(
PointerRNA *
ptr)
428static bool rna_BrushCapabilitiesSculpt_has_accumulate_get(
PointerRNA *
ptr)
434static bool rna_BrushCapabilitiesSculpt_has_topology_rake_get(
PointerRNA *
ptr)
440static bool rna_BrushCapabilitiesSculpt_has_auto_smooth_get(
PointerRNA *
ptr)
446static bool rna_BrushCapabilitiesSculpt_has_height_get(
PointerRNA *
ptr)
452static bool rna_BrushCapabilitiesSculpt_has_plane_height_get(
PointerRNA *
ptr)
458static bool rna_BrushCapabilitiesSculpt_has_plane_depth_get(
PointerRNA *
ptr)
464static bool rna_BrushCapabilitiesSculpt_has_jitter_get(
PointerRNA *
ptr)
470static bool rna_BrushCapabilitiesSculpt_has_normal_weight_get(
PointerRNA *
ptr)
476static bool rna_BrushCapabilitiesSculpt_has_rake_factor_get(
PointerRNA *
ptr)
482static bool rna_BrushCapabilitiesSculpt_has_persistence_get(
PointerRNA *
ptr)
488static bool rna_BrushCapabilitiesSculpt_has_pinch_factor_get(
PointerRNA *
ptr)
494static bool rna_BrushCapabilitiesSculpt_has_plane_offset_get(
PointerRNA *
ptr)
500static bool rna_BrushCapabilitiesSculpt_has_random_texture_angle_get(
PointerRNA *
ptr)
506static bool rna_BrushCapabilitiesSculpt_has_sculpt_plane_get(
PointerRNA *
ptr)
512static bool rna_BrushCapabilitiesSculpt_has_color_get(
PointerRNA *
ptr)
518static bool rna_BrushCapabilitiesSculpt_has_secondary_color_get(
PointerRNA *
ptr)
524static bool rna_BrushCapabilitiesSculpt_has_smooth_stroke_get(
PointerRNA *
ptr)
530static bool rna_BrushCapabilitiesSculpt_has_space_attenuation_get(
PointerRNA *
ptr)
536static bool rna_BrushCapabilitiesSculpt_has_strength_pressure_get(
PointerRNA *
ptr)
542static bool rna_BrushCapabilitiesSculpt_has_size_pressure_get(
PointerRNA *
ptr)
548static bool rna_BrushCapabilitiesSculpt_has_auto_smooth_pressure_get(
PointerRNA *
ptr)
554static bool rna_BrushCapabilitiesSculpt_has_hardness_pressure_get(
PointerRNA *
ptr)
560static bool rna_BrushCapabilitiesSculpt_has_direction_get(
PointerRNA *
ptr)
566static bool rna_BrushCapabilitiesSculpt_has_gravity_get(
PointerRNA *
ptr)
572static bool rna_BrushCapabilitiesSculpt_has_tilt_get(
PointerRNA *
ptr)
578static bool rna_BrushCapabilitiesSculpt_has_dyntopo_get(
PointerRNA *
ptr)
584static bool rna_BrushCapabilitiesImagePaint_has_accumulate_get(
PointerRNA *
ptr)
601static bool rna_BrushCapabilitiesImagePaint_has_radius_get(
PointerRNA *
ptr)
609static bool rna_BrushCapabilitiesImagePaint_has_space_attenuation_get(
PointerRNA *
ptr)
616static bool rna_BrushCapabilitiesImagePaint_has_color_get(
PointerRNA *
ptr)
622static bool rna_BrushCapabilitiesVertexPaint_has_color_get(
PointerRNA *
ptr)
628static bool rna_BrushCapabilitiesWeightPaint_has_weight_get(
PointerRNA *
ptr)
675 rna_Brush_update(bmain, scene,
ptr);
694 rna_Brush_update(bmain, scene,
ptr);
704 rna_Brush_update(bmain, scene,
ptr);
710 rna_Brush_update(bmain, scene,
ptr);
716 rna_Brush_update(bmain, scene,
ptr);
741static void rna_Brush_use_gradient_set(
PointerRNA *
ptr,
int value)
757static void rna_Brush_set_unprojected_size(
PointerRNA *
ptr,
float value)
779 N_(
"Smooth the surface")},
784 N_(
"Enhance the surface detail")},
785 {0,
nullptr, 0,
nullptr,
nullptr},
793 N_(
"Subtract effect of brush")},
798 N_(
"Add effect of brush")},
799 {0,
nullptr, 0,
nullptr,
nullptr},
807 N_(
"Add effect of brush")},
812 N_(
"Subtract effect of brush")},
813 {0,
nullptr, 0,
nullptr,
nullptr},
822 N_(
"Sharpen effect of brush")},
827 N_(
"Blur effect of brush")},
828 {0,
nullptr, 0,
nullptr,
nullptr},
838 N_(
"Subtract effect of brush")},
839 {0,
nullptr, 0,
nullptr,
nullptr},
846 N_(
"Add effect of brush")},
851 N_(
"Subtract effect of brush")},
852 {0,
nullptr, 0,
nullptr,
nullptr},
870 return prop_smooth_direction_items;
884 return prop_pinch_magnify_items;
887 return prop_inflate_deflate_items;
897 return prop_soften_sharpen_items;
917 return prop_twist_items;
919 return prop_pinch_items;
943 {0,
"DOTS", 0,
"Dots",
"Apply paint on each mouse move step"},
948 "Limit brush application to the distance specified by spacing"},
953 "Keep applying paint effect while holding mouse (spray)"},
954 {
BRUSH_LINE,
"LINE", 0,
"Line",
"Drag a line with dabs separated according to spacing"},
959 "Define the stroke curve with a Bézier curve. Dabs are separated according to spacing."},
960 {0,
nullptr, 0,
nullptr,
nullptr},
970 return brush_stroke_method_items;
975static std::optional<std::string> rna_BrushGpencilSettings_path(
const PointerRNA * )
977 return "gpencil_settings";
1019 return (ma->gp_style !=
nullptr);
1031static void rna_GPencilBrush_pin_mode_set(
PointerRNA * ,
bool )
1054static void rna_BrushCurvesSculptSettings_update(
Main * ,
1072# define rna_enum_brush_texture_slot_map_sculpt_mode_items \
1073 rna_enum_brush_texture_slot_map_all_mode_items;
1077 return rna_enum_brush_texture_slot_map_sculpt_mode_items;
1079 return rna_enum_brush_texture_slot_map_texture_mode_items;
1081# undef rna_enum_brush_texture_slot_map_sculpt_mode_items
1084static void rna_Brush_automasking_invert_cavity_set(
PointerRNA *
ptr,
bool val)
1097static void rna_Brush_automasking_cavity_set(
PointerRNA *
ptr,
bool val)
1110static std::optional<std::string> rna_BrushCurvesSculptSettings_path(
const PointerRNA * )
1112 return "curves_sculpt_settings";
1127 {0,
nullptr, 0,
nullptr,
nullptr},
1130# define TEXTURE_CAPABILITY(prop_name_, ui_name_) \
1131 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1132 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1133 RNA_def_property_boolean_funcs(prop, "rna_TextureCapabilities_" #prop_name_ "_get", nullptr); \
1134 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1139 srna,
"Brush Texture Slot",
"Texture slot for textures in a Brush data-block");
1185# undef TEXTURE_CAPABILITY
1197 "Sculpt Capabilities",
1198 "Read-only indications of which brush operations "
1199 "are supported by the current sculpt tool");
1201# define SCULPT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1202 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1203 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1204 RNA_def_property_boolean_funcs( \
1205 prop, "rna_BrushCapabilitiesSculpt_" #prop_name_ "_get", nullptr); \
1206 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1235# undef SCULPT_CAPABILITY
1247 srna,
"Brush Capabilities",
"Read-only indications of supported operations");
1249# define 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(prop, "rna_BrushCapabilities_" #prop_name_ "_get", nullptr); \
1253 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1260# undef BRUSH_CAPABILITY
1268 srna =
RNA_def_struct(brna,
"BrushCapabilitiesImagePaint",
nullptr);
1272 srna,
"Image Paint Capabilities",
"Read-only indications of supported operations");
1274# define IMAPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1275 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1276 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1277 RNA_def_property_boolean_funcs( \
1278 prop, "rna_BrushCapabilitiesImagePaint_" #prop_name_ "_get", nullptr); \
1279 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1286# undef IMAPAINT_BRUSH_CAPABILITY
1294 srna =
RNA_def_struct(brna,
"BrushCapabilitiesVertexPaint",
nullptr);
1298 srna,
"Vertex Paint Capabilities",
"Read-only indications of supported operations");
1300# define VPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1301 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1302 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1303 RNA_def_property_boolean_funcs( \
1304 prop, "rna_BrushCapabilitiesVertexPaint_" #prop_name_ "_get", nullptr); \
1305 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1309# undef VPAINT_BRUSH_CAPABILITY
1317 srna =
RNA_def_struct(brna,
"BrushCapabilitiesWeightPaint",
nullptr);
1321 srna,
"Weight Paint Capabilities",
"Read-only indications of supported operations");
1323# define WPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1324 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1325 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1326 RNA_def_property_boolean_funcs( \
1327 prop, "rna_BrushCapabilitiesWeightPaint_" #prop_name_ "_get", nullptr); \
1328 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1332# undef WPAINT_BRUSH_CAPABILITY
1344 {
GPPAINT_MODE_BOTH,
"BOTH", 0,
"Stroke & Fill",
"Vertex Color affects to Stroke and Fill"},
1345 {0,
nullptr, 0,
nullptr,
nullptr},
1348 static const EnumPropertyItem rna_enum_gpencil_brush_caps_types_items[] = {
1351 {0,
nullptr, 0,
nullptr,
nullptr},
1365 prop,
"Strength",
"Color strength for new strokes (affect alpha factor of color)");
1385 prop,
"Pressure Randomness",
"Randomness factor for pressure in new strokes");
1394 prop,
"Strength Randomness",
"Randomness factor strength in new strokes");
1404 "Direction of the stroke at which brush gives maximal thickness "
1416 "Reduce brush thickness by this factor when stroke is perpendicular to 'Angle' direction");
1428 "Amount of smoothing to apply after finish newly created strokes, to reduce jitter/noise");
1447 "Subdivision Steps",
1448 "Number of times to subdivide newly created strokes, for less jagged strokes");
1468 "Threshold in screen space used for the simplify algorithm. Points within this threshold "
1469 "are treated as if they were in a straight line.");
1542 prop,
"Threshold",
"Threshold to consider color transparent for filling");
1553 "Factor for fill boundary accuracy, higher values are more accurate but slower");
1562 prop,
"Simplify",
"Number of simplify steps (large values reduce fill accuracy)");
1581 "Gradient from the center of Dot and Box strokes (set to 1 for a solid stroke)");
1601 "Generated intermediate points for very fast mouse movements (Set to 0 to disable)");
1643 prop,
"Vertex Color Factor",
"Factor used to mix vertex color to get final color");
1678 prop,
"Closure Size",
"Strokes end extension for closing gaps, use zero to disable");
1686 prop,
"Closure Mode",
"Types of stroke extensions used for closing gaps");
1697 prop,
"Dilate/Contract",
"Number of pixels to expand or contract fill area");
1707 prop,
"Thickness",
"Thickness of the outline stroke relative to current brush thickness");
1723 prop,
"Use Pressure Strength",
"Use tablet pressure for color strength");
1823 "Draw lines with a delay to allow smooth strokes (press Shift key to "
1824 "override while drawing)");
1868 prop,
"rna_GPencilBrush_pin_mode_get",
"rna_GPencilBrush_pin_mode_set");
1907 prop,
"Affect Strength",
"The brush affects the color strength of the point");
1915 prop,
"Affect Thickness",
"The brush affects the thickness of the point");
1929 prop,
nullptr,
nullptr,
nullptr,
"rna_BrushGpencilSettings_material_poll");
1939 prop,
nullptr,
nullptr,
nullptr,
"rna_BrushGpencilSettings_material_poll");
1963 prop,
"Strokes Collision",
"Check if extend lines collide with strokes");
1971 prop,
"Show Fill",
"Show transparent lines to use as boundary for filling");
1979 "Auto-Remove Fill Guides",
1980 "Automatically remove fill guide strokes after fill operation");
1994 prop,
"Use Post-Process Settings",
"Additional post processing options for new strokes");
2011 prop,
NC_GPENCIL |
ND_DATA,
"rna_BrushGpencilSettings_use_material_pin_update");
2016 prop,
"Show Lasso",
"Do not display fill color while drawing the stroke");
2029 prop,
"Keep Caps",
"Keep the caps as they are and don't flatten them when erasing");
2050 "Either add or remove curves depending on the minimum distance of the curves under the "
2056 "Add new curves between existing curves, taking the minimum distance into account"},
2061 "Remove curves whose root points are too close"},
2062 {0,
nullptr, 0,
nullptr,
nullptr},
2065 srna =
RNA_def_struct(brna,
"BrushCurvesSculptSettings",
nullptr);
2078 prop,
"Points per Curve",
"Number of control points in a newly added curve");
2085 "Grow or shrink curves by changing their size uniformly instead of "
2086 "using trimming or extrapolation");
2092 prop,
"Minimum Length",
"Avoid shrinking curves shorter than this length");
2098 prop,
"Interpolate Length",
"Use length of the curves in close proximity");
2106 prop,
"Interpolate Radius",
"Use radius of the curves in close proximity");
2113 "Interpolate Point Count",
2114 "Use the number of points from the curves in close proximity");
2120 prop,
"Interpolate Shape",
"Use shape of the curves in close proximity");
2128 "Length of newly added curves when it is not interpolated from other curves");
2135 prop,
"Minimum Distance",
"Goal distance between curve roots for the Density brush");
2145 "Radius of newly added curves when it is not interpolated from other curves");
2151 prop,
"Density Add Attempts",
"How many times the Density brush tries to add a new curve");
2157 prop,
"Density Mode",
"Determines whether the brush adds or removes curves");
2164 "Curve Parameter Falloff",
2165 "Falloff that is applied from the tip to the root of each curve");
2175 {
IMB_BLEND_MIX,
"MIX", 0,
"Mix",
"Use Mix blending mode while painting"},
2177 {
IMB_BLEND_DARKEN,
"DARKEN", 0,
"Darken",
"Use Darken blending mode while painting"},
2178 {
IMB_BLEND_MUL,
"MUL", 0,
"Multiply",
"Use Multiply blending mode while painting"},
2183 "Use Color Burn blending mode while painting"},
2188 "Use Linear Burn blending mode while painting"},
2190 {
IMB_BLEND_LIGHTEN,
"LIGHTEN", 0,
"Lighten",
"Use Lighten blending mode while painting"},
2191 {
IMB_BLEND_SCREEN,
"SCREEN", 0,
"Screen",
"Use Screen blending mode while painting"},
2196 "Use Color Dodge blending mode while painting"},
2197 {
IMB_BLEND_ADD,
"ADD", 0,
"Add",
"Use Add blending mode while painting"},
2199 {
IMB_BLEND_OVERLAY,
"OVERLAY", 0,
"Overlay",
"Use Overlay blending mode while painting"},
2204 "Use Soft Light blending mode while painting"},
2209 "Use Hard Light blending mode while painting"},
2214 "Use Vivid Light blending mode while painting"},
2219 "Use Linear Light blending mode while painting"},
2224 "Use Pin Light blending mode while painting"},
2230 "Use Difference blending mode while painting"},
2235 "Use Exclusion blending mode while painting"},
2236 {
IMB_BLEND_SUB,
"SUB", 0,
"Subtract",
"Use Subtract blending mode while painting"},
2238 {
IMB_BLEND_HUE,
"HUE", 0,
"Hue",
"Use Hue blending mode while painting"},
2243 "Use Saturation blending mode while painting"},
2244 {
IMB_BLEND_COLOR,
"COLOR", 0,
"Color",
"Use Color blending mode while painting"},
2249 {0,
nullptr, 0,
nullptr,
nullptr},
2258 {0,
nullptr, 0,
nullptr,
nullptr},
2264 {0,
nullptr, 0,
nullptr,
nullptr},
2270 {0,
nullptr, 0,
nullptr,
nullptr},
2277 {0,
nullptr, 0,
nullptr,
nullptr},
2283 {0,
nullptr, 0,
nullptr,
nullptr},
2287 {0,
"NONE", 0,
"Off",
""},
2290 {0,
nullptr, 0,
nullptr,
nullptr},
2294 {0,
"VIEW", 0,
"View",
"Measure brush size relative to the view"},
2295 {
BRUSH_LOCK_SIZE,
"SCENE", 0,
"Scene",
"Measure brush size relative to the scene"},
2296 {0,
nullptr, 0,
nullptr,
nullptr},
2300 {0,
"COLOR", 0,
"Color",
"Paint with a single color"},
2302 {0,
nullptr, 0,
nullptr,
nullptr},
2306 {0,
"VIEW", 0,
"View",
"Calculate brush spacing relative to the view"},
2311 "Calculate brush spacing relative to the scene using the stroke location"},
2312 {0,
nullptr, 0,
nullptr,
nullptr},
2317 {0,
"BRUSH", 0,
"Brush",
"Jittering happens relative to the brush size"},
2318 {0,
nullptr, 0,
nullptr,
nullptr},
2322 {0,
"SPHERE", 0,
"Sphere",
"Apply brush influence in a Sphere, outwards from the center"},
2327 "Apply brush influence in a 2D circle, projected from the view"},
2328 {0,
nullptr, 0,
nullptr,
nullptr},
2336 "Brush deformation displaces the vertices of the mesh"},
2341 "Brush deforms the mesh by deforming the constraints of a cloth simulation"},
2342 {0,
nullptr, 0,
nullptr,
nullptr},
2351 {0,
nullptr, 0,
nullptr,
nullptr},
2359 "Applies the brush falloff in the tip of the brush"},
2364 "Modifies the entire mesh using elastic deform"},
2365 {0,
nullptr, 0,
nullptr,
nullptr},
2370 "INVERT_DISPLACEMENT",
2372 "Invert Displacement",
2373 "Displace the vertices away from the plane."},
2375 "SWAP_DEPTH_AND_HEIGHT",
2377 "Swap Height and Depth",
2378 "Swap the roles of Height and Depth."},
2379 {0,
nullptr, 0,
nullptr,
nullptr},
2387 "PINCH_PERPENDICULAR",
2389 "Pinch Perpendicular",
2395 {0,
nullptr, 0,
nullptr,
nullptr},
2401 {0,
nullptr, 0,
nullptr,
nullptr},
2409 "Applies the same deformation in the entire boundary"},
2414 "Applies the deformation in a localized area limited by the brush radius"},
2419 "Applies the brush falloff in a loop pattern"},
2424 "Applies the falloff radius in a loop pattern, inverting the displacement direction in "
2425 "each pattern repetition"},
2426 {0,
nullptr, 0,
nullptr,
nullptr},
2434 "Simulates only a specific area around the brush limited by a fixed radius"},
2440 "The active simulation area moves with the brush"},
2441 {0,
nullptr, 0,
nullptr,
nullptr},
2449 "Smooths the surface and the volume"},
2454 "Smooths the surface of the mesh, preserving the volume"},
2455 {0,
nullptr, 0,
nullptr,
nullptr},
2462 {0,
nullptr, 0,
nullptr,
nullptr},
2470 "Sets the rotation origin automatically using the topology and shape of the mesh as a "
2476 "Creates a pose segment per face sets, starting from the active face set"},
2481 "Simulates an FK deformation using the Face Set under the cursor as control"},
2482 {0,
nullptr, 0,
nullptr,
nullptr},
2489 {0,
nullptr, 0,
nullptr,
nullptr},
2496 {0,
nullptr, 0,
nullptr,
nullptr},
2506 {0,
nullptr, 0,
nullptr,
nullptr},
2511 srna,
"Brush",
"Brush data-block for storing brush settings for painting and sculpting");
2517 "Has unsaved changes",
2518 "Indicates that there are any user visible changes since the brush has "
2519 "been imported or read from the file");
2635 prop,
"Deformation Target",
"How the deformation of the brush will affect the object");
2663 prop,
"Force Falloff",
"Shape used in the brush to apply force to the cloth");
2671 "Part of the mesh that is going to be simulated when the stroke is active");
2677 prop,
"Boundary Falloff",
"How the brush falloff is applied across the boundary");
2712 "Method to set the rotation origins for the segments of the brush");
2719 prop,
"Jitter Unit",
"Jitter in screen space or relative to brush size");
2750 "Number of input samples to average together to smooth the brush stroke");
2765 prop,
"Jitter",
"Jitter the position of the brush in pixels while painting");
2774 prop,
"Spacing",
"Spacing between brush daubs as a percentage of brush diameter");
2782 prop,
"Gradient Spacing",
"Spacing before brush gradient goes full circle");
2879 prop,
"Pressure Size Mapping",
"Curve used to map pressure to brush size");
2887 prop,
"Pressure Strength Mapping",
"Curve used to map pressure to brush strength");
2895 prop,
"Pressure Jitter Mapping",
"Curve used to map pressure to brush jitter");
2902 prop,
"Smooth Stroke Radius",
"Minimum distance from last point before stroke continues");
2940 prop,
"Strength",
"How powerful the effect of the brush is when applied");
2955 prop,
"Wet Mix",
"Amount of paint that is picked from the surface into the brush color");
2965 "Amount of wet paint that stays in the brush after applying paint to the surface");
2973 prop,
"Density",
"Amount of random elements that are going to be affected by the brush");
2995 prop,
"Invert Pressure for Hardness",
"Invert the modulation of pressure in hardness");
3010 prop,
"Invert Pressure for Flow",
"Invert the modulation of pressure in flow");
3025 prop,
"Invert Pressure for Wet Mix",
"Invert the modulation of pressure in wet mix");
3034 prop,
"Use Pressure for Wet Persistence",
"Use pressure to modulate wet persistence");
3043 "Invert Pressure for Wet Persistence",
3044 "Invert the modulation of pressure in wet persistence");
3059 prop,
"Invert Pressure for Density",
"Invert the modulation of pressure in density");
3068 prop,
"Dash Ratio",
"Ratio of samples in a cycle that the brush is enabled");
3076 prop,
"Dash Length",
"Length of a dash cycle measured in stroke samples");
3087 "Adjust plane on which the brush acts towards or away from the object surface");
3096 "If a vertex is further away from offset plane than this, then it is not affected");
3107 "Affectable height of brush (i.e. the layer height for the layer tool)");
3117 "The maximum distance below the plane for affected vertices. "
3118 "Increasing the depth affects vertices farther below the plane.");
3128 "The maximum distance above the plane for affected vertices. "
3129 "Increasing the height affects vertices farther above the plane.");
3138 prop,
"Stabilize Normal",
"Stabilize the orientation of the brush plane.");
3160 "Vector Displacement",
3161 "Handle each pixel color as individual vector for displacement (area plane mapping only)");
3169 prop,
"Normal Weight",
"How much grab will pull vertices out of surface during a grab");
3177 "Volume Preservation",
3178 "Poisson ratio for elastic deformation. Higher values preserve volume "
3179 "more, but also lead to more bulging.");
3200 prop,
"Pose Origin Offset",
"Offset of the pose origin in relation to the brush radius");
3207 "Max Element Distance",
3208 "Maximum distance to search for disconnected loose parts in the mesh");
3215 "Boundary Origin Offset",
3216 "Offset of the boundary origin in relation to the brush radius");
3223 prop,
"Shape Preservation",
"How much of the original shape is preserved when smoothing");
3231 "Per Vertex Displacement",
3232 "How much the position of each individual vertex influences the final result");
3253 "Smooth Iterations",
3254 "Smooth iterations applied after calculating the pose factor of each vertex");
3264 "Number of segments of the inverse kinematics chain that will deform the mesh");
3283 prop,
"Cloth Damping",
"How much the applied forces are propagated through the cloth");
3292 "Factor added relative to the size of the radius to limit the cloth simulation effects");
3299 "Simulation Falloff",
3300 "Area to apply deformation falloff to the effects of the simulation");
3308 "Soft Body Plasticity",
3309 "How much the cloth preserves the original shape, acting as a soft body");
3316 prop,
"Hardness",
"How close the brush falloff starts from the edge of the brush");
3325 "Propagation Steps",
3326 "Distance where boundary edge automasking is going to protect vertices "
3327 "from the fully masked edge");
3336 prop,
"Auto-Smooth",
"Amount of smoothing to automatically apply to each stroke");
3346 "Automatically align edges to the brush direction to "
3347 "generate cleaner topology and define sharp features. "
3348 "Best used on low-poly meshes as it has a performance impact.");
3358 "How much the tilt of the pen will affect the brush. Negative values "
3359 "indicate inverting the tilt directions.");
3368 "Ratio between the brush radius and the radius that is going to be "
3369 "used to sample the normal");
3378 "Ratio between the brush radius and the radius that is going to be "
3379 "used to sample the area center");
3388 "Ratio between the brush radius and the radius that is going to be "
3389 "used to sample the color to blend in wet paint");
3414 prop,
"Mask Stencil Dimensions",
"Dimensions of mask stencil in viewport");
3422 prop,
"Sharp Threshold",
"Threshold below which, no sharpening is done");
3430 prop,
"Fill Threshold",
"Threshold above which filling is not propagated");
3438 prop,
"Kernel Radius",
"Radius of kernel used for soften and sharpen in pixels");
3452 "Paint most on faces pointing towards the view according to this angle");
3459 prop,
"Airbrush",
"Keep applying paint effect while holding mouse (spray)");
3466 "When locked keep using normal of surface where stroke was initiated");
3474 "When locked keep using the plane origin of surface where stroke was initiated");
3491 }
while ((++entry)->identifier);
3524 "Affect only vertices with a similar normal to where the stroke starts");
3537 prop,
"Area Normal Falloff",
"Extend the angular range with a falloff gradient");
3543 prop,
"View Normal",
"Affect only vertices with a normal that faces the viewer");
3552 "Only affect vertices that are not occluded by other faces (slower performance)");
3565 prop,
"View Normal Falloff",
"Extend the angular range with a falloff gradient");
3572 prop,
"Spacing Distance",
"Calculate the brush spacing using view or scene distance");
3579 "Grab Active Vertex",
3580 "Apply the maximum grab strength to the active vertex instead of the cursor location");
3586 prop,
"Grab Silhouette",
"Grabs trying to automask the silhouette of the object");
3598 "The angle between the planes changes during the stroke to fit the "
3599 "surface under the cursor");
3605 prop,
"Show Cursor Preview",
"Preview the scrape planes in the cursor during the stroke");
3611 prop,
"Keep Anchor Point",
"Keep the position of the last segment in the IK chain fixed");
3617 "Lock Rotation When Scaling",
3618 "Do not rotate the segment when using the scale deform mode");
3630 "Pin Simulation Boundary",
3631 "Lock the position of the vertices in the simulation falloff area to avoid artifacts and "
3632 "create a softer transition with unaffected areas");
3643 "Invert to Scrape or Fill",
3644 "Use Scrape or Fill brush when inverting this brush instead of "
3645 "inverting its displacement direction");
3652 prop,
"Strength Pressure",
"Enable tablet pressure sensitivity for strength");
3659 prop,
"Plane Offset Pressure",
"Enable tablet pressure sensitivity for offset");
3666 prop,
"Area Radius Pressure",
"Enable tablet pressure sensitivity for area radius");
3679 prop,
"Jitter Pressure",
"Enable tablet pressure sensitivity for jitter");
3686 prop,
"Spacing Pressure",
"Enable tablet pressure sensitivity for spacing");
3693 prop,
"Mask Pressure Mode",
"Pen pressure makes texture influence smaller");
3700 prop,
"Inverse Smooth Pressure",
"Lighter pressure causes more smoothing to be applied");
3708 "Limit the distance from the offset plane that a vertex can be affected");
3714 prop,
"Use Front-Face",
"Brush only affects vertices that face the viewer");
3720 prop,
"Use Front-Face Falloff",
"Blend brush influence by how much they face the front");
3731 prop,
"Space",
"Limit brush application to the distance specified by spacing");
3745 "Define the stroke curve with a Bézier curve. Dabs are separated according to spacing.");
3751 prop,
"Smooth Stroke",
"Brush lags behind mouse and follows a smoother path");
3768 "Adjust Strength for Spacing",
3769 "Automatically adjust strength to give consistent results for different spacings");
3777 "Space daubs according to surface orientation instead of screen space");
3784 prop,
"Size Unit",
"Measure brush size relative to the view or the scene");
3808 prop,
"Affect Alpha",
"When this is disabled, lock alpha while painting");
3906 prop,
"Use Vertex",
"Use this brush in Grease Pencil vertex color mode");
3980 prop,
"rna_Sculpt_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3987 prop,
"rna_Imapaint_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3994 prop,
"rna_Vertexpaint_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
4001 prop,
"rna_Weightpaint_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
4031 srna =
RNA_def_struct(brna,
"OperatorStrokeElement",
"PropertyGroup");
void BKE_brush_scale_unprojected_size(float *unprojected_size, int new_brush_size, int old_brush_size)
void BKE_brush_color_sync_legacy(Brush *brush)
void BKE_brush_scale_size(int *r_brush_size, float new_unprojected_size, float old_unprojected_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_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()
#define BLI_STR_UTF8_DEGREE_SIGN
#define BLT_I18NCONTEXT_AMOUNT
#define CTX_N_(context, msgid)
#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
@ 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
#define MAX_BRUSH_PIXEL_DIAMETER
@ 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
#define RNA_ENUM_ITEM_SEPR
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
#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_size_pressure(const Brush &brush)
bool supports_persistence(const Brush &brush)
bool supports_tilt(const Brush &brush)
bool supports_inverted_direction(const Brush &brush)
bool supports_auto_smooth_pressure(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_hardness_pressure(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_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 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)