36 {0,
"ADD", ICON_ADD,
"Add",
"Add effect of brush"},
37 {
BRUSH_DIR_IN,
"SUBTRACT", ICON_REMOVE,
"Subtract",
"Subtract effect of brush"},
38 {0,
nullptr, 0,
nullptr,
nullptr},
43 {0,
"SMOOTH", ICON_ADD,
"Smooth",
"Smooth the surface"},
48 "Enhance the surface detail"},
49 {0,
nullptr, 0,
nullptr,
nullptr},
54 {0,
"DOTS", 0,
"Dots",
"Apply paint on each mouse move step"},
55 {
BRUSH_DRAG_DOT,
"DRAG_DOT", 0,
"Drag Dot",
"Allows a single dot to be carefully positioned"},
60 "Limit brush application to the distance specified by spacing"},
65 "Keep applying paint effect while holding mouse (spray)"},
66 {
BRUSH_ANCHORED,
"ANCHORED", 0,
"Anchored",
"Keep the brush anchored to the initial location"},
67 {
BRUSH_LINE,
"LINE", 0,
"Line",
"Draw a line with dabs separated according to spacing"},
72 "Define the stroke curve with a Bézier curve (dabs are separated according to spacing)"},
73 {0,
nullptr, 0,
nullptr,
nullptr},
83 {0,
nullptr, 0,
nullptr,
nullptr},
87static const EnumPropertyItem rna_enum_brush_texture_slot_map_texture_mode_items[] = {
93 {0,
nullptr, 0,
nullptr,
nullptr},
108 {0,
nullptr, 0,
nullptr,
nullptr},
115 "use_automasking_topology",
118 "Affect only vertices connected to the active vertex under the brush"},
120 "use_automasking_face_sets",
123 "Affect only vertices that share Face Sets with the active vertex"},
125 "use_automasking_boundary_edges",
127 "Mesh Boundary Auto-Masking",
128 "Do not affect non manifold boundary edges"},
130 "use_automasking_boundary_face_sets",
132 "Face Sets Boundary Automasking",
133 "Do not affect vertices that belong to a Face Set boundary"},
135 "use_automasking_cavity",
138 "Do not affect vertices on peaks, based on the surface curvature"},
140 "use_automasking_cavity_inverted",
142 "Inverted Cavity Mask",
143 "Do not affect vertices within crevices, based on the surface curvature"},
145 "use_automasking_custom_cavity_curve",
147 "Custom Cavity Curve",
149 {0,
nullptr, 0,
nullptr,
nullptr}};
184 "DISPLACEMENT_ERASER",
186 "Multires Displacement Eraser",
189 "DISPLACEMENT_SMEAR",
191 "Multires Displacement Smear",
195 {0,
nullptr, 0,
nullptr,
nullptr},
203 {0,
nullptr, 0,
nullptr,
nullptr},
211 {0,
nullptr, 0,
nullptr,
nullptr},
221 {0,
nullptr, 0,
nullptr,
nullptr},
229 "The brush is of type used for drawing strokes"},
234 "The brush is of type used for filling areas"},
239 "The brush is used for erasing strokes"},
241 {0,
nullptr, 0,
nullptr,
nullptr},
250 "Smooth out the colors of adjacent stroke points"},
255 "Smooth out colors with the average color under the brush"},
260 "Smudge colors by grabbing and dragging them"},
265 "Replace the color of stroke points that already have a color applied"},
266 {0,
nullptr, 0,
nullptr,
nullptr},
277 "Introduce jitter/randomness into strokes"},
282 "Translate the set of points initially within the brush circle"},
287 "Move points out of the way, as if combing them"},
292 "Rotate points around the midpoint of the brush"},
297 "Pull points towards the midpoint of the brush"},
302 "Paste copies of the strokes stored on the internal clipboard"},
303 {0,
nullptr, 0,
nullptr,
nullptr}};
312 "Average weight in active vertex group"},
314 {0,
nullptr, 0,
nullptr,
nullptr},
331 {0,
nullptr, 0,
nullptr,
nullptr},
340 "Erase strokes, fading their points strength and thickness"},
343 {0,
nullptr, 0,
nullptr,
nullptr},
351 "Use both visible strokes and edit lines as fill boundary limits"},
354 {0,
nullptr, 0,
nullptr,
nullptr}};
359 {0,
nullptr, 0,
nullptr,
nullptr}};
368 {0,
nullptr, 0,
nullptr,
nullptr}};
371 {0,
"NORMAL", ICON_ADD,
"Normal",
"Fill internal area"},
372 {
BRUSH_DIR_IN,
"INVERT", ICON_REMOVE,
"Inverted",
"Fill inverted area"},
373 {0,
nullptr, 0,
nullptr,
nullptr},
380 {0,
nullptr, 0,
nullptr,
nullptr}};
400static bool rna_BrushCapabilitiesSculpt_has_accumulate_get(
PointerRNA *
ptr)
406static bool rna_BrushCapabilitiesSculpt_has_topology_rake_get(
PointerRNA *
ptr)
412static bool rna_BrushCapabilitiesSculpt_has_auto_smooth_get(
PointerRNA *
ptr)
415 return !
ELEM(br->sculpt_brush_type,
422static bool rna_BrushCapabilitiesSculpt_has_height_get(
PointerRNA *
ptr)
428static bool rna_BrushCapabilitiesSculpt_has_jitter_get(
PointerRNA *
ptr)
432 !
ELEM(br->sculpt_brush_type,
439static bool rna_BrushCapabilitiesSculpt_has_normal_weight_get(
PointerRNA *
ptr)
445static bool rna_BrushCapabilitiesSculpt_has_rake_factor_get(
PointerRNA *
ptr)
451static bool rna_BrushCapabilities_has_overlay_get(
PointerRNA *
ptr)
458static bool rna_BrushCapabilitiesSculpt_has_persistence_get(
PointerRNA *
ptr)
464static bool rna_BrushCapabilitiesSculpt_has_pinch_factor_get(
PointerRNA *
ptr)
467 return ELEM(br->sculpt_brush_type,
473static bool rna_BrushCapabilitiesSculpt_has_plane_offset_get(
PointerRNA *
ptr)
476 return ELEM(br->sculpt_brush_type,
485static bool rna_BrushCapabilitiesSculpt_has_random_texture_angle_get(
PointerRNA *
ptr)
488 return !
ELEM(br->sculpt_brush_type,
495static bool rna_TextureCapabilities_has_random_texture_angle_get(
PointerRNA *
ptr)
501static bool rna_BrushCapabilities_has_random_texture_angle_get(
PointerRNA *
ptr)
507static bool rna_BrushCapabilitiesSculpt_has_sculpt_plane_get(
PointerRNA *
ptr)
510 return !
ELEM(br->sculpt_brush_type,
517static bool rna_BrushCapabilitiesSculpt_has_color_get(
PointerRNA *
ptr)
523static bool rna_BrushCapabilitiesSculpt_has_secondary_color_get(
PointerRNA *
ptr)
529static bool rna_BrushCapabilitiesSculpt_has_smooth_stroke_get(
PointerRNA *
ptr)
534 !
ELEM(br->sculpt_brush_type,
541static bool rna_BrushCapabilities_has_smooth_stroke_get(
PointerRNA *
ptr)
548static bool rna_BrushCapabilitiesSculpt_has_space_attenuation_get(
PointerRNA *
ptr)
552 !
ELEM(br->sculpt_brush_type,
559static bool rna_BrushCapabilitiesImagePaint_has_space_attenuation_get(
PointerRNA *
ptr)
566static bool rna_BrushCapabilitiesImagePaint_has_color_get(
PointerRNA *
ptr)
572static bool rna_BrushCapabilitiesVertexPaint_has_color_get(
PointerRNA *
ptr)
578static bool rna_BrushCapabilitiesWeightPaint_has_weight_get(
PointerRNA *
ptr)
584static bool rna_BrushCapabilities_has_spacing_get(
PointerRNA *
ptr)
590static bool rna_BrushCapabilitiesSculpt_has_strength_pressure_get(
PointerRNA *
ptr)
596static bool rna_TextureCapabilities_has_texture_angle_get(
PointerRNA *
ptr)
602static bool rna_BrushCapabilitiesSculpt_has_direction_get(
PointerRNA *
ptr)
605 return !
ELEM(br->sculpt_brush_type,
623static bool rna_BrushCapabilitiesSculpt_has_gravity_get(
PointerRNA *
ptr)
629static bool rna_BrushCapabilitiesSculpt_has_tilt_get(
PointerRNA *
ptr)
632 return ELEM(br->sculpt_brush_type,
642static bool rna_TextureCapabilities_has_texture_angle_source_get(
PointerRNA *
ptr)
648static bool rna_BrushCapabilitiesImagePaint_has_accumulate_get(
PointerRNA *
ptr)
657 (br->mtex.tex && !
ELEM(br->mtex.brush_map_mode,
665static bool rna_BrushCapabilitiesImagePaint_has_radius_get(
PointerRNA *
ptr)
698static void rna_Brush_reset_icon(
Brush *br)
737 rna_Brush_update(bmain, scene,
ptr);
747 rna_Brush_update(bmain, scene,
ptr);
753 rna_Brush_update(bmain, scene,
ptr);
759 rna_Brush_reset_icon(br);
760 rna_Brush_update(bmain, scene,
ptr);
766 rna_Brush_update(bmain, scene,
ptr);
773 if (br->icon_imbuf) {
775 br->icon_imbuf =
nullptr;
815static void rna_Brush_use_gradient_set(
PointerRNA *
ptr,
int value)
823 br->flag &= ~BRUSH_USE_GRADIENT;
831static void rna_Brush_set_unprojected_radius(
PointerRNA *
ptr,
float value)
849 {
BRUSH_DIR_IN,
"CONTRAST", ICON_ADD,
"Contrast",
"Subtract effect of brush"},
850 {0,
"FLATTEN", ICON_REMOVE,
"Flatten",
"Add effect of brush"},
851 {0,
nullptr, 0,
nullptr,
nullptr},
855 {0,
"FILL", ICON_ADD,
"Fill",
"Add effect of brush"},
856 {
BRUSH_DIR_IN,
"DEEPEN", ICON_REMOVE,
"Deepen",
"Subtract effect of brush"},
857 {0,
nullptr, 0,
nullptr,
nullptr},
861 {0,
"SCRAPE", ICON_ADD,
"Scrape",
"Add effect of brush"},
862 {
BRUSH_DIR_IN,
"PEAKS", ICON_REMOVE,
"Peaks",
"Subtract effect of brush"},
863 {0,
nullptr, 0,
nullptr,
nullptr},
867 {
BRUSH_DIR_IN,
"MAGNIFY", ICON_ADD,
"Magnify",
"Subtract effect of brush"},
868 {0,
"PINCH", ICON_REMOVE,
"Pinch",
"Add effect of brush"},
869 {0,
nullptr, 0,
nullptr,
nullptr},
873 {0,
"INFLATE", ICON_ADD,
"Inflate",
"Add effect of brush"},
874 {
BRUSH_DIR_IN,
"DEFLATE", ICON_REMOVE,
"Deflate",
"Subtract effect of brush"},
875 {0,
nullptr, 0,
nullptr,
nullptr},
880 {
BRUSH_DIR_IN,
"SHARPEN", ICON_ADD,
"Sharpen",
"Sharpen effect of brush"},
881 {0,
"SOFTEN", ICON_REMOVE,
"Soften",
"Blur effect of brush"},
882 {0,
nullptr, 0,
nullptr,
nullptr},
887 {0,
"ADD", ICON_ADD,
"Pinch",
"Add effect of brush"},
888 {
BRUSH_DIR_IN,
"SUBTRACT", ICON_REMOVE,
"Inflate",
"Subtract effect of brush"},
889 {0,
nullptr, 0,
nullptr,
nullptr},
892 {0,
"ADD", ICON_ADD,
"Counter-Clockwise",
"Add effect of brush"},
893 {
BRUSH_DIR_IN,
"SUBTRACT", ICON_REMOVE,
"Clockwise",
"Subtract effect of brush"},
894 {0,
nullptr, 0,
nullptr,
nullptr},
911 return prop_smooth_direction_items;
925 return prop_flatten_contrast_items;
928 return prop_fill_deepen_items;
931 return prop_scrape_peaks_items;
934 return prop_pinch_magnify_items;
937 return prop_inflate_deflate_items;
947 return prop_soften_sharpen_items;
968 return prop_twist_items;
970 return prop_pinch_items;
994 {0,
"DOTS", 0,
"Dots",
"Apply paint on each mouse move step"},
999 "Limit brush application to the distance specified by spacing"},
1004 "Keep applying paint effect while holding mouse (spray)"},
1005 {
BRUSH_LINE,
"LINE", 0,
"Line",
"Drag a line with dabs separated according to spacing"},
1010 "Define the stroke curve with a Bézier curve. Dabs are separated according to spacing."},
1011 {0,
nullptr, 0,
nullptr,
nullptr},
1021 return brush_stroke_method_items;
1026static std::optional<std::string> rna_BrushGpencilSettings_path(
const PointerRNA * )
1028 return "gpencil_settings";
1063 return (ma->gp_style !=
nullptr);
1069 if ((brush !=
nullptr) && (brush->gpencil_settings !=
nullptr)) {
1075static void rna_GPencilBrush_pin_mode_set(
PointerRNA * ,
bool )
1084 if ((brush !=
nullptr) && (brush->gpencil_settings !=
nullptr)) {
1099static void rna_BrushCurvesSculptSettings_update(
Main * ,
1117# define rna_enum_brush_texture_slot_map_sculpt_mode_items \
1118 rna_enum_brush_texture_slot_map_all_mode_items;
1122 return rna_enum_brush_texture_slot_map_sculpt_mode_items;
1124 return rna_enum_brush_texture_slot_map_texture_mode_items;
1126# undef rna_enum_brush_texture_slot_map_sculpt_mode_items
1129static void rna_Brush_automasking_invert_cavity_set(
PointerRNA *
ptr,
bool val)
1134 brush->automasking_flags &= ~BRUSH_AUTOMASKING_CAVITY_NORMAL;
1138 brush->automasking_flags &= ~BRUSH_AUTOMASKING_CAVITY_INVERTED;
1142static void rna_Brush_automasking_cavity_set(
PointerRNA *
ptr,
bool val)
1147 brush->automasking_flags &= ~BRUSH_AUTOMASKING_CAVITY_INVERTED;
1151 brush->automasking_flags &= ~BRUSH_AUTOMASKING_CAVITY_NORMAL;
1155static std::optional<std::string> rna_BrushCurvesSculptSettings_path(
const PointerRNA * )
1157 return "curves_sculpt_settings";
1172 {0,
nullptr, 0,
nullptr,
nullptr},
1175# define TEXTURE_CAPABILITY(prop_name_, ui_name_) \
1176 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1177 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1178 RNA_def_property_boolean_funcs(prop, "rna_TextureCapabilities_" #prop_name_ "_get", nullptr); \
1179 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1184 srna,
"Brush Texture Slot",
"Texture slot for textures in a Brush data-block");
1240 "Sculpt Capabilities",
1241 "Read-only indications of which brush operations "
1242 "are supported by the current sculpt tool");
1244# define SCULPT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1245 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1246 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1247 RNA_def_property_boolean_funcs( \
1248 prop, "rna_BrushCapabilitiesSculpt_" #prop_name_ "_get", nullptr); \
1249 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1272# undef SCULPT_CAPABILITY
1284 srna,
"Brush Capabilities",
"Read-only indications of supported operations");
1286# define BRUSH_CAPABILITY(prop_name_, ui_name_) \
1287 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1288 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1289 RNA_def_property_boolean_funcs(prop, "rna_BrushCapabilities_" #prop_name_ "_get", nullptr); \
1290 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1297# undef BRUSH_CAPABILITY
1305 srna =
RNA_def_struct(brna,
"BrushCapabilitiesImagePaint",
nullptr);
1309 srna,
"Image Paint Capabilities",
"Read-only indications of supported operations");
1311# define IMAPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1312 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1313 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1314 RNA_def_property_boolean_funcs( \
1315 prop, "rna_BrushCapabilitiesImagePaint_" #prop_name_ "_get", nullptr); \
1316 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1323# undef IMAPAINT_BRUSH_CAPABILITY
1331 srna =
RNA_def_struct(brna,
"BrushCapabilitiesVertexPaint",
nullptr);
1335 srna,
"Vertex Paint Capabilities",
"Read-only indications of supported operations");
1337# define VPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1338 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1339 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1340 RNA_def_property_boolean_funcs( \
1341 prop, "rna_BrushCapabilitiesVertexPaint_" #prop_name_ "_get", nullptr); \
1342 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1346# undef VPAINT_BRUSH_CAPABILITY
1354 srna =
RNA_def_struct(brna,
"BrushCapabilitiesWeightPaint",
nullptr);
1358 srna,
"Weight Paint Capabilities",
"Read-only indications of supported operations");
1360# define WPAINT_BRUSH_CAPABILITY(prop_name_, ui_name_) \
1361 prop = RNA_def_property(srna, #prop_name_, PROP_BOOLEAN, PROP_NONE); \
1362 RNA_def_property_clear_flag(prop, PROP_EDITABLE); \
1363 RNA_def_property_boolean_funcs( \
1364 prop, "rna_BrushCapabilitiesWeightPaint_" #prop_name_ "_get", nullptr); \
1365 RNA_def_property_ui_text(prop, ui_name_, nullptr)
1369# undef WPAINT_BRUSH_CAPABILITY
1381 {
GPPAINT_MODE_BOTH,
"BOTH", 0,
"Stroke & Fill",
"Vertex Color affects to Stroke and Fill"},
1382 {0,
nullptr, 0,
nullptr,
nullptr},
1385 static const EnumPropertyItem rna_enum_gpencil_brush_caps_types_items[] = {
1388 {0,
nullptr, 0,
nullptr,
nullptr},
1402 prop,
"Strength",
"Color strength for new strokes (affect alpha factor of color)");
1421 prop,
"Pressure Randomness",
"Randomness factor for pressure in new strokes");
1430 prop,
"Strength Randomness",
"Randomness factor strength in new strokes");
1440 "Direction of the stroke at which brush gives maximal thickness "
1452 "Reduce brush thickness by this factor when stroke is perpendicular to 'Angle' direction");
1464 "Amount of smoothing to apply after finish newly created strokes, to reduce jitter/noise");
1483 "Subdivision Steps",
1484 "Number of times to subdivide newly created strokes, for less jagged strokes");
1504 "Threashold in screen space used for the simplify algorithm. Points within this threashold "
1505 "are treated as if they were in a straight line.");
1578 prop,
"Threshold",
"Threshold to consider color transparent for filling");
1589 "Factor for fill boundary accuracy, higher values are more accurate but slower");
1598 prop,
"Simplify",
"Number of simplify steps (large values reduce fill accuracy)");
1617 "Gradient from the center of Dot and Box strokes (set to 1 for a solid stroke)");
1637 "Generated intermediate points for very fast mouse movements (Set to 0 to disable)");
1679 prop,
"Vertex Color Factor",
"Factor used to mix vertex color to get final color");
1714 prop,
"Closure Size",
"Strokes end extension for closing gaps, use zero to disable");
1722 prop,
"Closure Mode",
"Types of stroke extensions used for closing gaps");
1732 prop,
"Dilate/Contract",
"Number of pixels to expand or contract fill area");
1742 prop,
"Thickness",
"Thickness of the outline stroke relative to current brush thickness");
1758 prop,
"Use Pressure Strength",
"Use tablet pressure for color strength");
1858 "Draw lines with a delay to allow smooth strokes (press Shift key to "
1859 "override while drawing)");
1902 prop,
"rna_GPencilBrush_pin_mode_get",
"rna_GPencilBrush_pin_mode_set");
1941 prop,
"Affect Strength",
"The brush affects the color strength of the point");
1949 prop,
"Affect Thickness",
"The brush affects the thickness of the point");
1963 prop,
nullptr,
nullptr,
nullptr,
"rna_BrushGpencilSettings_material_poll");
1973 prop,
nullptr,
nullptr,
nullptr,
"rna_BrushGpencilSettings_material_poll");
1997 prop,
"Strokes Collision",
"Check if extend lines collide with strokes");
2005 prop,
"Show Fill",
"Show transparent lines to use as boundary for filling");
2019 prop,
"Use Post-Process Settings",
"Additional post processing options for new strokes");
2036 prop,
NC_GPENCIL |
ND_DATA,
"rna_BrushGpencilSettings_use_material_pin_update");
2041 prop,
"Show Lasso",
"Do not display fill color while drawing the stroke");
2054 prop,
"Keep Caps",
"Keep the caps as they are and don't flatten them when erasing");
2075 "Either add or remove curves depending on the minimum distance of the curves under the "
2081 "Add new curves between existing curves, taking the minimum distance into account"},
2086 "Remove curves whose root points are too close"},
2087 {0,
nullptr, 0,
nullptr,
nullptr},
2090 srna =
RNA_def_struct(brna,
"BrushCurvesSculptSettings",
nullptr);
2103 prop,
"Points per Curve",
"Number of control points in a newly added curve");
2110 "Grow or shrink curves by changing their size uniformly instead of "
2111 "using trimming or extrapolation");
2117 prop,
"Minimum Length",
"Avoid shrinking curves shorter than this length");
2123 prop,
"Interpolate Length",
"Use length of the curves in close proximity");
2131 prop,
"Interpolate Radius",
"Use radius of the curves in close proximity");
2138 "Interpolate Point Count",
2139 "Use the number of points from the curves in close proximity");
2145 prop,
"Interpolate Shape",
"Use shape of the curves in close proximity");
2153 "Length of newly added curves when it is not interpolated from other curves");
2160 prop,
"Minimum Distance",
"Goal distance between curve roots for the Density brush");
2170 "Radius of newly added curves when it is not interpolated from other curves");
2176 prop,
"Density Add Attempts",
"How many times the Density brush tries to add a new curve");
2182 prop,
"Density Mode",
"Determines whether the brush adds or removes curves");
2189 "Curve Parameter Falloff",
2190 "Falloff that is applied from the tip to the root of each curve");
2200 {
IMB_BLEND_MIX,
"MIX", 0,
"Mix",
"Use Mix blending mode while painting"},
2202 {
IMB_BLEND_DARKEN,
"DARKEN", 0,
"Darken",
"Use Darken blending mode while painting"},
2203 {
IMB_BLEND_MUL,
"MUL", 0,
"Multiply",
"Use Multiply blending mode while painting"},
2208 "Use Color Burn blending mode while painting"},
2213 "Use Linear Burn blending mode while painting"},
2215 {
IMB_BLEND_LIGHTEN,
"LIGHTEN", 0,
"Lighten",
"Use Lighten blending mode while painting"},
2216 {
IMB_BLEND_SCREEN,
"SCREEN", 0,
"Screen",
"Use Screen blending mode while painting"},
2221 "Use Color Dodge blending mode while painting"},
2222 {
IMB_BLEND_ADD,
"ADD", 0,
"Add",
"Use Add blending mode while painting"},
2224 {
IMB_BLEND_OVERLAY,
"OVERLAY", 0,
"Overlay",
"Use Overlay blending mode while painting"},
2229 "Use Soft Light blending mode while painting"},
2234 "Use Hard Light blending mode while painting"},
2239 "Use Vivid Light blending mode while painting"},
2244 "Use Linear Light blending mode while painting"},
2249 "Use Pin Light blending mode while painting"},
2255 "Use Difference blending mode while painting"},
2260 "Use Exclusion blending mode while painting"},
2261 {
IMB_BLEND_SUB,
"SUB", 0,
"Subtract",
"Use Subtract blending mode while painting"},
2263 {
IMB_BLEND_HUE,
"HUE", 0,
"Hue",
"Use Hue blending mode while painting"},
2268 "Use Saturation blending mode while painting"},
2269 {
IMB_BLEND_COLOR,
"COLOR", 0,
"Color",
"Use Color blending mode while painting"},
2274 {0,
nullptr, 0,
nullptr,
nullptr},
2283 {0,
nullptr, 0,
nullptr,
nullptr},
2289 {0,
nullptr, 0,
nullptr,
nullptr},
2295 {0,
nullptr, 0,
nullptr,
nullptr},
2302 {0,
nullptr, 0,
nullptr,
nullptr},
2308 {0,
nullptr, 0,
nullptr,
nullptr},
2312 {0,
"NONE", 0,
"Off",
""},
2315 {0,
nullptr, 0,
nullptr,
nullptr},
2319 {0,
"VIEW", 0,
"View",
"Measure brush size relative to the view"},
2320 {
BRUSH_LOCK_SIZE,
"SCENE", 0,
"Scene",
"Measure brush size relative to the scene"},
2321 {0,
nullptr, 0,
nullptr,
nullptr},
2325 {0,
"COLOR", 0,
"Color",
"Paint with a single color"},
2327 {0,
nullptr, 0,
nullptr,
nullptr},
2331 {0,
"VIEW", 0,
"View",
"Calculate brush spacing relative to the view"},
2336 "Calculate brush spacing relative to the scene using the stroke location"},
2337 {0,
nullptr, 0,
nullptr,
nullptr},
2342 {0,
"BRUSH", 0,
"Brush",
"Jittering happens relative to the brush size"},
2343 {0,
nullptr, 0,
nullptr,
nullptr},
2347 {0,
"SPHERE", 0,
"Sphere",
"Apply brush influence in a Sphere, outwards from the center"},
2352 "Apply brush influence in a 2D circle, projected from the view"},
2353 {0,
nullptr, 0,
nullptr,
nullptr},
2361 "Brush deformation displaces the vertices of the mesh"},
2366 "Brush deforms the mesh by deforming the constraints of a cloth simulation"},
2367 {0,
nullptr, 0,
nullptr,
nullptr},
2376 {0,
nullptr, 0,
nullptr,
nullptr},
2384 "Applies the brush falloff in the tip of the brush"},
2389 "Modifies the entire mesh using elastic deform"},
2390 {0,
nullptr, 0,
nullptr,
nullptr},
2398 "PINCH_PERPENDICULAR",
2400 "Pinch Perpendicular",
2406 {0,
nullptr, 0,
nullptr,
nullptr},
2412 {0,
nullptr, 0,
nullptr,
nullptr},
2420 "Applies the same deformation in the entire boundary"},
2425 "Applies the deformation in a localized area limited by the brush radius"},
2430 "Applies the brush falloff in a loop pattern"},
2435 "Applies the falloff radius in a loop pattern, inverting the displacement direction in "
2436 "each pattern repetition"},
2437 {0,
nullptr, 0,
nullptr,
nullptr},
2445 "Simulates only a specific area around the brush limited by a fixed radius"},
2451 "The active simulation area moves with the brush"},
2452 {0,
nullptr, 0,
nullptr,
nullptr},
2460 "Smooths the surface and the volume"},
2465 "Smooths the surface of the mesh, preserving the volume"},
2466 {0,
nullptr, 0,
nullptr,
nullptr},
2473 {0,
nullptr, 0,
nullptr,
nullptr},
2481 "Sets the rotation origin automatically using the topology and shape of the mesh as a "
2487 "Creates a pose segment per face sets, starting from the active face set"},
2492 "Simulates an FK deformation using the Face Set under the cursor as control"},
2493 {0,
nullptr, 0,
nullptr,
nullptr},
2500 {0,
nullptr, 0,
nullptr,
nullptr},
2507 {0,
nullptr, 0,
nullptr,
nullptr},
2517 {0,
nullptr, 0,
nullptr,
nullptr},
2522 srna,
"Brush",
"Brush data-block for storing brush settings for painting and sculpting");
2528 "Has unsaved changes",
2529 "Indicates that there are any user visible changes since the brush has "
2530 "been imported or read from the file");
2643 prop,
"Deformation Target",
"How the deformation of the brush will affect the object");
2665 prop,
"Force Falloff",
"Shape used in the brush to apply force to the cloth");
2673 "Part of the mesh that is going to be simulated when the stroke is active");
2679 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");
2788 prop,
"Smooth Stroke Radius",
"Minimum distance from last point before stroke continues");
2826 prop,
"Strength",
"How powerful the effect of the brush is when applied");
2841 prop,
"Wet Mix",
"Amount of paint that is picked from the surface into the brush color");
2851 "Amount of wet paint that stays in the brush after applying paint to the surface");
2859 prop,
"Density",
"Amount of random elements that are going to be affected by the brush");
2881 prop,
"Invert Pressure for Hardness",
"Invert the modulation of pressure in hardness");
2896 prop,
"Invert Pressure for Flow",
"Invert the modulation of pressure in flow");
2911 prop,
"Invert Pressure for Wet Mix",
"Invert the modulation of pressure in wet mix");
2920 prop,
"Use Pressure for Wet Persistence",
"Use pressure to modulate wet persistence");
2929 "Invert Pressure for Wet Persistence",
2930 "Invert the modulation of pressure in wet persistence");
2945 prop,
"Invert Pressure for Density",
"Invert the modulation of pressure in density");
2954 prop,
"Dash Ratio",
"Ratio of samples in a cycle that the brush is enabled");
2962 prop,
"Dash Length",
"Length of a dash cycle measured in stroke samples");
2973 "Adjust plane on which the brush acts towards or away from the object surface");
2982 "If a vertex is further away from offset plane than this, then it is not affected");
2993 "Affectable height of brush (i.e. the layer height for the layer tool)");
3007 "Vector Displacement",
3008 "Handle each pixel color as individual vector for displacement (area plane mapping only)");
3016 prop,
"Normal Weight",
"How much grab will pull vertices out of surface during a grab");
3024 "Volume Preservation",
3025 "Poisson ratio for elastic deformation. Higher values preserve volume "
3026 "more, but also lead to more bulging.");
3047 prop,
"Pose Origin Offset",
"Offset of the pose origin in relation to the brush radius");
3054 "Max Element Distance",
3055 "Maximum distance to search for disconnected loose parts in the mesh");
3062 "Boundary Origin Offset",
3063 "Offset of the boundary origin in relation to the brush radius");
3070 prop,
"Shape Preservation",
"How much of the original shape is preserved when smoothing");
3078 "Per Vertex Displacement",
3079 "How much the position of each individual vertex influences the final result");
3100 "Smooth Iterations",
3101 "Smooth iterations applied after calculating the pose factor of each vertex");
3111 "Number of segments of the inverse kinematics chain that will deform the mesh");
3130 prop,
"Cloth Damping",
"How much the applied forces are propagated through the cloth");
3139 "Factor added relative to the size of the radius to limit the cloth simulation effects");
3146 "Simulation Falloff",
3147 "Area to apply deformation falloff to the effects of the simulation");
3155 "Soft Body Plasticity",
3156 "How much the cloth preserves the original shape, acting as a soft body");
3163 prop,
"Hardness",
"How close the brush falloff starts from the edge of the brush");
3172 "Propagation Steps",
3173 "Distance where boundary edge automasking is going to protect vertices "
3174 "from the fully masked edge");
3183 prop,
"Auto-Smooth",
"Amount of smoothing to automatically apply to each stroke");
3193 "Automatically align edges to the brush direction to "
3194 "generate cleaner topology and define sharp features. "
3195 "Best used on low-poly meshes as it has a performance impact.");
3204 prop,
"Tilt Strength",
"How much the tilt of the pen will affect the brush");
3213 "Ratio between the brush radius and the radius that is going to be "
3214 "used to sample the normal");
3223 "Ratio between the brush radius and the radius that is going to be "
3224 "used to sample the area center");
3233 "Ratio between the brush radius and the radius that is going to be "
3234 "used to sample the color to blend in wet paint");
3259 prop,
"Mask Stencil Dimensions",
"Dimensions of mask stencil in viewport");
3267 prop,
"Sharp Threshold",
"Threshold below which, no sharpening is done");
3275 prop,
"Fill Threshold",
"Threshold above which filling is not propagated");
3283 prop,
"Kernel Radius",
"Radius of kernel used for soften and sharpen in pixels");
3297 "Paint most on faces pointing towards the view according to this angle");
3304 prop,
"Airbrush",
"Keep applying paint effect while holding mouse (spray)");
3311 "When locked keep using normal of surface where stroke was initiated");
3319 "When locked keep using the plane origin of surface where stroke was initiated");
3336 }
while ((++entry)->identifier);
3369 "Affect only vertices with a similar normal to where the stroke starts");
3382 prop,
"Area Normal Falloff",
"Extend the angular range with a falloff gradient");
3388 prop,
"View Normal",
"Affect only vertices with a normal that faces the viewer");
3397 "Only affect vertices that are not occluded by other faces (Slower performance)");
3410 prop,
"View Normal Falloff",
"Extend the angular range with a falloff gradient");
3417 prop,
"Spacing Distance",
"Calculate the brush spacing using view or scene distance");
3424 "Grab Active Vertex",
3425 "Apply the maximum grab strength to the active vertex instead of the cursor location");
3431 prop,
"Grab Silhouette",
"Grabs trying to automask the silhouette of the object");
3443 "The angle between the planes changes during the stroke to fit the "
3444 "surface under the cursor");
3450 prop,
"Show Cursor Preview",
"Preview the scrape planes in the cursor during the stroke");
3456 prop,
"Keep Anchor Point",
"Keep the position of the last segment in the IK chain fixed");
3462 "Lock Rotation When Scaling",
3463 "Do not rotate the segment when using the scale deform mode");
3475 "Pin Simulation Boundary",
3476 "Lock the position of the vertices in the simulation falloff area to avoid artifacts and "
3477 "create a softer transition with unaffected areas");
3488 "Invert to Scrape or Fill",
3489 "Use Scrape or Fill brush when inverting this brush instead of "
3490 "inverting its displacement direction");
3497 prop,
"Strength Pressure",
"Enable tablet pressure sensitivity for strength");
3504 prop,
"Plane Offset Pressure",
"Enable tablet pressure sensitivity for offset");
3511 prop,
"Area Radius Pressure",
"Enable tablet pressure sensitivity for area radius");
3524 prop,
"Jitter Pressure",
"Enable tablet pressure sensitivity for jitter");
3531 prop,
"Spacing Pressure",
"Enable tablet pressure sensitivity for spacing");
3538 prop,
"Mask Pressure Mode",
"Pen pressure makes texture influence smaller");
3545 prop,
"Inverse Smooth Pressure",
"Lighter pressure causes more smoothing to be applied");
3553 "Limit the distance from the offset plane that a vertex can be affected");
3559 prop,
"Use Front-Face",
"Brush only affects vertices that face the viewer");
3565 prop,
"Use Front-Face Falloff",
"Blend brush influence by how much they face the front");
3576 prop,
"Space",
"Limit brush application to the distance specified by spacing");
3589 "Define the stroke curve with a Bézier curve. Dabs are separated according to spacing.");
3595 prop,
"Smooth Stroke",
"Brush lags behind mouse and follows a smoother path");
3612 "Adjust Strength for Spacing",
3613 "Automatically adjust strength to give consistent results for different spacings");
3621 "Space daubs according to surface orientation instead of screen space");
3628 prop,
"Radius Unit",
"Measure brush size relative to the view or the scene");
3652 prop,
"Affect Alpha",
"When this is disabled, lock alpha while painting");
3750 prop,
"Use Vertex",
"Use this brush in grease pencil vertex color mode");
3854 prop,
"rna_Sculpt_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3861 prop,
"rna_Imapaint_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3868 prop,
"rna_Vertexpaint_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3875 prop,
"rna_Weightpaint_brush_capabilities_get",
nullptr,
nullptr,
nullptr);
3906 srna =
RNA_def_struct(brna,
"OperatorStrokeElement",
"PropertyGroup");
bool BKE_brush_sculpt_has_secondary_color(const Brush *brush)
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.
struct Material * BKE_object_material_get(struct 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_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
@ 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_FLATTEN
@ SCULPT_BRUSH_TYPE_SMOOTH
@ SCULPT_BRUSH_TYPE_PAINT
@ SCULPT_BRUSH_TYPE_DISPLACEMENT_ERASER
@ SCULPT_BRUSH_TYPE_SCRAPE
@ 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_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
#define SCULPT_BRUSH_TYPE_HAS_ACCUMULATE(t)
@ VPAINT_BRUSH_TYPE_AVERAGE
@ VPAINT_BRUSH_TYPE_SMEAR
#define SCULPT_BRUSH_TYPE_HAS_RAKE(t)
@ 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
#define SCULPT_BRUSH_TYPE_HAS_NORMAL_WEIGHT(t)
#define SCULPT_BRUSH_TYPE_HAS_TOPOLOGY_RAKE(t)
@ 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
Object is a sort of wrapper for general info.
#define PAINT_MAX_INPUT_SAMPLES
Read Guarded memory(de)allocation.
#define RNA_ENUM_ITEM_SEPR
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
#define ND_SPACE_PROPERTIES
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void IMB_freeImBuf(ImBuf *)
PointerRNA rna_pointer_inherit_refine(const PointerRNA *ptr, 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)
static const EnumPropertyItem prop_direction_items[]
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_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
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[]
char gpencil_sculpt_brush_type
char gpencil_weight_brush_type
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)