161 void *filter_user_data,
168 const bool use_objects_in_mode = (ob_active !=
NULL) &&
178 id_pin = sbuts->
pinid;
185 else if ((space_type ==
SPACE_PROPERTIES) && (use_objects_in_mode ==
false)) {
194 else if (ob_active && (ob_active->
mode &
205 if ((ob !=
NULL) && !filter_fn(ob, filter_user_data)) {
208 *r_objects_len = (ob !=
NULL) ? 1 : 0;
209 objects =
MEM_mallocN(
sizeof(*objects) * *r_objects_len, __func__);
218 if (use_objects_in_mode) {
222 {.object_mode = ob_active->
mode,
224 .filter_fn = filter_fn,
225 .filter_userdata = filter_user_data});
232 {.no_dup_data =
true, .filter_fn = filter_fn, .filter_userdata = filter_user_data});
257 bool changed =
false;
288 ot->
name =
"Show Hidden Objects";
290 ot->
idname =
"OBJECT_OT_hide_view_clear";
308 bool changed =
false;
346 ot->
name =
"Hide Objects";
347 ot->
description =
"Temporarily hide objects from the viewport";
348 ot->
idname =
"OBJECT_OT_hide_view_set";
359 ot->
srna,
"unselected", 0,
"Unselected",
"Hide unselected rather than selected objects");
407 #define COLLECTION_INVALID_INDEX -1
428 int icon = ICON_NONE;
430 icon = ICON_LAYER_ACTIVE;
433 icon = ICON_LAYER_USED;
437 lc->collection->id.name + 2,
439 "OBJECT_OT_hide_collection",
468 ot->
name =
"Hide Collection";
469 ot->
description =
"Show only objects in collection (Shift to extend)";
470 ot->
idname =
"OBJECT_OT_hide_collection";
488 "Index of the collection to change visibility",
512 if (ob->data == me) {
531 const bool load_data,
532 const bool free_data)
536 if (obedit ==
NULL) {
549 "Too many vertices for mesh '%s' (%d)",
583 if (load_data ==
false) {
659 if (needs_flush_ptr) {
660 *needs_flush_ptr =
false;
739 if (obedit ==
NULL) {
742 bool changed =
false;
743 const short obedit_type = obedit->
type;
746 Object *ob = base->object;
780 CLOG_WARN(&
LOG,
"Unable to enter edit-mode on library data for object '%s'", ob->
id.
name + 2);
878 const bool is_mode_set = (obact->
mode & mode_flag) != 0;
889 if (obact->
mode & mode_flag) {
891 if ((ob != obact) && (ob->type == obact->
type)) {
901 if ((obact->
mode & mode_flag) == 0) {
903 if ((ob != obact) && (ob->type == obact->
type)) {
913 if (
G.background ==
false) {
942 ot->
name =
"Toggle Edit Mode";
944 ot->
idname =
"OBJECT_OT_editmode_toggle";
975 bool is_mode_set = (obact->
mode & mode_flag) != 0;
989 if (obact == obedit) {
999 if ((ob != obact) && (ob->type ==
OB_ARMATURE) && (ob->mode & mode_flag)) {
1022 if (
G.background ==
false) {
1032 ot->
name =
"Toggle Pose Mode";
1033 ot->
idname =
"OBJECT_OT_posemode_toggle";
1034 ot->
description =
"Enable or disable posing/selecting bones";
1099 ot->
name =
"Toggle Force Field";
1101 ot->
idname =
"OBJECT_OT_forcefield_toggle";
1155 bool free_depsgraph =
false;
1162 free_depsgraph =
false;
1166 free_depsgraph =
true;
1186 if (free_depsgraph) {
1245 ot->
name =
"Calculate Object Paths";
1246 ot->
idname =
"OBJECT_OT_paths_calculate";
1247 ot->
description =
"Calculate motion paths for the selected objects";
1264 "First frame to calculate object paths on",
1273 "Last frame to calculate object paths on",
1314 ot->
name =
"Update Object Paths";
1315 ot->
idname =
"OBJECT_OT_paths_update";
1348 if (only_selected) {
1390 ot->
name =
"Clear Object Paths";
1391 ot->
idname =
"OBJECT_OT_paths_clear";
1392 ot->
description =
"Clear path caches for all objects, hold Shift key for selected objects only";
1404 ot->
srna,
"only_selected",
false,
"Only Selected",
"Only clear paths from selected objects");
1421 ob->avs.path_sf =
PSFRA;
1422 ob->avs.path_ef =
PEFRA;
1436 ot->
name =
"Update Range from Scene";
1437 ot->
idname =
"OBJECT_OT_paths_range_update";
1438 ot->
description =
"Update frame range for motion paths from the Scene's current frame range";
1456 const bool use_smooth =
STREQ(op->
idname,
"OBJECT_OT_shade_smooth");
1457 bool changed_multi =
false;
1458 bool has_linked_data =
false;
1468 ctx_ob_single_active.
ptr.
data = obact;
1473 if (ctx_objects.
first != &ctx_ob_single_active) {
1496 has_linked_data =
true;
1500 bool changed =
false;
1512 changed_multi =
true;
1519 if (ctx_objects.
first != &ctx_ob_single_active) {
1523 if (has_linked_data) {
1534 if (obact !=
NULL) {
1548 ot->
description =
"Render and display faces uniform, using Face Normals";
1549 ot->
idname =
"OBJECT_OT_shade_flat";
1562 ot->
name =
"Shade Smooth";
1563 ot->
description =
"Render and display faces smooth, using interpolated Vertex Normals";
1564 ot->
idname =
"OBJECT_OT_shade_smooth";
1640 const bool use_submode =
STREQ(op->
idname,
"OBJECT_OT_mode_set_with_submode");
1672 if (toggle ==
false) {
1673 if (ob->
mode != mode) {
1697 if (ob->
mode != mode) {
1720 if (mesh_select_mode != 0) {
1736 ot->
name =
"Set Object Mode";
1761 ot->
name =
"Set Object Mode with Submode";
1762 ot->
idname =
"OBJECT_OT_mode_set_with_submode";
1815 const bool is_link =
STREQ(op->
idname,
"OBJECT_OT_link_to_collection");
1825 if (collection ==
NULL) {
1833 char new_collection_name[
MAX_NAME];
1841 if ((single_object !=
NULL) && is_link &&
1846 single_object->
id.
name + 2,
1847 collection->
id.
name + 2);
1867 (single_object !=
NULL) ? single_object->
id.
name + 2 :
"Objects",
1868 is_link ?
"linked" :
"moved",
1869 collection->
id.
name + 2);
1892 int index = menu->
index;
1898 submenu->
index = ++index;
1915 if (*menu ==
NULL) {
2015 "MoveToCollectionData menu - expected eventual memleak");
2044 ot->
name =
"Move to Collection";
2046 ot->
idname =
"OBJECT_OT_move_to_collection";
2062 "Index of the collection to move to",
2069 "new_collection_name",
2073 "Name of the newly added collection");
2083 ot->
name =
"Link to Collection";
2085 ot->
idname =
"OBJECT_OT_link_to_collection";
2101 "Index of the collection to move to",
2108 "new_collection_name",
2112 "Name of the newly added collection");
void animviz_free_motionpath(struct bMotionPath *mpath)
struct bMotionPath * animviz_verify_motionpaths(struct ReportList *reports, struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan)
void BKE_pose_channels_clear_with_null_bone(struct bPose *pose, const bool do_id_user)
struct Collection * BKE_collection_add(struct Main *bmain, struct Collection *parent, const char *name)
const char * BKE_collection_ui_name_get(struct Collection *collection)
bool BKE_collection_object_add(struct Main *bmain, struct Collection *collection, struct Object *ob)
void BKE_collection_new_name_get(struct Collection *collection_parent, char *rname)
struct Collection * BKE_collection_from_index(struct Scene *scene, const int index)
void BKE_collection_object_move(struct Main *bmain, struct Scene *scene, struct Collection *collection_dst, struct Collection *collection_src, struct Object *ob)
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
struct Object * CTX_data_edit_object(const bContext *C)
struct Base * CTX_data_active_base(const bContext *C)
struct SpaceOutliner * CTX_wm_space_outliner(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 Depsgraph * CTX_data_ensure_evaluated_depsgraph(const bContext *C)
struct Object * CTX_data_active_object(const bContext *C)
struct View3D * CTX_wm_view3d(const bContext *C)
struct wmMsgBus * CTX_wm_message_bus(const bContext *C)
int CTX_data_selected_editable_objects(const bContext *C, ListBase *list)
struct Main * CTX_data_main(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
void BKE_curve_smooth_flag_set(struct Curve *cu, const bool use_smooth)
void BKE_editlattice_load(struct Object *obedit)
void BKE_editlattice_make(struct Object *obedit)
void BKE_editlattice_free(struct Object *ob)
void BKE_editmesh_looptri_calc(BMEditMesh *em)
BMEditMesh * BKE_editmesh_from_object(struct Object *ob)
Return the BMEditMesh for a given object.
struct PartDeflect * BKE_partdeflect_new(int type)
#define FOREACH_SELECTED_OBJECT_BEGIN(_view_layer, _v3d, _instance)
#define BKE_view_layer_array_selected_objects(view_layer, v3d, r_len,...)
void BKE_layer_collection_local_sync(struct ViewLayer *view_layer, const struct View3D *v3d)
#define FOREACH_OBJECT_END
struct LayerCollection * BKE_layer_collection_from_index(struct ViewLayer *view_layer, const int index)
bool BKE_layer_collection_has_selected_objects(struct ViewLayer *view_layer, struct LayerCollection *lc)
void BKE_layer_collection_isolate_global(struct Scene *scene, struct ViewLayer *view_layer, struct LayerCollection *lc, bool extend)
#define FOREACH_OBJECT_BEGIN(view_layer, _instance)
int BKE_layer_collection_findindex(struct ViewLayer *view_layer, const struct LayerCollection *lc)
void BKE_layer_collection_sync(const struct Scene *scene, struct ViewLayer *view_layer)
#define FOREACH_SELECTED_OBJECT_END
#define BKE_view_layer_array_from_objects_in_mode(view_layer, v3d, r_len,...)
void BKE_layer_collection_isolate_local(struct ViewLayer *view_layer, const struct View3D *v3d, struct LayerCollection *lc, bool extend)
General operations, lookup, etc. for materials.
void BKE_mesh_batch_cache_dirty_tag(struct Mesh *me, eMeshBatchDirtyMode mode)
void BKE_mesh_smooth_flag_set(struct Mesh *me, const bool use_smooth)
@ BKE_MESH_BATCH_DIRTY_ALL
struct ModifierData * BKE_modifiers_findby_type(const struct Object *ob, ModifierType type)
General operations, lookup, etc. for blender objects.
bool BKE_object_obdata_is_libdata(const struct Object *ob)
char * BKE_object_data_editmode_flush_ptr_get(struct ID *id)
bool BKE_object_is_in_editmode(const struct Object *ob)
void BKE_particlesystem_reset_all(struct Object *object)
void BKE_ptcache_ids_from_object(struct ListBase *lb, struct Object *ob, struct Scene *scene, int duplis)
#define PTCACHE_TYPE_PARTICLES
#define PTCACHE_RESET_OUTDATED
int BKE_ptcache_object_reset(struct Scene *scene, struct Object *ob, int mode)
void BKE_report(ReportList *reports, ReportType type, const char *message)
void BKE_reportf(ReportList *reports, ReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_scene_object_base_flag_sync_from_base(struct Base *base)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
struct LinkData * BLI_genericNodeN(void *data)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void void BLI_INLINE bool BLI_listbase_is_single(const struct ListBase *lb)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void * BLI_findptr(const struct ListBase *listbase, const void *ptr, const int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define CTX_IFACE_(context, msgid)
#define CLOG_WARN(clg_ref,...)
struct Depsgraph Depsgraph
void DEG_graph_free(Depsgraph *graph)
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)
@ MOTIONPATH_BAKE_HAS_PATHS
Object groups, one object can be in many groups at once.
@ COLLECTION_RESTRICT_VIEWPORT
@ LAYER_COLLECTION_EXCLUDE
@ LAYER_COLLECTION_RESTRICT_VIEWPORT
@ LAYER_COLLECTION_HAS_OBJECTS
#define OB_MODE_ALL_PAINT
#define OB_MODE_ALL_PAINT_GPENCIL
#define OB_MODE_ALL_SCULPT
#define PFIELD_SHAPE_SURFACE
Object is a sort of wrapper for general info.
#define OB_TYPE_SUPPORT_EDITMODE(_type)
#define OBEDIT_FROM_VIEW_LAYER(view_layer)
#define OBACT(_view_layer)
#define V3D_LOCAL_COLLECTIONS
@ ANIMVIZ_CALC_RANGE_FULL
@ ANIMVIZ_CALC_RANGE_CURRENT_FRAME
@ ANIMVIZ_CALC_RANGE_CHANGED
void ED_mball_editmball_free(struct Object *obedit)
void ED_mball_editmball_make(struct Object *obedit)
void ED_mball_editmball_load(struct Object *obedit)
void ED_mesh_mirror_topo_table_end(struct Object *ob)
void EDBM_mesh_make(struct Object *ob, const int select_mode, const bool add_key_index)
bool EDBM_selectmode_set_multi(struct bContext *C, const short selectmode)
void EDBM_mesh_load_ex(struct Main *bmain, struct Object *ob, bool free_data)
void EDBM_mesh_free(struct BMEditMesh *em)
void ED_mesh_mirror_spatial_table_end(struct Object *ob)
void EDBM_mesh_normals_update(struct BMEditMesh *em)
bool ED_object_particle_edit_mode_supported(const Object *ob)
struct ModifierData * ED_object_modifier_add(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, const char *name, int type)
bool ED_object_mode_set_ex(struct bContext *C, eObjectMode mode, bool use_undo, struct ReportList *reports)
bool ED_object_mode_compat_test(const struct Object *ob, eObjectMode mode)
void ED_object_base_select(struct Base *base, eObjectSelect_Mode mode)
bool ED_object_modifier_remove(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, struct ModifierData *md)
@ OBJECT_PATH_CALC_RANGE_CHANGED
@ OBJECT_PATH_CALC_RANGE_CURRENT_FRAME
@ OBJECT_PATH_CALC_RANGE_FULL
bool ED_object_mode_compat_set(struct bContext *C, struct Object *ob, eObjectMode mode, struct ReportList *reports)
bool ED_outliner_collections_editor_poll(struct bContext *C)
void ED_outliner_selected_objects_get(const struct bContext *C, struct ListBase *objects)
bool ED_operator_object_active_editable_ex(struct bContext *C, const Object *ob)
bool ED_operator_object_active_editable(struct bContext *C)
bool ED_operator_view3d_active(struct bContext *C)
bool ED_operator_objectmode(struct bContext *C)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
uiBlock * uiLayoutGetBlock(uiLayout *layout)
void uiLayoutSetOperatorContext(uiLayout *layout, int opcontext)
void uiItemIntO(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
struct uiLayout * UI_popup_menu_layout(uiPopupMenu *pup)
void uiItemS(uiLayout *layout)
void uiItemFullO_ptr(uiLayout *layout, struct wmOperatorType *ot, const char *name, int icon, struct IDProperty *properties, int context, int flag, struct PointerRNA *r_opptr)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
void UI_popup_menu_end(struct bContext *C, struct uiPopupMenu *pup)
void uiItemMenuF(uiLayout *layout, const char *name, int icon, uiMenuCreateFunc func, void *arg)
void UI_block_flag_enable(uiBlock *block, int flag)
uiPopupMenu * UI_popup_menu_begin(struct bContext *C, const char *title, int icon) ATTR_NONNULL()
int UI_icon_color_from_collection(const struct Collection *collection)
#define NS_EDITMODE_ARMATURE
#define NS_EDITMODE_MBALL
#define NS_EDITMODE_LATTICE
#define NS_EDITMODE_CURVE
void animviz_calc_motionpaths(Depsgraph *depsgraph, Main *bmain, Scene *scene, ListBase *targets, eAnimvizCalcRange range, bool restore)
void animviz_get_object_motionpaths(Object *ob, ListBase *targets)
Depsgraph * animviz_depsgraph_build(Main *bmain, Scene *scene, ViewLayer *view_layer, ListBase *targets)
void ED_armature_edit_free(struct bArmature *arm)
void ED_armature_from_edit(Main *bmain, bArmature *arm)
void ED_armature_to_edit(bArmature *arm)
const Depsgraph * depsgraph
void ED_curve_editnurb_make(Object *obedit)
void ED_curve_editnurb_free(Object *obedit)
void ED_curve_editnurb_load(Main *bmain, Object *obedit)
void ED_curve_editfont_make(Object *obedit)
void ED_curve_editfont_load(Object *obedit)
void ED_curve_editfont_free(Object *obedit)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
void ED_object_check_force_modifiers(Main *bmain, Scene *scene, Object *object)
bool ED_object_editmode_exit_ex(Main *bmain, Scene *scene, Object *obedit, int flag)
static int posemode_exec(bContext *C, wmOperator *op)
void OBJECT_OT_move_to_collection(wmOperatorType *ot)
void OBJECT_OT_mode_set_with_submode(wmOperatorType *ot)
void ED_objects_clear_paths(bContext *C, bool only_selected)
static int shade_smooth_exec(bContext *C, wmOperator *op)
void OBJECT_OT_hide_view_clear(wmOperatorType *ot)
Object * ED_object_active_context(const bContext *C)
bool ED_object_editmode_free_ex(Main *bmain, Object *obedit)
static int move_to_collection_menus_create(wmOperator *op, MoveToCollectionData *menu)
static bool shade_poll(bContext *C)
void OBJECT_OT_hide_collection(wmOperatorType *ot)
static void move_to_collection_menus_free(MoveToCollectionData **menu)
static int object_clear_paths_exec(bContext *C, wmOperator *op)
bool ED_object_editmode_exit_multi_ex(Main *bmain, Scene *scene, ViewLayer *view_layer, int flag)
static eAnimvizCalcRange object_path_convert_range(eObjectPathCalcRange range)
void OBJECT_OT_paths_update(wmOperatorType *ot)
bool ED_object_editmode_enter_ex(Main *bmain, Scene *scene, Object *ob, int flag)
void OBJECT_OT_paths_range_update(wmOperatorType *ot)
static bool object_update_paths_poll(bContext *C)
void OBJECT_OT_posemode_toggle(wmOperatorType *ot)
static ListBase selected_objects_get(bContext *C)
static int object_hide_view_clear_exec(bContext *C, wmOperator *op)
static int move_to_collection_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
void OBJECT_OT_link_to_collection(wmOperatorType *ot)
static const EnumPropertyItem * object_mode_set_itemsf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
static int object_mode_set_exec(bContext *C, wmOperator *op)
static int move_to_collection_exec(bContext *C, wmOperator *op)
static bool object_hide_poll(bContext *C)
static int forcefield_toggle_exec(bContext *C, wmOperator *UNUSED(op))
void OBJECT_OT_hide_view_set(wmOperatorType *ot)
Object ** ED_object_array_in_mode_or_selected(bContext *C, bool(*filter_fn)(Object *ob, void *user_data), void *filter_user_data, uint *r_objects_len)
void OBJECT_OT_paths_clear(wmOperatorType *ot)
void OBJECT_OT_forcefield_toggle(wmOperatorType *ot)
static int object_hide_view_set_exec(bContext *C, wmOperator *op)
static int object_clear_paths_invoke(bContext *C, wmOperator *op, const wmEvent *event)
bool ED_object_editmode_enter(bContext *C, int flag)
static int editmode_toggle_exec(bContext *C, wmOperator *op)
static bool object_mode_set_poll(bContext *C)
static MoveToCollectionData * master_collection_menu
void ED_collection_hide_menu_draw(const bContext *C, uiLayout *layout)
void OBJECT_OT_editmode_toggle(wmOperatorType *ot)
static int object_calculate_paths_exec(bContext *C, wmOperator *op)
bool ED_object_editmode_load(Main *bmain, Object *obedit)
void OBJECT_OT_shade_flat(wmOperatorType *ot)
static bool mesh_needs_keyindex(Main *bmain, const Mesh *me)
static bool ED_object_editmode_load_free_ex(Main *bmain, Object *obedit, const bool load_data, const bool free_data)
static int object_update_paths_exec(bContext *C, wmOperator *UNUSED(op))
static int object_update_paths_range_exec(bContext *C, wmOperator *UNUSED(op))
#define COLLECTION_INVALID_INDEX
void OBJECT_OT_shade_smooth(wmOperatorType *ot)
bool ED_object_editmode_exit(bContext *C, int flag)
static int object_hide_collection_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
Object * ED_object_context(const bContext *C)
static void move_to_collection_menus_items(struct uiLayout *layout, struct MoveToCollectionData *menu)
static bool editmode_toggle_poll(bContext *C)
static bool move_to_collection_poll(bContext *C)
void ED_objects_recalculate_paths(bContext *C, Scene *scene, eObjectPathCalcRange range)
static void move_to_collection_menu_create(bContext *C, uiLayout *layout, void *menu_v)
void OBJECT_OT_paths_calculate(wmOperatorType *ot)
static void move_to_collection_menus_free_recursive(MoveToCollectionData *menu)
void OBJECT_OT_mode_set(wmOperatorType *ot)
static int object_calculate_paths_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
bool ED_object_editmode_exit_multi(bContext *C, int flag)
static void object_clear_mpath(Object *ob)
static int object_hide_collection_exec(bContext *C, wmOperator *op)
bool ED_object_posemode_enter(bContext *C, Object *ob)
bool ED_object_posemode_enter_ex(struct Main *bmain, Object *ob)
bool ED_object_posemode_exit_ex(struct Main *bmain, Object *ob)
bool ED_object_posemode_exit(bContext *C, Object *ob)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
bool RNA_property_is_set(PointerRNA *ptr, PropertyRNA *prop)
void RNA_int_set(PointerRNA *ptr, const char *name, int value)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
int RNA_int_get(PointerRNA *ptr, const char *name)
int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_enum_get(PointerRNA *ptr, const char *name)
void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_enum_flag(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
void RNA_enum_item_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
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)
void RNA_def_enum_funcs(PropertyRNA *prop, EnumPropertyItemFunc itemfunc)
void RNA_enum_items_add_value(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item, int value)
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_object_mode_items[]
const EnumPropertyItem rna_enum_mesh_select_mode_items[]
struct EditFont * editfont
struct EditLatt * editlatt
ListBase layer_collections
unsigned short local_collections_bits
struct BMEditMesh * edit_mesh
struct wmOperatorType * ot
struct MoveToCollectionData * prev
struct MoveToCollectionData * next
struct Collection * collection
struct Collection * master_collection
struct ToolSettings * toolsettings
unsigned short local_collections_uuid
ListBase layer_collections
int(* invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
const char * translation_context
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
struct ReportList * reports
struct wmOperatorType * type
struct wmEvent * eventstate
__forceinline const avxb select(const avxb &m, const avxb &t, const avxb &f)
void WM_main_add_notifier(unsigned int type, void *reference)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
#define WM_msg_publish_rna_prop(mbus, id_, data_, type_, prop_)
void WM_operator_properties_create_ptr(PointerRNA *ptr, wmOperatorType *ot)
int WM_operator_props_dialog_popup(bContext *C, wmOperator *op, int width)