78 #include "RNA_prototypes.h"
193 ot->
name =
"Add Material Slot";
194 ot->
idname =
"OBJECT_OT_material_slot_add";
244 ot->
name =
"Remove Material Slot";
245 ot->
idname =
"OBJECT_OT_material_slot_remove";
265 bool changed_multi =
false;
270 uint objects_len = 0;
272 for (
uint ob_index = 0; ob_index < objects_len; ob_index++) {
273 Object *ob = objects[ob_index];
274 short mat_nr_active = -1;
282 mat_nr_active = obact->
actcol - 1;
287 for (
int i = 0; i < ob->
totcol; i++) {
289 if (mat_active == mat) {
294 if (mat_nr_active == -1) {
299 bool changed =
false;
309 efa->
mat_nr = mat_nr_active;
319 for (nu =
static_cast<Nurb *
>(nurbs->
first); nu; nu = nu->
next) {
322 nu->
mat_nr = mat_nr_active;
329 int i, selstart, selend;
332 for (i = selstart; i <= selend; i++) {
340 changed_multi =
true;
353 ot->
name =
"Assign Material Slot";
354 ot->
idname =
"OBJECT_OT_material_slot_assign";
355 ot->
description =
"Assign active material slot to selection";
373 bool changed_multi =
false;
377 uint objects_len = 0;
379 for (
uint ob_index = 0; ob_index < objects_len; ob_index++) {
380 Object *ob = objects[ob_index];
381 short mat_nr_active = -1;
389 mat_nr_active = obact->
actcol - 1;
394 for (
int i = 0; i < ob->
totcol; i++) {
396 if (mat_active == mat) {
401 if (mat_nr_active == -1) {
406 bool changed =
false;
423 for (nu =
static_cast<Nurb *
>(nurbs->
first); nu; nu = nu->
next) {
424 if (nu->
mat_nr == mat_nr_active) {
429 if (bezt->
hide == 0) {
467 changed_multi =
true;
486 ot->
name =
"Select Material Slot";
487 ot->
idname =
"OBJECT_OT_material_slot_select";
505 ot->
name =
"Deselect Material Slot";
506 ot->
idname =
"OBJECT_OT_material_slot_deselect";
538 for (
int i = ob->
totcol; i--;) {
539 matar[i] = ob->
matbits[i] ? (*matar_object)[i] : (*matar_obdata)[i];
546 const bool is_same_obdata = ob->
data == ob_iter->data;
549 if (ob_iter->totcol == ob->
totcol) {
550 ob_iter->actcol = ob->
actcol;
566 ot->
name =
"Copy Material to Selected";
567 ot->
idname =
"OBJECT_OT_material_slot_copy";
592 if (!ob || ob->
totcol < 2) {
597 if (dir == 1 && ob->
actcol > 1) {
598 index_pair[0] = ob->
actcol - 2;
599 index_pair[1] = ob->
actcol - 1;
604 index_pair[0] = ob->
actcol - 1;
605 index_pair[1] = ob->
actcol - 0;
616 slot_remap[index_pair[0]] = index_pair[1];
617 slot_remap[index_pair[1]] = index_pair[0];
633 {1,
"UP", 0,
"Up",
""},
634 {-1,
"DOWN", 0,
"Down",
""},
635 {0,
nullptr, 0,
nullptr,
nullptr},
639 ot->
name =
"Move Material";
640 ot->
idname =
"OBJECT_OT_material_slot_move";
641 ot->
description =
"Move the active material up/down in the list";
655 "Direction to move the active material towards");
676 uint objects_len = 0;
678 for (
uint ob_index = 0; ob_index < objects_len; ob_index++) {
679 Object *ob = objects[ob_index];
681 for (
int slot = 1; slot <= ob->
totcol; slot++) {
686 if (actcol >= slot) {
721 ot->
name =
"Remove Unused Slots";
722 ot->
idname =
"OBJECT_OT_material_slot_remove_unused";
760 const char *name =
DATA_(
"Material");
797 ot->
name =
"New Material";
948 {
VIEWLAYER_ADD_COPY,
"COPY", 0,
"Copy Settings",
"Copy settings of current view layer"},
953 "Add a new view layer with all collections disabled"},
954 {0,
nullptr, 0,
nullptr,
nullptr},
958 ot->
name =
"Add View Layer";
959 ot->
idname =
"SCENE_OT_view_layer_add";
1003 ot->
name =
"Remove View Layer";
1004 ot->
idname =
"SCENE_OT_view_layer_remove";
1053 ot->
idname =
"SCENE_OT_view_layer_add_aov";
1105 ot->
idname =
"SCENE_OT_view_layer_remove_aov";
1134 if (strcmp(lightgroup->name, name) == 0) {
1156 ot->
name =
"Add Lightgroup";
1157 ot->
idname =
"SCENE_OT_view_layer_add_lightgroup";
1172 "Name of newly created lightgroup");
1206 ot->
name =
"Remove Lightgroup";
1207 ot->
idname =
"SCENE_OT_view_layer_remove_lightgroup";
1228 if (ob->lightgroup && ob->lightgroup->name[0]) {
1238 return used_lightgroups;
1270 ot->
name =
"Add Used Lightgroups";
1271 ot->
idname =
"SCENE_OT_view_layer_add_used_lightgroups";
1314 ot->
name =
"Remove Unused Lightgroups";
1315 ot->
idname =
"SCENE_OT_view_layer_remove_unused_lightgroups";
1371 switch (event->
type) {
1401 short stop = 0, do_update;
1454 "Bake both irradiance grids and reflection cubemaps"},
1459 "Only bake light probes that are marked as dirty"},
1464 "Try to only bake reflection cubemaps if irradiance grids are up to date"},
1465 {0,
nullptr, 0,
nullptr,
nullptr},
1469 ot->
name =
"Bake Light Cache";
1470 ot->
idname =
"SCENE_OT_light_cache_bake";
1485 "Delay in millisecond before baking starts",
1491 ot->
srna,
"subset", light_cache_subset_items, 0,
"Subset",
"Subset of probes to update");
1535 ot->
name =
"Delete Light Cache";
1536 ot->
idname =
"SCENE_OT_light_cache_free";
1573 ot->
name =
"Add Render View";
1574 ot->
idname =
"SCENE_OT_render_view_add";
1608 ot->
name =
"Remove Render View";
1609 ot->
idname =
"SCENE_OT_render_view_remove";
1622 #ifdef WITH_FREESTYLE
1633 "No active lineset and associated line style to manipulate the modifier");
1639 "The active lineset does not have a line style (indicating data corruption)");
1646 static bool freestyle_active_module_poll(
bContext *
C)
1651 return module !=
nullptr;
1669 ot->
name =
"Add Freestyle Module";
1670 ot->
idname =
"SCENE_OT_freestyle_module_add";
1671 ot->
description =
"Add a style module into the list of modules";
1674 ot->
exec = freestyle_module_add_exec;
1704 ot->
name =
"Remove Freestyle Module";
1705 ot->
idname =
"SCENE_OT_freestyle_module_remove";
1709 ot->
poll = freestyle_active_module_poll;
1710 ot->
exec = freestyle_module_remove_exec;
1741 {-1,
"UP", 0,
"Up",
""},
1742 {1,
"DOWN", 0,
"Down",
""},
1743 {0,
nullptr, 0,
nullptr,
nullptr},
1747 ot->
name =
"Move Freestyle Module";
1748 ot->
idname =
"SCENE_OT_freestyle_module_move";
1749 ot->
description =
"Change the position of the style module within in the list of style modules";
1752 ot->
poll = freestyle_active_module_poll;
1753 ot->
exec = freestyle_module_move_exec;
1764 "Direction to move the chosen style module towards");
1790 ot->
name =
"Add Line Set";
1791 ot->
idname =
"SCENE_OT_freestyle_lineset_add";
1792 ot->
description =
"Add a line set into the list of line sets";
1795 ot->
exec = freestyle_lineset_add_exec;
1807 static bool freestyle_active_lineset_poll(
bContext *
C)
1830 ot->
name =
"Copy Line Set";
1831 ot->
idname =
"SCENE_OT_freestyle_lineset_copy";
1835 ot->
exec = freestyle_lineset_copy_exec;
1836 ot->
poll = freestyle_active_lineset_poll;
1864 ot->
name =
"Paste Line Set";
1865 ot->
idname =
"SCENE_OT_freestyle_lineset_paste";
1866 ot->
description =
"Paste the buffer content to the active line set";
1869 ot->
exec = freestyle_lineset_paste_exec;
1870 ot->
poll = freestyle_active_lineset_poll;
1898 ot->
name =
"Remove Line Set";
1899 ot->
idname =
"SCENE_OT_freestyle_lineset_remove";
1900 ot->
description =
"Remove the active line set from the list of line sets";
1903 ot->
exec = freestyle_lineset_remove_exec;
1904 ot->
poll = freestyle_active_lineset_poll;
1933 {-1,
"UP", 0,
"Up",
""},
1934 {1,
"DOWN", 0,
"Down",
""},
1935 {0,
nullptr, 0,
nullptr,
nullptr},
1939 ot->
name =
"Move Line Set";
1940 ot->
idname =
"SCENE_OT_freestyle_lineset_move";
1941 ot->
description =
"Change the position of the active line set within the list of line sets";
1944 ot->
exec = freestyle_lineset_move_exec;
1945 ot->
poll = freestyle_active_lineset_poll;
1956 "Direction to move the active line set towards");
1991 ot->
name =
"New Line Style";
1992 ot->
idname =
"SCENE_OT_freestyle_linestyle_new";
1993 ot->
description =
"Create a new line style, reusable by multiple line sets";
1996 ot->
exec = freestyle_linestyle_new_exec;
1997 ot->
poll = freestyle_active_lineset_poll;
2015 if (!freestyle_linestyle_check_report(lineset, op->
reports)) {
2032 ot->
name =
"Add Line Color Modifier";
2033 ot->
idname =
"SCENE_OT_freestyle_color_modifier_add";
2035 "Add a line color modifier to the line style associated with the active lineset";
2039 ot->
exec = freestyle_color_modifier_add_exec;
2040 ot->
poll = freestyle_active_lineset_poll;
2062 if (!freestyle_linestyle_check_report(lineset, op->
reports)) {
2079 ot->
name =
"Add Alpha Transparency Modifier";
2080 ot->
idname =
"SCENE_OT_freestyle_alpha_modifier_add";
2082 "Add an alpha transparency modifier to the line style associated with the active lineset";
2086 ot->
exec = freestyle_alpha_modifier_add_exec;
2087 ot->
poll = freestyle_active_lineset_poll;
2109 if (!freestyle_linestyle_check_report(lineset, op->
reports)) {
2126 ot->
name =
"Add Line Thickness Modifier";
2127 ot->
idname =
"SCENE_OT_freestyle_thickness_modifier_add";
2129 "Add a line thickness modifier to the line style associated with the active lineset";
2133 ot->
exec = freestyle_thickness_modifier_add_exec;
2134 ot->
poll = freestyle_active_lineset_poll;
2156 if (!freestyle_linestyle_check_report(lineset, op->
reports)) {
2173 ot->
name =
"Add Stroke Geometry Modifier";
2174 ot->
idname =
"SCENE_OT_freestyle_geometry_modifier_add";
2176 "Add a stroke geometry modifier to the line style associated with the active lineset";
2180 ot->
exec = freestyle_geometry_modifier_add_exec;
2181 ot->
poll = freestyle_active_lineset_poll;
2221 if (!freestyle_linestyle_check_report(lineset, op->
reports)) {
2225 switch (freestyle_get_modifier_type(&
ptr)) {
2240 op->
reports,
RPT_ERROR,
"The object the data pointer refers to is not a valid modifier");
2252 ot->
name =
"Remove Modifier";
2253 ot->
idname =
"SCENE_OT_freestyle_modifier_remove";
2254 ot->
description =
"Remove the modifier from the list of modifiers";
2257 ot->
exec = freestyle_modifier_remove_exec;
2258 ot->
poll = freestyle_active_lineset_poll;
2277 if (!freestyle_linestyle_check_report(lineset, op->
reports)) {
2281 switch (freestyle_get_modifier_type(&
ptr)) {
2296 op->
reports,
RPT_ERROR,
"The object the data pointer refers to is not a valid modifier");
2308 ot->
name =
"Copy Modifier";
2309 ot->
idname =
"SCENE_OT_freestyle_modifier_copy";
2310 ot->
description =
"Duplicate the modifier within the list of modifiers";
2313 ot->
exec = freestyle_modifier_copy_exec;
2314 ot->
poll = freestyle_active_lineset_poll;
2333 bool changed =
false;
2335 if (!freestyle_linestyle_check_report(lineset, op->
reports)) {
2339 switch (freestyle_get_modifier_type(&
ptr)) {
2354 op->
reports,
RPT_ERROR,
"The object the data pointer refers to is not a valid modifier");
2369 {-1,
"UP", 0,
"Up",
""},
2370 {1,
"DOWN", 0,
"Down",
""},
2371 {0,
nullptr, 0,
nullptr,
nullptr},
2375 ot->
name =
"Move Modifier";
2376 ot->
idname =
"SCENE_OT_freestyle_modifier_move";
2377 ot->
description =
"Move the modifier within the list of modifiers";
2380 ot->
exec = freestyle_modifier_move_exec;
2381 ot->
poll = freestyle_active_lineset_poll;
2392 "Direction to move the chosen modifier towards");
2420 ot->
name =
"Create Freestyle Stroke Material";
2421 ot->
idname =
"SCENE_OT_freestyle_stroke_material_create";
2422 ot->
description =
"Create Freestyle stroke material for testing";
2425 ot->
exec = freestyle_stroke_material_create_exec;
2444 MTex **mtex_ar, *mtexswap;
2453 mtexswap = mtex_ar[act];
2454 mtex_ar[act] = mtex_ar[act - 1];
2455 mtex_ar[act - 1] = mtexswap;
2458 id, adt,
nullptr,
"texture_slots",
nullptr,
nullptr, act - 1, -1,
false);
2460 id, adt,
nullptr,
"texture_slots",
nullptr,
nullptr, act, act - 1,
false);
2462 id, adt,
nullptr,
"texture_slots",
nullptr,
nullptr, -1, act,
false);
2469 mtexswap = mtex_ar[act];
2470 mtex_ar[act] = mtex_ar[act + 1];
2471 mtex_ar[act + 1] = mtexswap;
2474 id, adt,
nullptr,
"texture_slots",
nullptr,
nullptr, act + 1, -1,
false);
2476 id, adt,
nullptr,
"texture_slots",
nullptr,
nullptr, act, act + 1,
false);
2478 id, adt,
nullptr,
"texture_slots",
nullptr,
nullptr, -1, act,
false);
2494 {-1,
"UP", 0,
"Up",
""},
2495 {1,
"DOWN", 0,
"Down",
""},
2496 {0,
nullptr, 0,
nullptr,
nullptr},
2500 ot->
name =
"Move Texture Slot";
2501 ot->
idname =
"TEXTURE_OT_slot_move";
2525 if (ma ==
nullptr) {
2537 ot->
name =
"Copy Material";
2560 if (ma ==
nullptr) {
2575 ot->
name =
"Paste Material";
2602 MTex **mtex =
nullptr;
2615 if (mtex && *mtex) {
2626 MTex **mtex =
nullptr;
2645 if (*mtex ==
nullptr) {
2646 *mtex = MEM_new<MTex>(
"mtex copy");
2648 else if ((*mtex)->tex) {
2668 if (
id ==
nullptr) {
2683 return (
id !=
nullptr);
2689 ot->
name =
"Copy Texture Slot Settings";
2690 ot->
idname =
"TEXTURE_OT_slot_copy";
2691 ot->
description =
"Copy the material texture settings and nodes";
2712 if (
id ==
nullptr) {
2738 if (
id ==
nullptr) {
2753 ot->
name =
"Paste Texture Slot Settings";
2754 ot->
idname =
"TEXTURE_OT_slot_paste";
struct AnimData * BKE_animdata_from_id(const struct ID *id)
void BKE_animdata_fix_paths_rename(struct ID *owner_id, struct AnimData *adt, struct ID *ref_id, const char *prefix, const char *oldName, const char *newName, int oldSubscript, int newSubscript, bool verify_paths)
#define FOREACH_SCENE_OBJECT_END
#define FOREACH_SCENE_OBJECT_BEGIN(scene, _instance)
struct Scene * CTX_data_scene(const bContext *C)
struct Object * CTX_data_edit_object(const bContext *C)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
#define CTX_DATA_BEGIN(C, Type, instance, member)
PointerRNA CTX_data_pointer_get_type(const bContext *C, const char *member, StructRNA *type)
struct ViewLayer * CTX_data_view_layer(const bContext *C)
struct Object * CTX_data_active_object(const bContext *C)
struct View3D * CTX_wm_view3d(const bContext *C)
struct Depsgraph * CTX_data_depsgraph_pointer(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
struct ListBase * BKE_curve_editNurbs_get(struct Curve *cu)
BMEditMesh * BKE_editmesh_from_object(struct Object *ob)
Return the BMEditMesh for a given object.
struct FreestyleModuleConfig * BKE_freestyle_module_add(struct FreestyleConfig *config)
struct FreestyleLineSet * BKE_freestyle_lineset_add(struct Main *bmain, struct FreestyleConfig *config, const char *name)
struct FreestyleLineSet * BKE_freestyle_lineset_get_active(struct FreestyleConfig *config)
bool BKE_freestyle_module_move(struct FreestyleConfig *config, struct FreestyleModuleConfig *module_conf, int direction)
bool BKE_freestyle_module_delete(struct FreestyleConfig *config, struct FreestyleModuleConfig *module_conf)
struct ViewLayerLightgroup * BKE_view_layer_add_lightgroup(struct ViewLayer *view_layer, const char *name)
void BKE_view_layer_verify_aov(struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer)
struct ViewLayer * BKE_view_layer_add(struct Scene *scene, const char *name, struct ViewLayer *view_layer_source, int type)
struct ViewLayerAOV * BKE_view_layer_add_aov(struct ViewLayer *view_layer)
void BKE_view_layer_remove_lightgroup(struct ViewLayer *view_layer, struct ViewLayerLightgroup *lightgroup)
void BKE_view_layer_remove_aov(struct ViewLayer *view_layer, struct ViewLayerAOV *aov)
struct ID * BKE_id_copy(struct Main *bmain, const struct ID *id)
struct ID * BKE_id_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, int flag)
void id_us_min(struct ID *id)
void id_us_plus(struct ID *id)
Blender kernel freestyle line style functionality.
int BKE_linestyle_alpha_modifier_remove(FreestyleLineStyle *linestyle, LineStyleModifier *modifier)
LineStyleModifier * BKE_linestyle_alpha_modifier_copy(FreestyleLineStyle *linestyle, const LineStyleModifier *m, int flag)
FreestyleLineStyle * BKE_linestyle_active_from_view_layer(struct ViewLayer *view_layer)
LineStyleModifier * BKE_linestyle_geometry_modifier_copy(FreestyleLineStyle *linestyle, const LineStyleModifier *m, int flag)
int BKE_linestyle_color_modifier_remove(FreestyleLineStyle *linestyle, LineStyleModifier *modifier)
LineStyleModifier * BKE_linestyle_geometry_modifier_add(FreestyleLineStyle *linestyle, const char *name, int type)
bool BKE_linestyle_thickness_modifier_move(FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
#define LS_MODIFIER_TYPE_COLOR
#define LS_MODIFIER_TYPE_ALPHA
bool BKE_linestyle_color_modifier_move(FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
LineStyleModifier * BKE_linestyle_thickness_modifier_add(FreestyleLineStyle *linestyle, const char *name, int type)
LineStyleModifier * BKE_linestyle_color_modifier_add(FreestyleLineStyle *linestyle, const char *name, int type)
int BKE_linestyle_thickness_modifier_remove(FreestyleLineStyle *linestyle, LineStyleModifier *modifier)
#define LS_MODIFIER_TYPE_GEOMETRY
LineStyleModifier * BKE_linestyle_thickness_modifier_copy(FreestyleLineStyle *linestyle, const LineStyleModifier *m, int flag)
bool BKE_linestyle_alpha_modifier_move(FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
FreestyleLineStyle * BKE_linestyle_new(struct Main *bmain, const char *name)
bool BKE_linestyle_geometry_modifier_move(FreestyleLineStyle *linestyle, LineStyleModifier *modifier, int direction)
#define LS_MODIFIER_TYPE_THICKNESS
LineStyleModifier * BKE_linestyle_color_modifier_copy(FreestyleLineStyle *linestyle, const LineStyleModifier *m, int flag)
LineStyleModifier * BKE_linestyle_alpha_modifier_add(FreestyleLineStyle *linestyle, const char *name, int type)
int BKE_linestyle_geometry_modifier_remove(FreestyleLineStyle *linestyle, LineStyleModifier *modifier)
General operations, lookup, etc. for materials.
struct Material *** BKE_object_material_array_p(struct Object *ob)
bool BKE_object_material_slot_remove(struct Main *bmain, struct Object *ob)
struct Material * BKE_object_material_get(struct Object *ob, short act)
bool BKE_object_material_slot_used(struct Object *object, short actcol)
struct Material * BKE_gpencil_material_add(struct Main *bmain, const char *name)
void BKE_material_copybuf_paste(struct Main *bmain, struct Material *ma)
void BKE_material_copybuf_copy(struct Main *bmain, struct Material *ma)
void BKE_object_material_array_assign(struct Main *bmain, struct Object *ob, struct Material ***matar, int totcol, bool to_object_only)
void BKE_object_material_remap(struct Object *ob, const unsigned int *remap)
struct Material * BKE_material_add(struct Main *bmain, const char *name)
bool BKE_object_material_slot_add(struct Main *bmain, struct Object *ob)
struct Material ** BKE_object_material_get_p(struct Object *ob, short act)
short * BKE_object_material_len_p(struct Object *ob)
General operations, lookup, etc. for blender objects.
bool BKE_object_is_in_editmode(const struct Object *ob)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
struct SceneRenderView * BKE_scene_add_render_view(struct Scene *sce, const char *name)
bool BKE_scene_remove_render_view(struct Scene *scene, struct SceneRenderView *srv)
bool give_active_mtex(struct ID *id, struct MTex ***mtex_ar, short *act)
void set_active_mtex(struct ID *id, short act)
struct Tex * BKE_texture_add(struct Main *bmain, const char *name)
int BKE_vfont_select_get(struct Object *ob, int *r_start, int *r_end)
struct World * BKE_world_add(struct Main *bmain, const char *name)
#define BLI_assert_msg(a, msg)
GSet * BLI_gset_str_new(const char *info)
#define GSET_FOREACH_END()
bool BLI_gset_haskey(const GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT
#define GSET_FOREACH_BEGIN(type, var, what)
void BLI_gset_free(GSet *gs, GSetKeyFreeFP keyfreefp)
bool BLI_gset_add(GSet *gs, void *key)
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findstring(const struct ListBase *listbase, const char *id, int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void range_vn_u(unsigned int *array_tar, int size, unsigned int start)
void BLI_str_replace_char(char *str, char src, char dst) ATTR_NONNULL()
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
@ ID_RECALC_COPY_ON_WRITE
#define ID_IS_LINKED(_id)
#define ID_IS_OVERRIDE_LIBRARY(_id)
Object is a sort of wrapper for general info.
#define OB_TYPE_SUPPORT_MATERIAL(_type)
bool EDBM_deselect_by_material(struct BMEditMesh *em, short index, bool select)
void ED_node_shader_default(const struct bContext *C, struct ID *id)
struct Object * ED_object_context(const struct bContext *C)
Object ** ED_object_array_in_mode_or_selected(struct bContext *C, bool(*filter_fn)(const struct Object *ob, void *user_data), void *filter_user_data, uint *r_objects_len)
bool ED_paint_proj_mesh_data_check(struct Scene *scene, struct Object *ob, bool *uvs, bool *mat, bool *tex, bool *stencil)
bool ED_scene_view_layer_delete(struct Main *bmain, struct Scene *scene, struct ViewLayer *layer, struct ReportList *reports) ATTR_NONNULL(1
void ED_update_for_newframe(struct Main *bmain, struct Depsgraph *depsgraph)
bool ED_operator_object_active_local_editable_ex(struct bContext *C, const Object *ob)
struct Material * FRS_create_stroke_material(struct Main *bmain, struct FreestyleLineStyle *linestyle)
bool FRS_move_active_lineset(struct FreestyleConfig *config, int direction)
void FRS_paste_active_lineset(struct FreestyleConfig *config)
void FRS_copy_active_lineset(struct FreestyleConfig *config)
void FRS_delete_active_lineset(struct FreestyleConfig *config)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
void UI_context_active_but_prop_get_templateID(struct bContext *C, struct PointerRNA *r_ptr, struct PropertyRNA **r_prop)
#define ND_RENDER_OPTIONS
#define ND_SHADING_PREVIEW
__forceinline const avxb select(const avxb &m, const avxb &t, const avxb &f)
#define BM_elem_flag_test(ele, hflag)
#define BM_ITER_MESH(ele, iter, bm, itype)
FreestyleLineStyle linestyle
bool ED_curve_nurb_select_check(const View3D *v3d, const Nurb *nu)
void * EEVEE_lightbake_job_data_alloc(struct Main *bmain, struct ViewLayer *view_layer, struct Scene *scene, bool run_as_job, int frame)
void EEVEE_lightbake_job(void *custom_data, short *stop, short *do_update, float *progress)
wmJob * EEVEE_lightbake_job_create(struct wmWindowManager *wm, struct wmWindow *win, struct Main *bmain, struct ViewLayer *view_layer, struct Scene *scene, int delay, int frame)
void EEVEE_lightbake_job_data_free(void *custom_data)
void EEVEE_lightcache_free(LightCache *lcache)
void EEVEE_lightcache_info_update(SceneEEVEE *eevee)
RenderEngine * RE_engine_create(RenderEngineType *type)
RenderEngineType * RE_engines_find(const char *idname)
void RE_engine_free(RenderEngine *engine)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
void ntreeCompositUpdateRLayers(bNodeTree *ntree)
static struct PyModuleDef module
static Object ** object_array_for_shading_edit_mode_enabled(bContext *C, uint *r_objects_len)
static int light_cache_free_exec(bContext *C, wmOperator *UNUSED(op))
void ED_render_clear_mtex_copybuf()
static int new_material_exec(bContext *C, wmOperator *UNUSED(op))
void OBJECT_OT_material_slot_add(wmOperatorType *ot)
void OBJECT_OT_material_slot_deselect(wmOperatorType *ot)
static int view_layer_remove_exec(bContext *C, wmOperator *UNUSED(op))
static int view_layer_add_exec(bContext *C, wmOperator *op)
static int view_layer_remove_lightgroup_exec(bContext *C, wmOperator *UNUSED(op))
static int light_cache_bake_modal(bContext *C, wmOperator *op, const wmEvent *event)
static int render_view_add_exec(bContext *C, wmOperator *UNUSED(op))
void OBJECT_OT_material_slot_copy(wmOperatorType *ot)
static bool object_array_for_shading_edit_mode_enabled_filter(const Object *ob, void *user_data)
void SCENE_OT_view_layer_remove_unused_lightgroups(wmOperatorType *ot)
static bool view_layer_remove_poll(bContext *C)
static void paste_mtex_copybuf(ID *id)
static int view_layer_add_used_lightgroups_exec(bContext *C, wmOperator *UNUSED(op))
static bool light_cache_free_poll(bContext *C)
static void copy_mtex_copybuf(ID *id)
static int material_slot_select_exec(bContext *C, wmOperator *UNUSED(op))
static int material_slot_de_select(bContext *C, bool select)
void OBJECT_OT_material_slot_select(wmOperatorType *ot)
void WORLD_OT_new(wmOperatorType *ot)
void OBJECT_OT_material_slot_remove_unused(wmOperatorType *ot)
static int view_layer_add_aov_exec(bContext *C, wmOperator *UNUSED(op))
static int paste_mtex_exec(bContext *C, wmOperator *UNUSED(op))
static int material_slot_remove_unused_exec(bContext *C, wmOperator *op)
void OBJECT_OT_material_slot_assign(wmOperatorType *ot)
static int paste_material_exec(bContext *C, wmOperator *UNUSED(op))
static bool object_array_for_shading_edit_mode_disabled_filter(const Object *ob, void *user_data)
void MATERIAL_OT_paste(wmOperatorType *ot)
void MATERIAL_OT_new(wmOperatorType *ot)
static int material_slot_remove_exec(bContext *C, wmOperator *op)
void SCENE_OT_view_layer_add(wmOperatorType *ot)
static int view_layer_remove_aov_exec(bContext *C, wmOperator *UNUSED(op))
static int material_slot_add_exec(bContext *C, wmOperator *UNUSED(op))
void OBJECT_OT_material_slot_move(wmOperatorType *ot)
void SCENE_OT_view_layer_add_used_lightgroups(wmOperatorType *ot)
@ LIGHTCACHE_SUBSET_DIRTY
static int material_slot_copy_exec(bContext *C, wmOperator *UNUSED(op))
void TEXTURE_OT_new(wmOperatorType *ot)
static bool render_view_remove_poll(bContext *C)
static bool object_materials_supported_poll(bContext *C)
static int copy_material_exec(bContext *C, wmOperator *UNUSED(op))
static void light_cache_bake_tag_cache(Scene *scene, wmOperator *op)
static int material_slot_move_exec(bContext *C, wmOperator *op)
void MATERIAL_OT_copy(wmOperatorType *ot)
void SCENE_OT_light_cache_free(wmOperatorType *ot)
static int light_cache_bake_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
void SCENE_OT_view_layer_remove_lightgroup(wmOperatorType *ot)
static int texture_slot_move_exec(bContext *C, wmOperator *op)
void TEXTURE_OT_slot_paste(wmOperatorType *ot)
void SCENE_OT_view_layer_add_aov(wmOperatorType *ot)
static int new_world_exec(bContext *C, wmOperator *UNUSED(op))
void TEXTURE_OT_slot_copy(wmOperatorType *ot)
void SCENE_OT_light_cache_bake(wmOperatorType *ot)
static int material_slot_assign_exec(bContext *C, wmOperator *UNUSED(op))
static int light_cache_bake_exec(bContext *C, wmOperator *op)
void SCENE_OT_render_view_add(wmOperatorType *ot)
void SCENE_OT_view_layer_remove_aov(wmOperatorType *ot)
void OBJECT_OT_material_slot_remove(wmOperatorType *ot)
void TEXTURE_OT_slot_move(wmOperatorType *ot)
void SCENE_OT_view_layer_remove(wmOperatorType *ot)
void SCENE_OT_view_layer_add_lightgroup(wmOperatorType *ot)
static int material_slot_deselect_exec(bContext *C, wmOperator *UNUSED(op))
static Object ** object_array_for_shading_edit_mode_disabled(bContext *C, uint *r_objects_len)
static int copy_mtex_exec(bContext *C, wmOperator *UNUSED(op))
static int view_layer_add_lightgroup_exec(bContext *C, wmOperator *op)
void SCENE_OT_render_view_remove(wmOperatorType *ot)
static int render_view_remove_exec(bContext *C, wmOperator *UNUSED(op))
static int new_texture_exec(bContext *C, wmOperator *UNUSED(op))
static bool object_materials_supported_poll_ex(bContext *C, const Object *ob)
static bool copy_mtex_poll(bContext *C)
static GSet * get_used_lightgroups(Scene *scene)
static void light_cache_bake_cancel(bContext *C, wmOperator *op)
static int view_layer_remove_unused_lightgroups_exec(bContext *C, wmOperator *UNUSED(op))
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value, ReportList *reports)
void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
int RNA_int_get(PointerRNA *ptr, const char *name)
bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
const EnumPropertyItem rna_enum_linestyle_thickness_modifier_type_items[]
const EnumPropertyItem rna_enum_linestyle_geometry_modifier_type_items[]
const EnumPropertyItem rna_enum_linestyle_color_modifier_type_items[]
const EnumPropertyItem rna_enum_linestyle_alpha_modifier_type_items[]
struct CharInfo * textbufinfo
struct FreestyleLineStyle * linestyle
void(* update_render_passes)(struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer)
struct LightCache * light_cache_data
struct bNodeTree * nodetree
struct FreestyleConfig freestyle_config
ViewLayerLightgroup * active_lightgroup
ViewLayerAOV * active_aov
struct LightgroupMembership * lightgroup
int(* invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
int(* modal)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
void(* cancel)(struct bContext *, struct wmOperator *)
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
struct ReportList * reports
void WM_cursor_wait(bool val)
wmEventHandler_Op * WM_event_add_modal_handler(bContext *C, wmOperator *op)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
void WM_jobs_start(wmWindowManager *wm, wmJob *wm_job)
void WM_jobs_kill_type(struct wmWindowManager *wm, const void *owner, int job_type)
bool WM_jobs_test(const wmWindowManager *wm, const void *owner, int job_type)
int WM_menu_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)
void WM_window_set_active_view_layer(wmWindow *win, ViewLayer *view_layer)