Blender V5.0
IDProperty Struct Reference

#include <DNA_ID.h>

Public Attributes

struct IDPropertynext
struct IDPropertyprev
char type
char subtype
short flag
char name [64]
char _pad0 [4]
IDPropertyData data
int len
int totallen
IDPropertyUIDataui_data

Detailed Description

Definition at line 153 of file DNA_ID.h.

Member Data Documentation

◆ _pad0

char IDProperty::_pad0[4]

Definition at line 166 of file DNA_ID.h.

◆ data

IDPropertyData IDProperty::data

NOTE: alignment for 64 bits.

Definition at line 169 of file DNA_ID.h.

Referenced by BKE_lib_query_idpropertiesForeachIDLink_callback(), blender::blend_write(), blo_do_versions_290(), blo_do_versions_440(), BPy_IDGroup_MapDataToPy(), BPy_Wrap_GetItems(), BPy_Wrap_GetKeys(), BPy_Wrap_GetValues(), blender::deg::DepsgraphNodeBuilder::build_idproperties(), blender::deg::DepsgraphRelationBuilder::build_idproperties(), blender::animrig::get_keyable_id_property_paths(), blender::io::usd::get_usd_source_path(), IDGroup_Iter_New_WithType(), IDP_AddToGroup(), IDP_AssignID(), IDP_AssignStringMaxSize(), IDP_ClearProperty(), IDP_CopyArray(), IDP_CopyGroup(), IDP_CopyID(), IDP_CopyIDPArray(), IDP_CopyString(), IDP_DirectLinkArray(), IDP_DirectLinkGroup(), IDP_DirectLinkIDPArray(), IDP_DirectLinkString(), IDP_EqualsProperties_ex(), IDP_foreach_property(), IDP_FreeArray(), IDP_FreeGroup(), IDP_FreeIDPArray(), IDP_FreeString(), idp_generic_copy(), IDP_GetPropertyFromGroup(), idp_group_children_map_ensure(), IDP_MergeGroup_ex(), IDP_New(), IDP_NewStringMaxSize(), IDP_RemoveFromGroup(), IDP_ReplaceGroupInGroup(), IDP_ReplaceInGroup_ex(), idp_repr_fn_recursive(), idp_resize_group_array(), IDP_ResizeArray(), IDP_ResizeIDPArray(), IDP_SyncGroupTypes(), IDP_SyncGroupValues(), IDP_WriteArray(), IDP_WriteGroup(), IDP_WriteIDPArray(), IDP_WriteString(), idprop_py_from_idp_id(), blender::bke::idprop::IDPGroupSerializer::idprop_to_dictionary(), idproperties_fix_groups_lengths_recurse(), idproperty_find_ui_container(), blender::imbuf::imb_create_write_spec(), IMB_metadata_foreach(), keymap_item_has_invalid_wm_context_data_path(), blender::nodes::old_id_property_type_matches_socket_convert_to_new(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_float_vec(), openexr_header_metadata_global(), blender::io::fbx::read_ufbx_property(), rna_idp_path(), RNA_property_string_set_bytes(), blender::ed::space_node::search_link_ops_for_asset_metadata(), set_vec_attrib(), blender::bke::idprop::tests::TEST(), version_geometry_nodes_add_attribute_input_settings(), version_idproperty_ui_data(), version_mesh_crease_generic(), WM_operator_last_properties_store(), WM_operator_properties_alloc(), blender::io::alembic::CustomPropertiesExporter::write_all(), write_jpeg(), and blender::io::usd::USDAbstractWriter::write_user_properties().

◆ flag

◆ len

int IDProperty::len

Array length, and importantly string length + 1. the idea is to be able to reuse array reallocation functions on strings.

Definition at line 175 of file DNA_ID.h.

Referenced by blender::bke::idprop::array_values_set(), BPy_IDArray_ass_slice(), BPy_IDArray_getbuffer(), BPy_IDArray_slice(), BPy_IDGroup_CorrectListLen(), BPy_IDGroup_MapDataToPy(), BPy_Wrap_GetItems(), BPy_Wrap_GetKeys(), BPy_Wrap_GetValues(), blender::io::usd::create_vector_attrib(), blender::io::alembic::ABCAbstractWriter::ensure_custom_properties_exporter(), IDGroup_Iter_New_WithType(), IDP_AddToGroup(), IDP_AppendArray(), IDP_ClearProperty(), IDP_CopyArray(), IDP_CopyIDPArray(), IDP_CopyString(), IDP_DirectLinkArray(), IDP_DirectLinkIDPArray(), IDP_DirectLinkString(), IDP_EqualsProperties_ex(), IDP_foreach_property(), IDP_FreeIDPArray(), idp_from_PySequence(), idp_from_PySequence_Buffer(), idp_from_PySequence_Fast(), IDP_GetPropertyFromGroup(), IDP_New(), IDP_NewIDPArray(), IDP_NewStringMaxSize(), IDP_RemoveFromGroup(), idp_repr_fn_recursive(), idp_resize_group_array(), IDP_ResizeArray(), IDP_ResizeIDPArray(), IDP_SetIndexArray(), IDP_SyncGroupTypes(), IDP_WriteArray(), IDP_WriteIDPArray(), IDP_WriteString(), idprop_py_from_idp_idparray(), idprop_py_from_idp_string(), blender::bke::idprop::IDPArraySerializer::idprop_to_dictionary(), idproperties_fix_groups_lengths_recurse(), blender::nodes::init_socket_cpp_value_from_property(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_float_vec(), property_boolean_get_array(), property_float_get_array(), property_int_get_array(), property_string_length_storage(), rna_ensure_property_array_length(), rna_ensure_property_multi_array_length(), rna_idp_path(), rna_idproperty_verify_valid(), RNA_property_boolean_get_default_array(), RNA_property_boolean_set_array(), RNA_property_collection_add(), RNA_property_collection_begin(), RNA_property_collection_clear(), RNA_property_collection_length(), RNA_property_collection_move(), RNA_property_collection_remove(), RNA_property_float_set_array(), RNA_property_int_set_array(), rna_property_rna_or_id_get(), template_operator_property_buts_draw_single(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), texture_paint_camera_project_exec(), version_idproperty_move_data_float(), and version_idproperty_move_data_int().

◆ name

◆ next

◆ prev

struct IDProperty * IDProperty::prev

◆ subtype

char IDProperty::subtype

eIDPropertySubType when type is IDP_STRING. eIDPropertyType for all other types.

Definition at line 161 of file DNA_ID.h.

Referenced by _IDP_assert_type_and_subtype(), BPy_IDArray_getbuffer(), BPy_IDArray_slice(), BPy_IDGroup_MapDataToPy(), blender::io::usd::create_vector_attrib(), IDP_AssignStringMaxSize(), IDP_CopyArray(), IDP_CopyGroup(), IDP_CopyString(), IDP_DirectLinkArray(), IDP_DirectLinkProperty(), IDP_EqualsProperties_ex(), idp_from_PyBytes(), idp_from_PySequence_Buffer(), idp_from_PySequence_Fast(), idp_from_PyUnicode(), IDP_New(), idp_repr_fn_recursive(), idp_resize_group_array(), IDP_ResizeArray(), IDP_SyncGroupTypes(), IDP_type_str(), IDP_ui_data_type(), IDP_WriteArray(), idprop_py_from_idp_string(), blender::bke::idprop::IDPArraySerializer::idprop_to_dictionary(), blender::nodes::init_socket_cpp_value_from_property(), blender::animrig::is_idproperty_keyable(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_float_vec(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_string(), property_boolean_get_array(), property_float_get_array(), property_string_length_storage(), rna_ensure_property(), rna_idproperty_verify_valid(), RNA_property_boolean_set_array(), RNA_property_float_get_default_array(), RNA_property_float_set_array(), RNA_property_int_get_default_array(), rna_property_rna_or_id_get(), RNA_property_subtype(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), texture_paint_camera_project_exec(), version_idproperty_move_data_float(), and version_idproperty_move_data_int().

◆ totallen

int IDProperty::totallen

Strings and arrays are both buffered, though the buffer isn't saved. totallen is total length of allocated array/string, including a buffer.

Note
the buffering is mild; see IDP_ResizeIDPArray for details.

Definition at line 181 of file DNA_ID.h.

Referenced by IDP_ClearProperty(), IDP_CopyArray(), IDP_CopyString(), IDP_DirectLinkArray(), IDP_DirectLinkIDPArray(), IDP_DirectLinkString(), IDP_New(), IDP_NewStringMaxSize(), IDP_ResizeArray(), and IDP_ResizeIDPArray().

◆ type

char IDProperty::type

eIDPropertyType

Definition at line 156 of file DNA_ID.h.

Referenced by _IDP_assert_type(), _IDP_assert_type_and_subtype(), _IDP_assert_type_mask(), BKE_lib_query_idpropertiesForeachIDLink_callback(), blo_do_versions_290(), BPy_IDGroup_MapDataToPy(), BPy_IDGroup_WrapData(), BPy_IDProperty_Map_ValidateAndCreate(), BPy_Wrap_SetMapItem(), blender::bke::idprop::convert_to_serialize_values(), blender::io::usd::create_vector_attrib(), find_property_rgba(), blender::ed::object::geometry_nodes_input_attribute_toggle_exec(), IDGroup_Iter_New_WithType(), IDGroup_View_New_WithType(), IDP_AddToGroup(), IDP_AppendArray(), IDP_AssignID(), IDP_AssignStringMaxSize(), IDP_coerce_to_double_or_zero(), IDP_coerce_to_float_or_zero(), IDP_coerce_to_int_or_zero(), IDP_CopyArray(), IDP_CopyGroup(), IDP_CopyID(), IDP_CopyProperty_ex(), IDP_CopyString(), IDP_DirectLinkProperty(), IDP_EnumItemFind(), IDP_EqualsProperties_ex(), IDP_foreach_property(), IDP_FreeGroup(), IDP_FreeIDPArray(), IDP_FreePropertyContent_ex(), IDP_FreeString(), idp_from_DatablockPointer(), idp_from_PyBool(), idp_from_PyBytes(), idp_from_PyFloat(), idp_from_PyLong(), idp_from_PySequence(), idp_from_PySequence_Buffer(), idp_from_PySequence_Fast(), idp_from_PyUnicode(), idp_generic_copy(), IDP_GetIndexArray(), IDP_GetPropertyFromGroup(), IDP_GetPropertyTypeFromGroup(), idp_group_children_map_ensure(), IDP_MergeGroup_ex(), IDP_New(), IDP_NewIDPArray(), IDP_NewStringMaxSize(), IDP_RemoveFromGroup(), IDP_ReplaceGroupInGroup(), IDP_ReplaceInGroup_ex(), idp_repr_fn_recursive(), IDP_ResizeIDPArray(), IDP_SetIndexArray(), IDP_SyncGroupTypes(), IDP_SyncGroupValues(), IDP_type_str(), IDP_ui_data_type(), IDP_WriteProperty_OnlyData(), idprop_ui_data_to_dict_bool(), idprop_ui_data_to_dict_float(), idprop_ui_data_to_dict_int(), idprop_ui_data_update_bool_default(), idprop_ui_data_update_float_default(), idprop_ui_data_update_int_default(), idproperties_fix_groups_lengths_recurse(), idprops_ensure_named_group(), IMB_metadata_get_field(), IMB_metadata_set_field(), blender::nodes::init_socket_cpp_value_from_property(), blender::nodes::input_attribute_name_get(), blender::animrig::is_idproperty_keyable(), keymap_item_has_invalid_wm_context_data_path(), keymap_update_brushes_handle_add_item(), keymap_update_brushes_handle_remove_item(), blender::nodes::old_id_property_type_matches_socket_convert_to_new(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_float_vec(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_int(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_string(), property_float_get(), property_pointer_get(), read_ui_data(), rna_ensure_property(), rna_ensure_property_array_check(), rna_ensure_property_array_length(), rna_ensure_property_multi_array_length(), rna_idp_path(), rna_idproperty_find(), rna_idproperty_verify_valid(), RNA_pointer_as_string(), RNA_property_boolean_get_default_array(), RNA_property_boolean_set_array(), RNA_property_enum_get_default(), RNA_property_enum_items_ex(), RNA_property_float_get_default(), RNA_property_float_get_default_array(), RNA_property_float_set(), RNA_property_float_set_array(), RNA_property_float_set_default(), RNA_property_int_get_default_array(), RNA_property_int_set_default(), RNA_property_pointer_set(), RNA_property_pointer_type(), rna_property_rna_or_id_get(), RNA_property_string_default_length(), RNA_property_string_get_default(), RNA_property_subtype(), rna_system_idproperty_find(), blender::ed::object::shade_auto_smooth_exec(), blender::bke::idprop::tests::TEST(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), blender::bke::idprop::tests::test_idprop(), version_bonelayers_to_bonecollections(), version_idproperty_move_data_float(), version_idproperty_move_data_int(), version_idproperty_move_data_string(), version_idproperty_ui_data(), blender::io::hydra::vt_value(), blender::io::alembic::CustomPropertiesExporter::write_all(), write_ui_data(), and blender::io::usd::USDAbstractWriter::write_user_properties().

◆ ui_data


The documentation for this struct was generated from the following file: