|
Blender V4.3
|
#include <cfloat>#include <climits>#include <cstddef>#include <cstdio>#include <cstdlib>#include <cstring>#include <fmt/format.h>#include "BLI_endian_switch.h"#include "BLI_listbase.h"#include "BLI_math_base.h"#include "BLI_set.hh"#include "BLI_string.h"#include "BLI_utildefines.h"#include "BKE_global.hh"#include "BKE_idprop.hh"#include "BKE_lib_id.hh"#include "CLG_log.h"#include "MEM_guardedalloc.h"#include "BLO_read_write.hh"#include "BLI_strict_flags.h"Go to the source code of this file.
Macros | |
| #define | IDP_ARRAY_REALLOC_LIMIT 200 |
Variables | |
| static CLG_LogRef | LOG = {"bke.idprop"} |
| static size_t | idp_size_table [] |
Array Functions (IDP Array API) | |
| #define | GETPROP(prop, i) &(IDP_IDPArray(prop)[i]) |
| IDProperty * | IDP_NewIDPArray (const char *name) |
| IDProperty * | IDP_CopyIDPArray (const IDProperty *array, const int flag) |
| static void | IDP_FreeIDPArray (IDProperty *prop, const bool do_id_user) |
| void | IDP_SetIndexArray (IDProperty *prop, int index, IDProperty *item) |
| IDProperty * | IDP_GetIndexArray (IDProperty *prop, int index) |
| void | IDP_AppendArray (IDProperty *prop, IDProperty *item) |
| void | IDP_ResizeIDPArray (IDProperty *prop, int newlen) |
| static void | idp_resize_group_array (IDProperty *prop, int newlen, void *newarr) |
| void | IDP_ResizeArray (IDProperty *prop, int newlen) |
| void | IDP_FreeArray (IDProperty *prop) |
| IDPropertyUIData * | IDP_ui_data_copy (const IDProperty *prop) |
| static IDProperty * | idp_generic_copy (const IDProperty *prop, const int) |
| static IDProperty * | IDP_CopyArray (const IDProperty *prop, const int flag) |
| #define GETPROP | ( | prop, | |
| i ) &(IDP_IDPArray(prop)[i]) |
Definition at line 67 of file idprop.cc.
Referenced by IDP_CopyIDPArray(), IDP_FreeIDPArray(), IDP_GetIndexArray(), IDP_ResizeIDPArray(), and IDP_SetIndexArray().
| #define IDP_ARRAY_REALLOC_LIMIT 200 |
if the new is 'IDP_ARRAY_REALLOC_LIMIT' items less, than IDProperty.totallen, reallocate anyway.
Definition at line 43 of file idprop.cc.
Referenced by IDP_ResizeArray(), and IDP_ResizeIDPArray().
|
static |
Definition at line 1748 of file idprop.cc.
References IDPropertyUIData::description, and ui_data_alloc().
Referenced by IDP_TryConvertUIData().
| bool IDP_AddToGroup | ( | IDProperty * | group, |
| IDProperty * | prop ) |
This function has a sanity check to make sure ID properties with the same name don't get added to the group.
The sanity check just means the property is not added to the group if another property exists with the same name; the client code using ID properties then needs to detect this (the function that adds new properties to groups, IDP_AddToGroup, returns false if a property can't be added to the group, and true if it can) and free the property.
Definition at line 722 of file idprop.cc.
References BLI_addtail(), BLI_assert, IDP_GetPropertyFromGroup(), IDP_GROUP, and IDProperty::name.
Referenced by bc_set_IDPropertyMatrix(), BKE_keyconfig_pref_set_select_mouse(), camera_write_cycles_compatibility_data_create(), blender::bke::create_auto_smooth_modifier(), blender::io::usd::ensure_usd_source_path_prop(), blender::bke::idprop::IDPGroupSerializer::entry_to_idprop(), IMB_metadata_set_field(), blender::bke::node_update_asset_metadata(), operator_last_properties_init_impl(), RNA_property_boolean_set(), RNA_property_boolean_set_array(), RNA_property_collection_add(), RNA_property_enum_set(), RNA_property_float_set(), RNA_property_float_set_array(), RNA_property_int_set(), RNA_property_int_set_array(), RNA_property_pointer_add(), RNA_property_string_set(), RNA_property_string_set_bytes(), blender::io::usd::set_bool_prop(), blender::io::usd::set_double_prop(), blender::io::usd::set_float_prop(), blender::io::usd::set_int_prop(), blender::io::usd::set_string_prop(), blender::bke::tests::IDSubDataTestData::setup(), shortcut_get_operator_property(), shortcut_property_from_rna(), texture_paint_image_from_view_exec(), ui_but_event_operator_string_from_menu(), ui_but_event_operator_string_from_panel(), ui_but_event_property_operator_string(), blender::nodes::update_input_properties_from_node_tree(), blender::nodes::update_output_properties_from_node_tree(), version_cycles_property_int_set(), and version_geometry_nodes_add_attribute_input_settings().
| void IDP_AppendArray | ( | IDProperty * | prop, |
| IDProperty * | item ) |
Definition at line 140 of file idprop.cc.
References BLI_assert, IDP_IDPARRAY, IDP_ResizeIDPArray(), IDP_SetIndexArray(), IDProperty::len, and IDProperty::type.
Referenced by BPy_IDProperty_Map_ValidateAndCreate(), and RNA_property_collection_add().
| void IDP_AssignID | ( | IDProperty * | prop, |
| ID * | id, | ||
| const int | flag ) |
Definition at line 538 of file idprop.cc.
References BLI_assert, IDProperty::data, flag, ID_FLAG_EMBEDDED_DATA, id_us_min(), id_us_plus(), IDP_ID, IDP_Id, LIB_ID_CREATE_NO_USER_REFCOUNT, IDPropertyData::pointer, and IDProperty::type.
Referenced by idp_from_DatablockPointer(), and RNA_property_pointer_set().
| void IDP_AssignString | ( | IDProperty * | prop, |
| const char * | st ) |
Definition at line 431 of file idprop.cc.
References IDP_AssignStringMaxSize().
Referenced by blender::attribute_search_exec_fn(), collection_exporter_copy(), IMB_metadata_set_field(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_string(), and version_mesh_crease_generic().
| void IDP_AssignStringMaxSize | ( | IDProperty * | prop, |
| const char * | st, | ||
| size_t | st_maxncpy ) |
| st | The string to assign. Doesn't need to be null terminated when clamped by maxncpy. |
| maxncpy | The maximum size of the string (including the \0 terminator). When zero, this is the equivalent of passing in strlen(st) + 1 |
Definition at line 413 of file idprop.cc.
References BLI_assert, BLI_strnlen(), IDProperty::data, IDP_ResizeArray(), IDP_STRING, IDP_String, IDP_STRING_SUB_BYTE, int, IDPropertyData::pointer, IDProperty::subtype, and IDProperty::type.
Referenced by IDP_AssignString(), idp_from_PyBytes(), idp_from_PyUnicode(), RNA_property_string_set(), blender::nodes::update_input_properties_from_node_tree(), and blender::nodes::update_output_properties_from_node_tree().
| void IDP_BlendReadData_impl | ( | BlendDataReader * | reader, |
| IDProperty ** | prop, | ||
| const char * | caller_func_id ) |
Definition at line 1649 of file idprop.cc.
References IDP_DirectLinkGroup(), IDP_GROUP, and printf.
| void IDP_BlendWrite | ( | BlendWriter * | writer, |
| const IDProperty * | prop ) |
Definition at line 1437 of file idprop.cc.
References BLO_write_struct, and IDP_WriteProperty_OnlyData().
Referenced by BKE_asset_metadata_write(), BKE_collection_blend_write_nolib(), BKE_constraint_blend_write(), BKE_id_blend_write(), BKE_pose_blend_write(), BKE_screen_view3d_shading_blend_write(), BKE_view_layer_blend_write(), blender::blend_write(), IDP_WriteArray(), IDP_WriteGroup(), blender::bke::node_interface::item_types::item_write_data(), blender::bke::node_tree_blend_write(), scene_blend_write(), seq_write_data_cb(), workspace_blend_write(), write_bone(), write_bone_collection(), write_keymapitem(), blender::bke::write_node_socket(), blender::bke::forward_compat::write_node_socket_interface(), write_uilist(), and write_userdef().
| void IDP_ClearProperty | ( | IDProperty * | prop | ) |
Definition at line 1233 of file idprop.cc.
References IDProperty::data, IDP_FreePropertyContent(), IDProperty::len, IDPropertyData::pointer, and IDProperty::totallen.
Referenced by blo_update_defaults_scene(), BPy_IDGroup_clear(), IDP_Reset(), WM_gizmo_properties_clear(), and WM_operator_properties_clear().
| double IDP_coerce_to_double_or_zero | ( | const IDProperty * | prop | ) |
Return a double from an IDProperty with a compatible type. This should be avoided, but it's sometimes necessary, for example when legacy files have incorrect property types.
Definition at line 811 of file idprop.cc.
References double(), IDP_Bool, IDP_BOOLEAN, IDP_DOUBLE, IDP_Double, IDP_FLOAT, IDP_Float, IDP_INT, IDP_Int, and IDProperty::type.
Referenced by version_idproperty_move_data_float().
| float IDP_coerce_to_float_or_zero | ( | const IDProperty * | prop | ) |
Return a float from an IDProperty with a compatible type. This should be avoided, but it's sometimes necessary, for example when legacy files have incorrect property types.
Definition at line 827 of file idprop.cc.
References float, IDP_Bool, IDP_BOOLEAN, IDP_DOUBLE, IDP_Double, IDP_FLOAT, IDP_Float, IDP_INT, IDP_Int, and IDProperty::type.
Referenced by version_idproperty_move_data_float().
| int IDP_coerce_to_int_or_zero | ( | const IDProperty * | prop | ) |
Return an int from an IDProperty with a compatible type. This should be avoided, but it's sometimes necessary, for example when legacy files have incorrect property types.
Definition at line 795 of file idprop.cc.
References IDP_Bool, IDP_BOOLEAN, IDP_DOUBLE, IDP_Double, IDP_FLOAT, IDP_Float, IDP_INT, IDP_Int, int, and IDProperty::type.
Referenced by version_idproperty_move_data_float(), and version_idproperty_move_data_int().
|
static |
Definition at line 328 of file idprop.cc.
References IDProperty::data, flag, IDP_CopyProperty_ex(), idp_generic_copy(), IDP_GROUP, IDProperty::len, MEM_dupallocN, IDPropertyData::pointer, IDProperty::subtype, IDProperty::totallen, and IDProperty::type.
Referenced by IDP_CopyProperty_ex().
|
static |
Checks if a property with the same name as prop exists, and if so replaces it.
Definition at line 564 of file idprop.cc.
References BLI_addtail(), BLI_assert, IDProperty::data, flag, IDPropertyData::group, IDP_CopyProperty_ex(), idp_generic_copy(), IDP_GROUP, IDProperty::len, LISTBASE_FOREACH, IDProperty::subtype, and IDProperty::type.
Referenced by IDP_CopyProperty_ex().
|
static |
Definition at line 525 of file idprop.cc.
References BLI_assert, IDProperty::data, flag, id_us_plus(), idp_generic_copy(), IDP_ID, IDP_Id, LIB_ID_CREATE_NO_USER_REFCOUNT, IDPropertyData::pointer, and IDProperty::type.
Referenced by IDP_CopyProperty_ex().
| IDProperty * IDP_CopyIDPArray | ( | const IDProperty * | array, |
| const int | flag ) |
Definition at line 80 of file idprop.cc.
References BLI_assert, array< T, alignment >::data(), IDProperty::data, flag, GETPROP, IDP_CopyProperty_ex(), IDP_IDPARRAY, IDProperty::len, MEM_dupallocN, MEM_freeN(), MEM_mallocN, and IDPropertyData::pointer.
Referenced by IDP_CopyProperty_ex().
| IDProperty * IDP_CopyProperty | ( | const IDProperty * | prop | ) |
Definition at line 861 of file idprop.cc.
References IDP_CopyProperty_ex().
Referenced by BKE_pose_channel_copy_data(), BKE_scene_duplicate(), camera_write_cycles_compatibility_data_create(), collection_exporter_copy(), blender::ed::object::collection_exporter_export(), blender::bke::forward_compat::construct_interface_as_legacy_sockets(), copy_pchan(), ED_armature_from_edit(), ed_marker_duplicate_apply(), ED_screen_user_menu_item_add_operator(), fcurves_to_pchan_links_get(), IDP_CopyPropertyContent(), IDP_ReplaceGroupInGroup(), IDP_SyncGroupTypes(), IDP_SyncGroupValues(), IMB_metadata_copy(), blender::bke::greasepencil::convert::legacy_gpencil_to_grease_pencil(), make_boneList_recursive(), operator_last_properties_init_impl(), pose_backup_create(), pose_bone_do_paste(), pycon_copy(), scene_copy_data(), screen_user_menu_draw(), shortcut_get_operator_property(), uiDefSearchButO_ptr(), uiItemsFullEnumO_items(), version_make_socket_stub(), view3d_duplicate(), wm_gizmo_create(), wm_keymap_item_copy(), wm_keymap_item_find(), wm_keymap_item_find_in_keymap(), WM_keymap_item_restore_to_default(), wm_operator_close_file_dialog_if_needed(), wm_operator_create(), WM_operator_last_properties_store(), WM_operator_name_call_ptr_with_depends_on_cursor(), wm_save_file_overwrite_dialog(), WM_toolsystem_ref_properties_init_for_keymap(), and wm_xr_actionmap_item_copy().
| IDProperty * IDP_CopyProperty_ex | ( | const IDProperty * | prop, |
| const int | flag ) |
Definition at line 843 of file idprop.cc.
References flag, IDP_ARRAY, IDP_CopyArray(), IDP_CopyGroup(), IDP_CopyID(), IDP_CopyIDPArray(), IDP_CopyString(), idp_generic_copy(), IDP_GROUP, IDP_ID, IDP_IDPARRAY, IDP_STRING, and IDProperty::type.
Referenced by blender::animrig::ANIM_bonecoll_array_copy_no_membership(), BKE_libblock_copy_in_lib(), BKE_pose_copy_data_ex(), BKE_view_layer_copy_data(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), copy_and_update_ownership(), copy_bone_collection(), copy_bonechildren(), blender::copy_data(), ED_armature_ebone_listbase_copy(), IDP_CopyArray(), IDP_CopyGroup(), IDP_CopyIDPArray(), IDP_CopyProperty(), IDP_MergeGroup_ex(), blender::bke::node_interface::item_types::item_copy(), join_armature_remap_collection(), blender::bke::node_copy_with_mapping(), blender::bke::node_socket_copy(), scene_copy_markers(), seq_dupli(), and version_copy_socket().
| void IDP_CopyPropertyContent | ( | IDProperty * | dst, |
| const IDProperty * | src ) |
Copy content from source IDProperty into destination one, freeing destination property's content first.
Definition at line 866 of file idprop.cc.
References IDP_CopyProperty(), IDP_FreeProperty(), IDProperty::next, and IDProperty::prev.
Referenced by blender::nodes::update_input_properties_from_node_tree(), and blender::nodes::update_output_properties_from_node_tree().
|
static |
Definition at line 398 of file idprop.cc.
References BLI_assert, IDProperty::data, flag, idp_generic_copy(), IDP_STRING, IDProperty::len, MEM_dupallocN, IDPropertyData::pointer, IDProperty::subtype, IDProperty::totallen, and IDProperty::type.
Referenced by IDP_CopyProperty_ex().
|
static |
Definition at line 1545 of file idprop.cc.
References BLI_assert_unreachable, BLO_read_double_array(), BLO_read_float_array(), BLO_read_int32_array(), BLO_read_int8_array(), BLO_read_pointer_array(), IDProperty::data, IDP_ARRAY, IDP_BOOLEAN, IDP_DirectLinkProperty(), IDP_DOUBLE, IDP_FLOAT, IDP_GROUP, IDP_ID, IDP_IDPARRAY, IDP_INT, IDP_STRING, IDProperty::len, IDPropertyData::pointer, IDProperty::subtype, and IDProperty::totallen.
Referenced by IDP_DirectLinkProperty().
|
static |
Definition at line 1587 of file idprop.cc.
References BLO_read_struct_list, IDProperty::data, IDPropertyData::group, IDP_DirectLinkProperty(), and LISTBASE_FOREACH.
Referenced by IDP_BlendReadData_impl(), and IDP_DirectLinkProperty().
|
static |
Definition at line 1525 of file idprop.cc.
References BLO_read_struct_array, IDProperty::data, IDP_DirectLinkProperty(), IDProperty::len, IDPropertyData::pointer, and IDProperty::totallen.
Referenced by IDP_DirectLinkProperty().
|
static |
Definition at line 1599 of file idprop.cc.
References BLI_endian_switch_int32(), BLI_endian_switch_int64(), BLO_read_requires_endian_switch(), IDProperty::data, IDP_ARRAY, IDP_BOOLEAN, IDP_DirectLinkArray(), IDP_DirectLinkGroup(), IDP_DirectLinkIDPArray(), IDP_DirectLinkString(), IDP_DOUBLE, IDP_FLOAT, IDP_GROUP, IDP_ID, IDP_IDPARRAY, IDP_INT, IDP_Int, IDP_STRING, printf, read_ui_data(), IDProperty::subtype, IDProperty::type, IDProperty::ui_data, IDPropertyData::val, and IDPropertyData::val2.
Referenced by IDP_DirectLinkArray(), IDP_DirectLinkGroup(), and IDP_DirectLinkIDPArray().
|
static |
Definition at line 1580 of file idprop.cc.
References BLO_read_char_array(), IDProperty::data, IDProperty::len, IDPropertyData::pointer, and IDProperty::totallen.
Referenced by IDP_DirectLinkProperty().
| IDProperty * IDP_EnsureProperties | ( | ID * | id | ) |
Ensure the Group property that contains the id properties for ID id exists & return it.
Definition at line 880 of file idprop.cc.
References IDP_GROUP, MEM_callocN, and IDProperty::type.
Referenced by camera_write_cycles_compatibility_data_create(), blender::io::usd::ensure_usd_source_path_prop(), blender::io::usd::get_usd_source_path(), blender::io::usd::set_id_props_from_prim(), and texture_paint_image_from_view_exec().
| const IDPropertyUIDataEnumItem * IDP_EnumItemFind | ( | const IDProperty * | prop | ) |
Definition at line 463 of file idprop.cc.
References BLI_assert, IDPropertyUIDataInt::enum_items, IDPropertyUIDataInt::enum_items_num, IDP_INT, IDP_Int, IDProperty::type, and IDProperty::ui_data.
Referenced by idp_repr_fn_recursive().
| bool IDP_EnumItemsValidate | ( | const IDPropertyUIDataEnumItem * | items, |
| const int | items_num, | ||
| void(* | error_fn )(const char *) ) |
Definition at line 480 of file idprop.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), IDPropertyUIDataEnumItem::identifier, is_valid, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), and IDPropertyUIDataEnumItem::value.
Referenced by blender::nodes::id_property_int_update_enum_items(), and idprop_ui_data_update_int().
| bool IDP_EqualsProperties | ( | const IDProperty * | prop1, |
| const IDProperty * | prop2 ) |
Definition at line 984 of file idprop.cc.
References IDP_EqualsProperties_ex().
Referenced by ED_screen_user_menu_item_find_operator(), wm_xr_operator_test_event(), and wm_xr_session_modal_action_test().
| bool IDP_EqualsProperties_ex | ( | const IDProperty * | prop1, |
| const IDProperty * | prop2, | ||
| bool | is_strict ) |
| is_strict | When false treat missing items as a match. |
Definition at line 893 of file idprop.cc.
References BLI_assert_unreachable, IDProperty::data, fabsf, false, IDPropertyData::group, IDP_ARRAY, IDP_Array, IDP_Bool, IDP_BOOLEAN, IDP_DOUBLE, IDP_Double, IDP_EqualsProperties_ex(), IDP_FLOAT, IDP_Float, IDP_GetPropertyFromGroup(), IDP_GROUP, IDP_ID, IDP_Id, IDP_IDPARRAY, IDP_IDPArray, IDP_INT, IDP_Int, IDP_print(), idp_size_table, IDP_STRING, IDP_String, IDProperty::len, LISTBASE_FOREACH, max_ff(), IDProperty::name, printf, STREQLEN, IDProperty::subtype, and IDProperty::type.
Referenced by IDP_EqualsProperties(), IDP_EqualsProperties_ex(), ui_key_event_property_match(), and wm_keymap_item_find_in_keymap().
| void IDP_foreach_property | ( | IDProperty * | id_property_root, |
| const int | type_filter, | ||
| const blender::FunctionRef< void(IDProperty *id_property)> | callback ) |
Definition at line 1251 of file idprop.cc.
References callback, IDProperty::data, IDPropertyData::group, IDP_Array, IDP_foreach_property(), IDP_GROUP, IDP_IDPARRAY, IDProperty::len, LISTBASE_FOREACH, and IDProperty::type.
Referenced by IDP_foreach_property().
| void IDP_FreeArray | ( | IDProperty * | prop | ) |
Definition at line 252 of file idprop.cc.
References IDProperty::data, idp_resize_group_array(), MEM_freeN(), and IDPropertyData::pointer.
Referenced by IDP_FreePropertyContent_ex().
| void IDP_FreeFromGroup | ( | IDProperty * | group, |
| IDProperty * | prop ) |
Removes the property from the group and frees it.
Definition at line 757 of file idprop.cc.
References IDP_FreeProperty(), and IDP_RemoveFromGroup().
Referenced by BPy_IDGroup_pop(), BPy_Wrap_SetMapItem(), IDP_SyncGroupTypes(), IMB_metadata_set_field(), pyrna_struct_pop(), rna_idproperty_free(), RNA_property_pointer_remove(), rna_property_rna_or_id_get(), RNA_struct_idprops_unset(), and version_idproperty_ui_data().
|
static |
Definition at line 779 of file idprop.cc.
References BLI_assert, BLI_freelistN(), IDProperty::data, IDPropertyData::group, IDP_FreePropertyContent_ex(), IDP_GROUP, LISTBASE_FOREACH, and IDProperty::type.
Referenced by IDP_FreePropertyContent_ex().
|
static |
Definition at line 104 of file idprop.cc.
References BLI_assert, IDProperty::data, GETPROP, IDP_FreePropertyContent_ex(), IDP_IDPARRAY, IDProperty::len, MEM_freeN(), IDPropertyData::pointer, and IDProperty::type.
Referenced by IDP_FreePropertyContent_ex().
| void IDP_FreeProperty | ( | IDProperty * | prop | ) |
Definition at line 1227 of file idprop.cc.
References IDP_FreePropertyContent(), and MEM_freeN().
Referenced by BKE_addon_free(), BKE_area_region_free(), BKE_blender_user_menu_item_free(), BKE_collection_exporter_free_data(), BKE_pose_backup_free(), BKE_pose_channel_copy_data(), BKE_workspace_tool_remove(), blo_do_versions_280(), blo_do_versions_400(), bone_free(), camera_write_cycles_compatibility_data_clear(), blender::ed::object::collection_exporter_export(), do_versions_after_linking_280(), ED_armature_edit_free(), IDP_CopyPropertyContent(), IDP_FreeFromGroup(), idp_from_PyMapping(), idp_from_PySequence_Fast(), IDP_ReplaceGroupInGroup(), IDP_ReplaceInGroup_ex(), idp_resize_group_array(), IDP_SyncGroupTypes(), IDP_SyncGroupValues(), IMB_metadata_free(), keymap_item_free(), keymap_item_free(), blender::bke::idprop::IDPropertyDeleter::operator()(), operator_last_properties_init_impl(), operatortype_ghash_free_cb(), pose_clear_user_transforms_exec(), poseAnim_mapping_free(), pycon_free(), pyrna_struct_dealloc(), pyrna_struct_id_properties_clear(), scene_free_data(), shortcut_free_operator_property(), blender::bke::idprop::tests::TEST(), blender::bke::idprop::tests::TEST(), blender::bke::idprop::tests::TEST(), blender::bke::idprop::tests::test_convert_idprop_from_value(), ui_but_event_operator_string_from_menu(), ui_but_event_operator_string_from_panel(), ui_but_event_property_operator_string(), ui_handler_wait_for_input_remove(), uiItemsFullEnumO_items(), blender::update_id_properties_from_node_group(), userdef_free_keyconfig_prefs(), view3d_free(), wm_drop_item_free_data(), wm_free_operator_properties_callback(), WM_gizmo_properties_free(), wm_keymap_item_find(), wm_keymap_item_find_in_keymap(), wm_keymap_item_free_data(), WM_keymap_item_properties_reset(), WM_keymap_item_restore_to_default(), WM_keymap_remove_item(), WM_operator_free(), WM_operator_last_properties_store(), WM_operator_properties_free(), WM_operatortype_last_properties_clear_all(), WM_operatortype_remove_ptr(), and wm_xr_exit().
| void IDP_FreeProperty_ex | ( | IDProperty * | prop, |
| const bool | do_id_user ) |
Definition at line 1221 of file idprop.cc.
References IDP_FreePropertyContent_ex(), and MEM_freeN().
Referenced by blender::animrig::ANIM_bonecoll_array_free(), ANIM_bonecoll_free(), BKE_armature_bonelist_free(), BKE_armature_editbonelist_free(), BKE_pose_channel_free_ex(), BKE_view_layer_free_ex(), ED_armature_ebone_listbase_free(), blender::free_data(), blender::bke::forward_compat::legacy_socket_interface_free(), and blender::ed::geometry::run_node_group_exec().
| void IDP_FreePropertyContent | ( | IDProperty * | prop | ) |
Definition at line 1216 of file idprop.cc.
References IDP_FreePropertyContent_ex().
Referenced by ed_marker_delete_exec(), IDP_ClearProperty(), IDP_FreeProperty(), IDP_ResizeIDPArray(), and IDP_SetIndexArray().
| void IDP_FreePropertyContent_ex | ( | IDProperty * | prop, |
| bool | do_id_user ) |
Definition at line 1189 of file idprop.cc.
References id_us_min(), IDP_ARRAY, IDP_FreeArray(), IDP_FreeGroup(), IDP_FreeIDPArray(), IDP_FreeString(), IDP_GROUP, IDP_ID, IDP_Id, IDP_IDPARRAY, IDP_STRING, IDP_ui_data_free(), IDProperty::type, and IDProperty::ui_data.
Referenced by BKE_libblock_free_data(), IDP_FreeGroup(), IDP_FreeIDPArray(), IDP_FreeProperty_ex(), IDP_FreePropertyContent(), blender::bke::node_interface::item_types::item_free(), blender::bke::node_free_node(), blender::bke::node_socket_free(), preview_id_copy_free(), scene_free_markers(), and seq_sequence_free_ex().
| void IDP_FreeString | ( | IDProperty * | prop | ) |
Definition at line 438 of file idprop.cc.
References BLI_assert, IDProperty::data, IDP_STRING, MEM_freeN(), IDPropertyData::pointer, and IDProperty::type.
Referenced by IDP_FreePropertyContent_ex().
|
static |
Definition at line 311 of file idprop.cc.
References IDProperty::data, IDProperty::flag, IDP_ui_data_copy(), MEM_callocN, IDProperty::name, STRNCPY, IDProperty::type, IDProperty::ui_data, IDPropertyData::val, and IDPropertyData::val2.
Referenced by IDP_CopyArray(), IDP_CopyGroup(), IDP_CopyID(), IDP_CopyProperty_ex(), and IDP_CopyString().
| IDProperty * IDP_GetIndexArray | ( | IDProperty * | prop, |
| int | index ) |
Definition at line 133 of file idprop.cc.
References BLI_assert, GETPROP, IDP_IDPARRAY, and IDProperty::type.
Referenced by RNA_property_collection_add().
| IDProperty * IDP_GetProperties | ( | ID * | id | ) |
Get the Group property that contains the id properties for ID id.
Definition at line 875 of file idprop.cc.
Referenced by blo_update_defaults_scene(), camera_write_cycles_compatibility_data_create(), do_versions_idproperty_ui_data(), preview_id_copy_free(), proj_paint_state_viewport_init(), texture_paint_camera_project_exec(), version_bonelayers_to_bonecollections(), version_cycles_properties_from_ID(), and version_cycles_visibility_properties_from_ID().
| IDProperty * IDP_GetPropertyFromGroup | ( | const IDProperty * | prop, |
| const char * | name ) |
Definition at line 763 of file idprop.cc.
References BLI_assert, BLI_findstring(), IDProperty::data, IDPropertyData::group, IDP_GROUP, offsetof, and IDProperty::type.
Referenced by blender::attribute_search_exec_fn(), bc_get_IDProperty(), BKE_asset_metadata_idprop_find(), BKE_keyconfig_pref_set_select_mouse(), blo_do_versions_280(), BPy_IDGroup_Contains(), BPy_IDGroup_get(), BPy_IDGroup_Map_GetItem(), BPy_IDGroup_pop(), BPy_IDProperty_Map_ValidateAndCreate(), BPy_Wrap_SetMapItem(), blender::check_property_socket_sync(), collection_exporter_copy(), blender::draw_property_for_socket(), blender::ed::geometry::draw_property_for_socket(), blender::io::usd::ensure_usd_source_path_prop(), blender::nodes::find_output_attributes_to_store(), find_rna_property_rgba(), blender::ed::object::geometry_nodes_input_attribute_toggle_exec(), blender::io::usd::get_usd_source_path(), IDP_AddToGroup(), IDP_EqualsProperties_ex(), IDP_GetPropertyTypeFromGroup(), IDP_InsertToGroup(), IDP_MergeGroup_ex(), IDP_ReplaceInGroup(), IDP_ReplaceInGroup_ex(), IDP_SyncGroupTypes(), idprops_ensure_named_group(), IMB_metadata_get_field(), IMB_metadata_set_field(), blender::nodes::initialize_group_input(), blender::nodes::input_attribute_name_get(), keymap_item_has_invalid_wm_context_data_path(), operator_last_properties_init_impl(), proj_paint_state_viewport_init(), pyrna_struct_contains(), pyrna_struct_get(), pyrna_struct_id_properties_ui(), pyrna_struct_pop(), pyrna_struct_subscript(), rna_idproperty_find(), rna_idproperty_free(), rna_path_parse(), RNA_struct_idprops_unset(), blender::ed::object::shade_auto_smooth_exec(), blender::nodes::update_input_properties_from_node_tree(), blender::nodes::update_output_properties_from_node_tree(), version_bonelayers_to_bonecollections(), version_idproperty_move_data_float(), version_idproperty_move_data_int(), version_idproperty_move_data_string(), version_idproperty_ui_data(), WM_operator_last_properties_init(), WM_toolsystem_ref_properties_get_ex(), WM_toolsystem_ref_properties_get_idprops(), and WM_toolsystem_ref_properties_init_for_keymap().
| IDProperty * IDP_GetPropertyTypeFromGroup | ( | const IDProperty * | prop, |
| const char * | name, | ||
| char | type ) |
Same as IDP_GetPropertyFromGroup but ensure the type matches.
Definition at line 769 of file idprop.cc.
References IDP_GetPropertyFromGroup(), and IDProperty::type.
Referenced by camera_write_cycles_compatibility_data_create(), texture_paint_camera_project_exec(), version_cycles_properties_from_ID(), version_cycles_properties_from_render_layer(), version_cycles_properties_from_view_layer(), version_cycles_property_float(), version_cycles_property_int(), version_cycles_property_int_set(), and version_cycles_visibility_properties_from_ID().
| bool IDP_InsertToGroup | ( | IDProperty * | group, |
| IDProperty * | previous, | ||
| IDProperty * | pnew ) |
Definition at line 735 of file idprop.cc.
References BLI_assert, BLI_insertlinkafter(), IDP_GetPropertyFromGroup(), IDP_GROUP, and IDProperty::name.
|
static |
Definition at line 452 of file idprop.cc.
References IDPropertyUIDataEnumItem::description, IDPropertyUIDataInt::enum_items, IDPropertyUIDataInt::enum_items_num, IDPropertyUIDataEnumItem::identifier, MEM_SAFE_FREE, and IDPropertyUIDataEnumItem::name.
Referenced by IDP_ui_data_free_unique_contents(), and ui_data_free().
| void IDP_MergeGroup | ( | IDProperty * | dest, |
| const IDProperty * | src, | ||
| bool | do_overwrite ) |
If a property is missing in dest, add it. Do it recursively.
Definition at line 717 of file idprop.cc.
References IDP_MergeGroup_ex().
Referenced by BPy_IDGroup_update(), gizmo_tweak_start_and_finish(), IDP_Reset(), operator_last_properties_init_impl(), WM_gizmo_operator_invoke(), and WM_toolsystem_ref_properties_init_for_keymap().
| void IDP_MergeGroup_ex | ( | IDProperty * | dest, |
| const IDProperty * | src, | ||
| bool | do_overwrite, | ||
| int | flag ) |
If a property is missing in dest, add it. Do it recursively.
Definition at line 676 of file idprop.cc.
References BLI_addtail(), BLI_assert, copy(), IDProperty::data, flag, IDPropertyData::group, IDP_CopyProperty_ex(), IDP_GetPropertyFromGroup(), IDP_GROUP, IDP_MergeGroup_ex(), IDP_ReplaceInGroup(), IDProperty::len, LISTBASE_FOREACH, IDProperty::name, and IDProperty::type.
Referenced by IDP_MergeGroup(), and IDP_MergeGroup_ex().
| IDProperty * IDP_New | ( | char | type, |
| const IDPropertyTemplate * | val, | ||
| const char * | name, | ||
| eIDPropertyFlag | flags = {} ) |
Allocate a new IDProperty.
This function takes three arguments: the ID property type, a union which defines its initial value, and a name.
The union is simple to use; see the top of BKE_idprop.h for its definition. An example of using this function:
Note that you MUST either attach the id property to an id property group with IDP_AddToGroup or MEM_freeN the property, doing anything else might result in a memory leak.
Definition at line 989 of file idprop.cc.
References IDPropertyTemplate::array, BLI_assert, CLOG_ERROR, IDPropertyTemplate::d, IDProperty::data, DEFAULT_ALLOC_FOR_NULL_STRINGS, ELEM, IDPropertyTemplate::f, IDProperty::flag, IDPropertyTemplate::i, IDPropertyTemplate::id, id_us_plus(), IDP_ARRAY, IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_GROUP, IDP_ID, IDP_Id, IDP_INT, idp_size_table, IDP_STRING, IDP_String, IDP_STRING_SUB_BYTE, IDP_STRING_SUB_UTF8, IDProperty::len, IDPropertyTemplate::len, LOG, MEM_callocN, MEM_mallocN, IDProperty::name, IDPropertyData::pointer, IDPropertyTemplate::str, IDPropertyTemplate::string, STRNCPY, IDProperty::subtype, IDPropertyTemplate::subtype, IDProperty::totallen, IDProperty::type, IDPropertyTemplate::type, and IDPropertyData::val.
Referenced by blender::bke::idprop::array_create(), blender::ed::object::collection_exporter_add_exec(), blender::bke::idprop::create(), blender::bke::idprop::create(), blender::bke::idprop::create(), blender::bke::idprop::create(), blender::bke::idprop::create_bool(), blender::bke::idprop::create_group(), blender::io::usd::ensure_usd_source_path_prop(), idp_from_PyBytes(), idp_from_PySequence_Buffer(), idp_from_PySequence_Fast(), idp_from_PyUnicode(), RNA_property_boolean_set_array(), RNA_property_enum_set(), RNA_property_string_set_bytes(), blender::io::usd::set_bool_prop(), blender::io::usd::set_double_prop(), blender::io::usd::set_float_prop(), blender::io::usd::set_int_prop(), and blender::io::usd::set_string_prop().
| IDProperty * IDP_NewIDPArray | ( | const char * | name | ) |
Definition at line 69 of file idprop.cc.
References IDP_IDPARRAY, IDProperty::len, MEM_callocN, IDProperty::name, STRNCPY, and IDProperty::type.
Referenced by idp_from_PySequence_Fast(), and RNA_property_collection_add().
| IDProperty * IDP_NewString | ( | const char * | st, |
| const char * | name, | ||
| const eIDPropertyFlag | flags ) |
Definition at line 393 of file idprop.cc.
References IDP_NewStringMaxSize().
Referenced by blender::bke::idprop::create().
| IDProperty * IDP_NewStringMaxSize | ( | const char * | st, |
| size_t | st_maxncpy, | ||
| const char * | name, | ||
| eIDPropertyFlag | flags = {} ) |
| st | The string to assign. Doesn't need to be null terminated when clamped by maxncpy. |
| name | The property name. |
| maxncpy | The maximum size of the string (including the \0 terminator). When zero, this is the equivalent of passing in strlen(st) + 1 |
Definition at line 357 of file idprop.cc.
References BLI_assert, BLI_strnlen(), IDProperty::data, DEFAULT_ALLOC_FOR_NULL_STRINGS, IDProperty::flag, IDP_STRING, IDP_String, int, IDProperty::len, MEM_callocN, MEM_mallocN, IDProperty::name, IDPropertyData::pointer, STRNCPY, IDProperty::totallen, and IDProperty::type.
Referenced by IDP_NewString(), RNA_property_string_set(), ui_but_event_operator_string_from_menu(), ui_but_event_operator_string_from_panel(), and blender::nodes::update_output_properties_from_node_tree().
| void IDP_RemoveFromGroup | ( | IDProperty * | group, |
| IDProperty * | prop ) |
To free the property, you have to do: #IDP_FreeProperty(prop);
Definition at line 748 of file idprop.cc.
References BLI_assert, BLI_findindex(), BLI_remlink(), and IDP_GROUP.
Referenced by IDP_FreeFromGroup().
| void IDP_ReplaceGroupInGroup | ( | IDProperty * | dest, |
| const IDProperty * | src ) |
Replaces all properties with the same name in a destination group from a source group.
Definition at line 630 of file idprop.cc.
References BLI_addtail(), BLI_assert, BLI_insertlinkreplace(), copy(), IDProperty::data, ListBase::first, IDPropertyData::group, IDP_CopyProperty(), IDP_FreeProperty(), IDP_GROUP, IDProperty::len, LISTBASE_FOREACH, IDProperty::name, IDProperty::next, STREQ, and IDProperty::type.
Referenced by wm_operator_create().
| void IDP_ReplaceInGroup | ( | IDProperty * | group, |
| IDProperty * | prop ) |
Definition at line 669 of file idprop.cc.
References IDP_GetPropertyFromGroup(), IDP_ReplaceInGroup_ex(), and IDProperty::name.
Referenced by BKE_asset_metadata_idprop_ensure(), IDP_MergeGroup_ex(), RNA_property_pointer_set(), ui_but_event_operator_string_from_panel(), and WM_operator_last_properties_store().
| void IDP_ReplaceInGroup_ex | ( | IDProperty * | group, |
| IDProperty * | prop, | ||
| IDProperty * | prop_exist ) |
Checks if a property with the same name as prop exists, and if so replaces it. Use this to preserve order!
Definition at line 654 of file idprop.cc.
References BLI_addtail(), BLI_assert, BLI_insertlinkreplace(), IDP_FreeProperty(), IDP_GetPropertyFromGroup(), IDP_GROUP, and IDProperty::name.
Referenced by BPy_IDProperty_Map_ValidateAndCreate(), IDP_ReplaceInGroup(), idprops_ensure_named_group(), and RNA_property_pointer_set().
| void IDP_Reset | ( | IDProperty * | prop, |
| const IDProperty * | reference ) |
Definition at line 1240 of file idprop.cc.
References IDP_ClearProperty(), and IDP_MergeGroup().
|
static |
Definition at line 192 of file idprop.cc.
References blender::bke::idprop::create_group(), IDProperty::data, IDP_FreeProperty(), IDP_GROUP, IDProperty::len, IDPropertyData::pointer, and IDProperty::subtype.
Referenced by IDP_FreeArray(), and IDP_ResizeArray().
| void IDP_ResizeArray | ( | IDProperty * | prop, |
| int | newlen ) |
This function works for strings too!
Definition at line 215 of file idprop.cc.
References IDProperty::data, IDP_ARRAY_REALLOC_LIMIT, idp_resize_group_array(), idp_size_table, IDProperty::len, MEM_recallocN, IDPropertyData::pointer, IDProperty::subtype, and IDProperty::totallen.
Referenced by IDP_AssignStringMaxSize(), and RNA_property_string_set_bytes().
| void IDP_ResizeIDPArray | ( | IDProperty * | prop, |
| int | newlen ) |
Definition at line 148 of file idprop.cc.
References BLI_assert, IDProperty::data, GETPROP, IDP_ARRAY_REALLOC_LIMIT, IDP_FreePropertyContent(), IDP_IDPARRAY, IDProperty::len, len, MEM_recallocN, IDPropertyData::pointer, IDProperty::totallen, and IDProperty::type.
Referenced by IDP_AppendArray(), RNA_property_collection_clear(), and RNA_property_collection_remove().
| void IDP_SetIndexArray | ( | IDProperty * | prop, |
| int | index, | ||
| IDProperty * | item ) |
Shallow copies item.
Definition at line 117 of file idprop.cc.
References BLI_assert, GETPROP, IDP_FreePropertyContent(), IDP_IDPARRAY, IDProperty::len, and IDProperty::type.
Referenced by IDP_AppendArray().
| void IDP_SyncGroupTypes | ( | IDProperty * | dest, |
| const IDProperty * | src, | ||
| const bool | do_arraylen ) |
Definition at line 607 of file idprop.cc.
References BLI_insertlinkreplace(), IDProperty::data, ELEM, IDPropertyData::group, IDP_ARRAY, IDP_CopyProperty(), IDP_FreeFromGroup(), IDP_FreeProperty(), IDP_GetPropertyFromGroup(), IDP_GROUP, IDP_IDPARRAY, IDP_SyncGroupTypes(), IDProperty::len, LISTBASE_FOREACH_MUTABLE, IDProperty::name, IDProperty::subtype, and IDProperty::type.
Referenced by IDP_SyncGroupTypes(), and WM_operator_type_set().
| void IDP_SyncGroupValues | ( | IDProperty * | dest, |
| const IDProperty * | src ) |
Sync values from one group to another when values name and types match, copy the values, else ignore.
Definition at line 578 of file idprop.cc.
References BLI_assert, BLI_findstring(), BLI_insertlinkreplace(), IDProperty::data, IDPropertyData::group, IDP_BOOLEAN, IDP_CopyProperty(), IDP_DOUBLE, IDP_FLOAT, IDP_FreeProperty(), IDP_GROUP, IDP_INT, IDP_SyncGroupValues(), LISTBASE_FOREACH, offsetof, and IDProperty::type.
Referenced by BKE_pose_backup_restore(), IDP_SyncGroupValues(), pose_bone_do_paste(), and poseAnim_mapping_reset().
| IDPropertyUIData * IDP_TryConvertUIData | ( | IDPropertyUIData * | src, |
| eIDPropertyUIDataType | src_type, | ||
| eIDPropertyUIDataType | dst_type ) |
Convert UI data like default arrays from the old type to the new type as possible. Takes ownership of the input data; it can return it directly if the types match.
Definition at line 1757 of file idprop.cc.
References IDPropertyUIDataBool::base, IDPropertyUIDataFloat::base, IDPropertyUIDataInt::base, convert_base_ui_data(), IDPropertyUIDataBool::default_array, IDPropertyUIDataFloat::default_array, IDPropertyUIDataInt::default_array, IDPropertyUIDataBool::default_array_len, IDPropertyUIDataFloat::default_array_len, IDPropertyUIDataInt::default_array_len, IDPropertyUIDataBool::default_value, IDPropertyUIDataFloat::default_value, IDPropertyUIDataInt::default_value, double(), float, IDP_UI_DATA_TYPE_BOOLEAN, IDP_UI_DATA_TYPE_FLOAT, IDP_UI_DATA_TYPE_ID, IDP_UI_DATA_TYPE_INT, IDP_UI_DATA_TYPE_STRING, IDP_UI_DATA_TYPE_UNSUPPORTED, int, IDPropertyUIDataFloat::max, IDPropertyUIDataInt::max, MEM_malloc_arrayN, IDPropertyUIDataFloat::min, IDPropertyUIDataInt::min, IDPropertyUIDataFloat::soft_max, IDPropertyUIDataInt::soft_max, IDPropertyUIDataFloat::soft_min, IDPropertyUIDataInt::soft_min, IDPropertyUIDataFloat::step, IDPropertyUIDataInt::step, and ui_data_free().
Referenced by BPy_IDProperty_Map_ValidateAndCreate().
| IDPropertyUIData * IDP_ui_data_copy | ( | const IDProperty * | prop | ) |
Definition at line 260 of file idprop.cc.
References BLI_strdup(), BLI_strdup_null(), IDPropertyUIDataBool::default_array, IDPropertyUIDataFloat::default_array, IDPropertyUIDataInt::default_array, IDPropertyUIDataString::default_value, IDPropertyUIData::description, IDPropertyUIDataEnumItem::description, IDPropertyUIDataInt::enum_items, IDPropertyUIDataInt::enum_items_num, IDPropertyUIDataEnumItem::identifier, IDP_ui_data_type(), IDP_UI_DATA_TYPE_BOOLEAN, IDP_UI_DATA_TYPE_FLOAT, IDP_UI_DATA_TYPE_ID, IDP_UI_DATA_TYPE_INT, IDP_UI_DATA_TYPE_STRING, IDP_UI_DATA_TYPE_UNSUPPORTED, MEM_dupallocN, IDPropertyUIDataEnumItem::name, and IDProperty::ui_data.
Referenced by BPy_IDPropertyUIManager_update_from(), and idp_generic_copy().
| IDPropertyUIData * IDP_ui_data_ensure | ( | IDProperty * | prop | ) |
Definition at line 1739 of file idprop.cc.
References IDP_ui_data_type(), IDProperty::ui_data, and ui_data_alloc().
Referenced by BPy_IDIDPropertyUIManager_as_dict(), BPy_IDPropertyUIManager_update(), blender::bke::create_auto_smooth_modifier(), blender::nodes::id_name_or_value_prop(), blender::nodes::id_property_create_from_socket(), RNA_property_float_set_default(), RNA_property_int_set_default(), blender::nodes::update_input_properties_from_node_tree(), blender::nodes::update_output_properties_from_node_tree(), and version_idproperty_ui_data().
| void IDP_ui_data_free | ( | IDProperty * | prop | ) |
Definition at line 1183 of file idprop.cc.
References IDP_ui_data_type(), IDProperty::ui_data, and ui_data_free().
Referenced by BPy_IDPropertyUIManager_clear(), BPy_IDPropertyUIManager_update_from(), IDP_FreePropertyContent_ex(), and blender::nodes::update_output_properties_from_node_tree().
| void IDP_ui_data_free_unique_contents | ( | IDPropertyUIData * | ui_data, |
| eIDPropertyUIDataType | type, | ||
| const IDPropertyUIData * | other ) |
Free allocated pointers in the UI data that isn't shared with the UI data in the other argument. Useful for returning early on failure when updating UI data in place, or when replacing a subset of the UI data's allocated pointers.
Definition at line 1093 of file idprop.cc.
References IDPropertyUIDataBool::default_array, IDPropertyUIDataFloat::default_array, IDPropertyUIDataInt::default_array, IDPropertyUIDataString::default_value, IDPropertyUIData::description, IDPropertyUIDataInt::enum_items, IDP_int_ui_data_free_enum_items(), IDP_UI_DATA_TYPE_BOOLEAN, IDP_UI_DATA_TYPE_FLOAT, IDP_UI_DATA_TYPE_ID, IDP_UI_DATA_TYPE_INT, IDP_UI_DATA_TYPE_STRING, IDP_UI_DATA_TYPE_UNSUPPORTED, and MEM_SAFE_FREE.
Referenced by idprop_ui_data_update_bool(), idprop_ui_data_update_float(), idprop_ui_data_update_id(), idprop_ui_data_update_int(), and idprop_ui_data_update_string().
| bool IDP_ui_data_supported | ( | const IDProperty * | prop | ) |
Definition at line 1687 of file idprop.cc.
References IDP_ui_data_type(), and IDP_UI_DATA_TYPE_UNSUPPORTED.
Referenced by BPy_IDIDPropertyUIManager_as_dict(), BPy_IDPropertyUIManager_clear(), BPy_IDPropertyUIManager_update(), BPy_IDPropertyUIManager_update_from(), pyrna_struct_id_properties_ui(), and version_idproperty_ui_data().
| eIDPropertyUIDataType IDP_ui_data_type | ( | const IDProperty * | prop | ) |
Definition at line 1665 of file idprop.cc.
References ELEM, IDP_ARRAY, IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_ID, IDP_INT, IDP_STRING, IDP_UI_DATA_TYPE_BOOLEAN, IDP_UI_DATA_TYPE_FLOAT, IDP_UI_DATA_TYPE_ID, IDP_UI_DATA_TYPE_INT, IDP_UI_DATA_TYPE_STRING, IDP_UI_DATA_TYPE_UNSUPPORTED, IDProperty::subtype, and IDProperty::type.
Referenced by BPy_IDIDPropertyUIManager_as_dict(), BPy_IDProperty_Map_ValidateAndCreate(), BPy_IDPropertyUIManager_update(), IDP_ui_data_copy(), IDP_ui_data_ensure(), IDP_ui_data_free(), IDP_ui_data_supported(), idprop_ui_data_update_bool(), idprop_ui_data_update_float(), idprop_ui_data_update_id(), idprop_ui_data_update_int(), idprop_ui_data_update_string(), read_ui_data(), RNA_property_boolean_get_default(), RNA_property_boolean_get_default_array(), version_idproperty_ui_data(), and write_ui_data().
|
static |
Definition at line 1345 of file idprop.cc.
References BLI_assert_unreachable, BLO_write_double_array(), BLO_write_float_array(), BLO_write_int32_array(), BLO_write_int8_array(), BLO_write_pointer_array(), IDProperty::data, IDP_ARRAY, IDP_BlendWrite(), IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_GROUP, IDP_ID, IDP_IDPARRAY, IDP_INT, IDP_STRING, IDProperty::len, IDPropertyData::pointer, and IDProperty::subtype.
Referenced by IDP_WriteProperty_OnlyData().
|
static |
Definition at line 1408 of file idprop.cc.
References IDProperty::data, IDPropertyData::group, IDP_BlendWrite(), and LISTBASE_FOREACH.
Referenced by IDP_WriteProperty_OnlyData().
|
static |
Definition at line 1386 of file idprop.cc.
References BLO_write_struct_array, IDProperty::data, IDP_WriteProperty_OnlyData(), IDProperty::len, and IDPropertyData::pointer.
Referenced by IDP_WriteProperty_OnlyData().
| void IDP_WriteProperty_OnlyData | ( | const IDProperty * | prop, |
| BlendWriter * | writer ) |
Definition at line 1416 of file idprop.cc.
References IDP_ARRAY, IDP_GROUP, IDP_IDPARRAY, IDP_STRING, IDP_WriteArray(), IDP_WriteGroup(), IDP_WriteIDPArray(), IDP_WriteString(), IDProperty::type, IDProperty::ui_data, and write_ui_data().
Referenced by IDP_BlendWrite(), and IDP_WriteIDPArray().
|
static |
Definition at line 1400 of file idprop.cc.
References BLO_write_char_array(), IDProperty::data, IDProperty::len, and IDPropertyData::pointer.
Referenced by IDP_WriteProperty_OnlyData().
|
static |
Definition at line 1445 of file idprop.cc.
References BLI_assert_unreachable, BLO_read_double_array(), BLO_read_int32_array(), BLO_read_int8_array(), BLO_read_string(), BLO_read_struct, BLO_read_struct_array, IDPropertyUIDataBool::default_array, IDPropertyUIDataFloat::default_array, IDPropertyUIDataInt::default_array, IDPropertyUIDataBool::default_array_len, IDPropertyUIDataFloat::default_array_len, IDPropertyUIDataInt::default_array_len, IDPropertyUIDataString::default_value, IDPropertyUIData::description, IDPropertyUIDataEnumItem::description, IDPropertyUIDataInt::enum_items, IDPropertyUIDataInt::enum_items_num, IDPropertyUIDataEnumItem::identifier, IDP_ARRAY, IDP_ui_data_type(), IDP_UI_DATA_TYPE_BOOLEAN, IDP_UI_DATA_TYPE_FLOAT, IDP_UI_DATA_TYPE_ID, IDP_UI_DATA_TYPE_INT, IDP_UI_DATA_TYPE_STRING, IDP_UI_DATA_TYPE_UNSUPPORTED, IDPropertyUIDataEnumItem::name, IDProperty::type, and IDProperty::ui_data.
Referenced by IDP_DirectLinkProperty().
|
static |
Definition at line 1692 of file idprop.cc.
References IDPropertyUIDataBool::base, IDPropertyUIDataFloat::base, IDPropertyUIDataID::base, IDPropertyUIDataInt::base, BLI_assert_unreachable, FLT_MAX, IDP_UI_DATA_TYPE_BOOLEAN, IDP_UI_DATA_TYPE_FLOAT, IDP_UI_DATA_TYPE_ID, IDP_UI_DATA_TYPE_INT, IDP_UI_DATA_TYPE_STRING, IDP_UI_DATA_TYPE_UNSUPPORTED, IDPropertyUIDataFloat::max, IDPropertyUIDataInt::max, MEM_callocN, IDPropertyUIDataFloat::min, IDPropertyUIDataInt::min, IDPropertyUIDataFloat::precision, IDPropertyUIDataFloat::soft_max, IDPropertyUIDataInt::soft_max, IDPropertyUIDataFloat::soft_min, IDPropertyUIDataInt::soft_min, IDPropertyUIDataFloat::step, and IDPropertyUIDataInt::step.
Referenced by convert_base_ui_data(), and IDP_ui_data_ensure().
|
static |
Definition at line 1146 of file idprop.cc.
References IDPropertyUIDataBool::default_array, IDPropertyUIDataFloat::default_array, IDPropertyUIDataInt::default_array, IDPropertyUIDataString::default_value, IDPropertyUIData::description, IDP_int_ui_data_free_enum_items(), IDP_UI_DATA_TYPE_BOOLEAN, IDP_UI_DATA_TYPE_FLOAT, IDP_UI_DATA_TYPE_ID, IDP_UI_DATA_TYPE_INT, IDP_UI_DATA_TYPE_STRING, IDP_UI_DATA_TYPE_UNSUPPORTED, MEM_freeN(), and MEM_SAFE_FREE.
Referenced by IDP_TryConvertUIData(), and IDP_ui_data_free().
|
static |
Definition at line 1285 of file idprop.cc.
References BLI_assert_unreachable, BLO_write_double_array(), BLO_write_int32_array(), BLO_write_int8_array(), BLO_write_string(), BLO_write_struct, BLO_write_struct_array, IDPropertyUIDataBool::default_array, IDPropertyUIDataFloat::default_array, IDPropertyUIDataInt::default_array, IDPropertyUIDataBool::default_array_len, IDPropertyUIDataFloat::default_array_len, IDPropertyUIDataInt::default_array_len, IDPropertyUIDataString::default_value, IDPropertyUIData::description, IDPropertyUIDataEnumItem::description, IDPropertyUIDataInt::enum_items, IDPropertyUIDataInt::enum_items_num, IDPropertyUIDataEnumItem::identifier, IDP_ARRAY, IDP_ui_data_type(), IDP_UI_DATA_TYPE_BOOLEAN, IDP_UI_DATA_TYPE_FLOAT, IDP_UI_DATA_TYPE_ID, IDP_UI_DATA_TYPE_INT, IDP_UI_DATA_TYPE_STRING, IDP_UI_DATA_TYPE_UNSUPPORTED, IDPropertyUIDataEnumItem::name, IDProperty::type, and IDProperty::ui_data.
Referenced by IDP_WriteProperty_OnlyData().
|
static |
Local size table, aligned with eIDPropertyType.
Definition at line 48 of file idprop.cc.
Referenced by IDP_EqualsProperties_ex(), IDP_New(), and IDP_ResizeArray().
|
static |