34 {
PE_BRUSH_LENGTH,
"LENGTH", 0,
"Length",
"Make hairs longer or shorter"},
38 {0,
nullptr, 0,
nullptr,
nullptr},
45 ICON_RESTRICT_VIEW_ON,
47 "Align strokes to current view plane"},
52 "Project strokes to plane locked to Y"},
57 "Project strokes to plane locked to X"},
58 {
GP_LOCKAXIS_Z,
"AXIS_Z", ICON_AXIS_TOP,
"Top (X-Y)",
"Project strokes to plane locked to Z"},
63 "Align strokes to current 3D cursor orientation"},
64 {0,
nullptr, 0,
nullptr,
nullptr},
72 "Paint using the active material base color"},
77 "Paint the material with a color attribute"},
78 {0,
nullptr, 0,
nullptr,
nullptr},
86 {0,
nullptr, 0,
nullptr,
nullptr},
98 {0,
nullptr, 0,
nullptr,
nullptr},
124const EnumPropertyItem rna_enum_particle_edit_disconnected_hair_brush_items[] = {
127 {
PE_BRUSH_LENGTH,
"LENGTH", 0,
"Length",
"Make hairs longer or shorter"},
130 {0,
nullptr, 0,
nullptr,
nullptr},
136 {
PE_BRUSH_LENGTH,
"LENGTH", 0,
"Length",
"Make paths longer or shorter"},
137 {0,
nullptr, 0,
nullptr,
nullptr},
145 brush = &pset->brush[pset->brushtype];
194static void rna_ParticleEdit_tool_set(
PointerRNA *
ptr,
int value)
200 Object *ob = pset->object;
207 pset->brushtype = value;
232 return rna_enum_particle_edit_disconnected_hair_brush_items;
239 return particle_edit_cache_brush_items;
246 return (pset->object && pset->scene &&
PE_get_current(
nullptr, pset->scene, pset->object));
255 return (edit && edit->
psys);
261static std::optional<std::string> rna_ParticleEdit_path(
const PointerRNA * )
263 return "tool_settings.particle_edit";
281 return (brush ==
nullptr) || (paint->
runtime->ob_mode & brush->
ob_mode) != 0;
307 return (brush ==
nullptr) || (paint->
runtime->ob_mode & brush->
ob_mode) != 0;
323static std::optional<std::string> rna_Sculpt_path(
const PointerRNA * )
325 return "tool_settings.sculpt";
328static std::optional<std::string> rna_VertexPaint_path(
const PointerRNA *
ptr)
333 return "tool_settings.vertex_paint";
335 return "tool_settings.weight_paint";
338static std::optional<std::string> rna_ImagePaintSettings_path(
const PointerRNA * )
340 return "tool_settings.image_paint";
343static std::optional<std::string> rna_PaintModeSettings_path(
const PointerRNA * )
345 return "tool_settings.paint_mode";
348static std::optional<std::string> rna_UvSculpt_path(
const PointerRNA * )
350 return "tool_settings.uv_sculpt";
353static std::optional<std::string> rna_CurvesSculpt_path(
const PointerRNA * )
355 return "tool_settings.curves_sculpt";
358static std::optional<std::string> rna_GpPaint_path(
const PointerRNA * )
360 return "tool_settings.gpencil_paint";
363static std::optional<std::string> rna_GpVertexPaint_path(
const PointerRNA * )
365 return "tool_settings.gpencil_vertex_paint";
368static std::optional<std::string> rna_GpSculptPaint_path(
const PointerRNA * )
370 return "tool_settings.gpencil_sculpt_paint";
373static std::optional<std::string> rna_GpWeightPaint_path(
const PointerRNA * )
375 return "tool_settings.gpencil_weight_paint";
378static std::optional<std::string> rna_ParticleBrush_path(
const PointerRNA * )
380 return "tool_settings.particle_edit.brush";
443static void rna_UvSculpt_curve_preset_set(
PointerRNA *
ptr,
int value)
449 1, 0.0f, 0.0f, 1.0f, 1.0f);
484static std::optional<std::string> rna_GPencilSculptSettings_path(
const PointerRNA * )
486 return "tool_settings.gpencil_sculpt";
489static std::optional<std::string> rna_GPencilSculptGuide_path(
const PointerRNA * )
491 return "tool_settings.gpencil_sculpt.guide";
494static void rna_Sculpt_automasking_invert_cavity_set(
PointerRNA *
ptr,
bool val)
507static void rna_Sculpt_automasking_cavity_set(
PointerRNA *
ptr,
bool val)
533 rna_UnifiedPaintSettings_update(
C,
ptr);
537static void rna_UnifiedPaintSettings_size_set(
PointerRNA *
ptr,
int value)
546static void rna_UnifiedPaintSettings_unprojected_size_set(
PointerRNA *
ptr,
float value)
559 rna_UnifiedPaintSettings_update(
C,
ptr);
571static std::optional<std::string> rna_UnifiedPaintSettings_path(
const PointerRNA *
ptr)
573 const Scene *scene =
reinterpret_cast<Scene *
>(
ptr->owner_id);
575 if (tool_settings ==
nullptr) {
578 if (rna_UnifiedPaintSettings_address_get(
reinterpret_cast<Paint *
>(tool_settings->
vpaint)) ==
581 return "tool_settings.vertex_paint.unified_paint_settings";
583 if (rna_UnifiedPaintSettings_address_get(
reinterpret_cast<Paint *
>(tool_settings->
wpaint)) ==
586 return "tool_settings.weight_paint.unified_paint_settings";
588 if (rna_UnifiedPaintSettings_address_get(
reinterpret_cast<Paint *
>(tool_settings->
sculpt)) ==
591 return "tool_settings.sculpt.unified_paint_settings";
593 if (rna_UnifiedPaintSettings_address_get(
reinterpret_cast<Paint *
>(tool_settings->
gp_paint)) ==
596 return "tool_settings.gpencil_paint.unified_paint_settings";
598 if (rna_UnifiedPaintSettings_address_get(
601 return "tool_settings.gpencil_vertex_paint.unified_paint_settings";
603 if (rna_UnifiedPaintSettings_address_get(
606 return "tool_settings.gpencil_sculpt_paint.unified_paint_settings";
608 if (rna_UnifiedPaintSettings_address_get(
611 return "tool_settings.gpencil_weight_paint.unified_paint_settings";
613 if (rna_UnifiedPaintSettings_address_get(
616 return "tool_settings.curves_sculpt.unified_paint_settings";
632 const char *prop_name,
657 prop,
"rna_Paint_brush_get",
nullptr,
nullptr,
"rna_Paint_brush_poll");
664 "Brush Asset Reference",
665 "A weak reference to the matching brush asset, used e.g. to restore "
666 "the last used brush on file load");
673 "rna_Paint_eraser_brush_get",
674 "rna_Paint_eraser_brush_set",
676 "rna_Paint_eraser_brush_poll");
678 "Default Eraser Brush",
679 "Default eraser brush for quickly alternating with the main brush");
685 "Eraser Brush Asset Reference",
686 "A weak reference to the matching brush asset, used e.g. to restore "
687 "the last used brush on file load");
707 prop,
"Fast Navigate",
"For multires, show low resolution while navigating the view");
714 "Delay Viewport Updates",
715 "Update the geometry when it enters the view, providing faster view navigation");
736 "Symmetry Feathering",
737 "Reduce the strength of the brush where it overlaps symmetrical daubs");
756 prop,
"Tiling offset for the X Axis",
"Stride at which tiled strokes are copied");
793 {0,
"VIEW", 0,
"View",
"Measure brush size relative to the view"},
798 "Measure brush size relative to the scene"},
799 {0,
nullptr, 0,
nullptr,
nullptr},
805 srna,
"Unified Paint Settings",
"Overrides for some of the active brush's settings");
812 prop,
"Use Unified Size",
"Instead of per-brush size, the size is shared across brushes");
818 "Use Unified Strength",
819 "Instead of per-brush strength, the strength is shared across brushes");
825 "Use Unified Weight",
826 "Instead of per-brush weight, the weight is shared across brushes");
832 prop,
"Use Unified Color",
"Instead of per-brush color, the color is shared across brushes");
839 "Use Unified Input Samples",
840 "Instead of per-brush input samples, the value is shared across brushes");
855 prop,
nullptr,
"rna_UnifiedPaintSettings_unprojected_size_set",
nullptr);
868 prop,
"Strength",
"How powerful the effect of the brush is when applied");
979 "Number of input samples to average together to smooth the brush stroke");
987 prop,
"Size Unit",
"Measure brush size relative to the view or the scene");
998 "Subdivide long edges to add mesh detail where needed"},
1003 "Collapse short edges to remove mesh detail where possible"},
1005 "SUBDIVIDE_COLLAPSE",
1007 "Subdivide Collapse",
1008 "Both subdivide long edges and collapse short edges to refine mesh detail"},
1009 {0,
nullptr, 0,
nullptr,
nullptr},
1017 "Mesh detail is relative to the brush size and detail size"},
1022 "Mesh detail is constant in world space according to detail size"},
1027 "Mesh detail is relative to brush size"},
1032 "Mesh detail does not change on each stroke, only when using Flood Fill"},
1033 {0,
nullptr, 0,
nullptr,
nullptr},
1041 "Applies the transformation to all vertices in the mesh"},
1046 "Applies the transformation simulating elasticity using the radius of the cursor"},
1047 {0,
nullptr, 0,
nullptr,
nullptr},
1077 "Use only deformation modifiers (temporary disable all "
1078 "constructive modifiers except multi-resolution)");
1087 prop,
"Detail Size",
"Maximum edge length for dynamic topology sculpting (in pixels)");
1095 "Detail Percentage",
1096 "Maximum edge length for dynamic topology sculpting (in brush percentage)");
1105 "Maximum edge length for dynamic topology sculpting (as divisor "
1106 "of Blender unit - higher value means smaller edge length)");
1123 }
while ((++entry)->identifier);
1131 "Propagation Steps",
1132 "Distance where boundary edge automasking is going to protect vertices "
1133 "from the fully masked edge");
1172 "Affect only vertices with a similar normal to where the stroke starts");
1178 prop,
"View Normal",
"Affect only vertices with a normal that faces the viewer");
1187 "Only affect vertices that are not occluded by other faces (slower performance)");
1200 prop,
"Area Normal Falloff",
"Extend the angular range with a falloff gradient");
1213 prop,
"View Normal Falloff",
"Extend the angular range with a falloff gradient");
1224 prop,
"Detail Refine Method",
"In dynamic-topology mode, how to add or remove mesh detail");
1231 prop,
"Detail Type Method",
"In dynamic-topology mode, how mesh detail size is calculated");
1244 prop,
"Transform Mode",
"How the transformation is going to be applied to the target");
1250 prop,
"Orientation",
"Object whose Z axis defines orientation of gravity");
1377 prop,
nullptr,
nullptr,
nullptr,
"rna_PaintModeSettings_canvas_image_poll");
1393 "Detect image slots from the material"},
1398 "Set image for texture painting directly"},
1399 {0,
nullptr, 0,
nullptr,
nullptr},
1408 "No interpolation (sample closest texel)"},
1409 {0,
nullptr, 0,
nullptr,
nullptr},
1429 prop,
"Occlude",
"Only paint onto the faces directly under the brush (slower)");
1488 "Use another UV map as clone source, otherwise use the 3D cursor as the source");
1496 prop,
"Bleed",
"Extend paint beyond the faces' UVs to reduce seams (in pixels, slower)");
1501 prop,
"Angle",
"Paint most on faces pointing towards the view according to this angle");
1510 "Size to capture the image for re-projecting",
1548 prop,
"Missing Texture",
"Image Painting does not have a texture to paint on");
1570 {
SCE_SELECT_PATH,
"PATH", ICON_PARTICLE_PATH,
"Path",
"Path edit mode"},
1571 {
SCE_SELECT_POINT,
"POINT", ICON_PARTICLE_POINT,
"Point",
"Point select mode"},
1572 {
SCE_SELECT_END,
"TIP", ICON_PARTICLE_TIP,
"Tip",
"Tip select mode"},
1573 {0,
nullptr, 0,
nullptr,
nullptr},
1577 {0,
"ADD", 0,
"Add",
"Make hairs more puffy"},
1578 {1,
"SUB", 0,
"Sub",
"Make hairs less puffy"},
1579 {0,
nullptr, 0,
nullptr,
nullptr},
1583 {0,
"GROW", 0,
"Grow",
"Make hairs longer"},
1584 {1,
"SHRINK", 0,
"Shrink",
"Make hairs shorter"},
1585 {0,
nullptr, 0,
nullptr,
nullptr},
1592 {0,
nullptr, 0,
nullptr,
nullptr},
1607 prop,
nullptr,
"rna_ParticleEdit_tool_set",
"rna_ParticleEdit_tool_itemf");
1634 prop,
"Emitter Distance",
"Distance to keep particles away from the emitter");
1639 prop,
"Fade Time",
"Fade paths and keys further away from current frame");
1656 prop,
"Interpolate",
"Interpolate new particles from the existing ones");
1748 "Apply puff to unselected end-points (helps maintain hair volume when puffing root)");
1774 {
GP_GUIDE_CIRCULAR,
"CIRCULAR", 0,
"Circular",
"Use single point to create rings"},
1775 {
GP_GUIDE_RADIAL,
"RADIAL", 0,
"Radial",
"Use single point as direction"},
1777 {
GP_GUIDE_GRID,
"GRID", 0,
"Grid",
"Grid allows horizontal and vertical lines"},
1778 {
GP_GUIDE_ISO,
"ISO", 0,
"Isometric",
"Grid allows isometric and vertical lines"},
1779 {0,
nullptr, 0,
nullptr,
nullptr},
1786 {0,
nullptr, 0,
nullptr,
nullptr},
1800 prop,
"Use Snapping",
"Enable snapping to guides angle or spacing options");
1866 "GPencil Sculpt Settings",
1867 "General properties for Grease Pencil stroke sculpting tools");
1880 "Use falloff effect when edit in multiframe mode to compute brush effect by frame");
1893 prop,
"Scale Stroke Thickness",
"Scale the stroke thickness when transforming strokes");
1934 prop,
"Curve",
"Custom curve to control falloff of brush effect by Grease Pencil frames");
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)
Depsgraph * CTX_data_depsgraph_pointer(const bContext *C)
Object * CTX_data_active_object(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
ViewLayer * CTX_data_view_layer(const bContext *C)
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.
void BKE_texpaint_slots_refresh_object(Scene *scene, Object *ob)
General operations, lookup, etc. for blender objects.
Brush * BKE_paint_eraser_brush(Paint *paint)
Paint * BKE_paint_get_active(Scene *sce, ViewLayer *view_layer)
bool BKE_paint_eraser_brush_set(Paint *paint, Brush *brush)
Brush * BKE_paint_brush(Paint *paint)
void BKE_paint_invalidate_overlay_all()
struct ParticleSystem * psys_get_current(struct Object *ob)
void psys_free_path_cache(struct ParticleSystem *psys, struct PTCacheEdit *edit)
void BKE_particle_batch_cache_dirty_tag(struct ParticleSystem *psys, int mode)
@ BKE_PARTICLE_BATCH_DIRTY_ALL
#define BLT_I18NCONTEXT_AMOUNT
#define BLT_I18NCONTEXT_ID_CURVE_LEGACY
#define BLT_I18NCONTEXT_OPERATOR_DEFAULT
void DEG_id_tag_update(ID *id, unsigned int flags)
@ BRUSH_AUTOMASKING_BRUSH_NORMAL
@ BRUSH_AUTOMASKING_CAVITY_NORMAL
@ BRUSH_AUTOMASKING_VIEW_OCCLUSION
@ BRUSH_AUTOMASKING_VIEW_NORMAL
@ BRUSH_AUTOMASKING_CAVITY_INVERTED
@ 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
#define MAX_BRUSH_PIXEL_RADIUS
#define MAX_BRUSH_PIXEL_DIAMETER
#define AUTOMASKING_BOUNDARY_EDGES_MAX_PROPAGATION_STEPS
@ PAINT_CURVE_SHOW_STRENGTH
@ PAINT_CURVE_SHOW_JITTER
@ UNIFIED_PAINT_COLOR_JITTER
@ UNIFIED_PAINT_BRUSH_LOCK_SIZE
@ UNIFIED_PAINT_INPUT_SAMPLES
@ GPPAINT_FLAG_USE_VERTEXCOLOR
@ GPPAINT_FLAG_USE_MATERIAL
@ SCULPT_DYNTOPO_SUBDIVIDE
@ SCULPT_DYNTOPO_DETAIL_MANUAL
@ SCULPT_DYNTOPO_DETAIL_CONSTANT
@ SCULPT_DYNTOPO_COLLAPSE
@ SCULPT_DYNTOPO_DETAIL_BRUSH
@ GP_SCULPT_SETT_FLAG_PRIMITIVE_CURVE
@ GP_SCULPT_SETT_FLAG_FRAME_FALLOFF
@ GP_SCULPT_SETT_FLAG_AUTOMASK_LAYER_ACTIVE
@ GP_SCULPT_SETT_FLAG_AUTOMASK_STROKE
@ GP_SCULPT_SETT_FLAG_AUTOMASK_MATERIAL_STROKE
@ GP_SCULPT_SETT_FLAG_AUTOMASK_MATERIAL_ACTIVE
@ GP_SCULPT_SETT_FLAG_SCALE_THICKNESS
@ GP_SCULPT_SETT_FLAG_AUTOMASK_LAYER_STROKE
#define IMAGEPAINT_MODE_IMAGE
@ IMAGEPAINT_PROJECT_LAYER_STENCIL_INV
@ IMAGEPAINT_PROJECT_BACKFACE
@ IMAGEPAINT_PROJECT_XRAY
@ IMAGEPAINT_PROJECT_LAYER_STENCIL
@ IMAGEPAINT_PROJECT_LAYER_CLONE
@ IMAGEPAINT_PROJECT_FLAT
#define IMAGEPAINT_MODE_MATERIAL
@ PE_BRUSH_DATA_PUFF_VOLUME
@ PAINT_SCULPT_DELAY_UPDATES
@ PAINT_SHOW_BRUSH_ON_SURFACE
@ VP_FLAG_VGROUP_RESTRICT
#define PAINT_MAX_INPUT_SAMPLES
@ PAINT_CANVAS_SOURCE_COLOR_ATTRIBUTE
@ PAINT_CANVAS_SOURCE_IMAGE
@ PAINT_CANVAS_SOURCE_MATERIAL
@ IMAGEPAINT_MISSING_MATERIAL
@ IMAGEPAINT_MISSING_STENCIL
@ SCULPT_TRANSFORM_MODE_RADIUS_ELASTIC
@ SCULPT_TRANSFORM_MODE_ALL_VERTICES
@ IMAGEPAINT_INTERP_LINEAR
@ IMAGEPAINT_INTERP_CLOSEST
void ED_space_image_sync(Main *bmain, Image *image, bool ignore_render_viewer)
bool ED_paint_proj_mesh_data_check(Scene &scene, Object &ob, bool *r_has_uvs, bool *r_has_mat, bool *r_has_tex, bool *r_has_stencil)
PTCacheEdit * PE_get_current(Depsgraph *depsgraph, Scene *scene, Object *ob)
Read Guarded memory(de)allocation.
@ BMO_SYMMETRIZE_NEGATIVE_X
@ BMO_SYMMETRIZE_NEGATIVE_Y
@ BMO_SYMMETRIZE_POSITIVE_Z
@ BMO_SYMMETRIZE_NEGATIVE_Z
@ BMO_SYMMETRIZE_POSITIVE_Y
@ BMO_SYMMETRIZE_POSITIVE_X
BPy_StructRNA * depsgraph
const PointerRNA PointerRNA_NULL
PointerRNA RNA_pointer_create_with_parent(const PointerRNA &parent, StructRNA *type, void *data)
PointerRNA RNA_id_pointer_create(ID *id)
const EnumPropertyItem rna_enum_brush_automasking_flag_items[]
const EnumPropertyItem rna_enum_brush_curve_preset_items[]
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
PropertyRNA * RNA_def_int_array(StructOrFunctionRNA *cont_, const char *identifier, const int len, const int *default_value, const int hardmin, const int hardmax, const char *ui_name, const char *ui_description, const int softmin, const int softmax)
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_define_animate_sdna(bool animate)
void RNA_def_property_float_default(PropertyRNA *prop, float value)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
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)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_struct_clear_flag(StructRNA *srna, int flag)
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_function_ui_description(FunctionRNA *func, const char *description)
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)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_property_ui_scale_type(PropertyRNA *prop, PropertyScaleType ui_scale_type)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_subtype(PropertyRNA *prop, PropertySubType subtype)
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)
static void rna_def_uv_sculpt(BlenderRNA *brna)
void RNA_def_sculpt_paint(BlenderRNA *brna)
const EnumPropertyItem rna_enum_symmetrize_direction_items[]
static void rna_def_paint(BlenderRNA *brna)
static const EnumPropertyItem rna_enum_gpencil_lock_axis_items[]
static const EnumPropertyItem rna_enum_gpencil_paint_mode[]
static void rna_def_sculpt(BlenderRNA *brna)
const EnumPropertyItem rna_enum_particle_edit_hair_brush_items[]
static void rna_def_gp_paint(BlenderRNA *brna)
static void rna_def_gp_sculptpaint(BlenderRNA *brna)
static void rna_def_vertex_paint(BlenderRNA *brna)
static void rna_def_curves_sculpt(BlenderRNA *brna)
static const EnumPropertyItem rna_enum_canvas_source_items[]
static void rna_def_paint_curve_visibility_flag(StructRNA *srna, const char *prop_name, const char *ui_name, const int64_t flag)
static void rna_def_paint_mode(BlenderRNA *brna)
static void rna_def_gp_weightpaint(BlenderRNA *brna)
static void rna_def_gp_vertexpaint(BlenderRNA *brna)
static void rna_def_image_paint(BlenderRNA *brna)
static void rna_def_paint_curve(BlenderRNA *brna)
static void rna_def_gpencil_sculpt(BlenderRNA *brna)
static void rna_def_unified_paint_settings(BlenderRNA *brna)
static void rna_def_particle_edit(BlenderRNA *brna)
static void rna_def_gpencil_guides(BlenderRNA *brna)
struct ParticleSystem * psys
struct UnifiedPaintSettings unified_paint_settings
PaintRuntimeHandle * runtime
struct ToolSettings * toolsettings
struct CurveMapping * curve_distance_falloff
int8_t curve_distance_falloff_preset
void WM_main_add_notifier(uint type, void *reference)