Blender V4.3
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 151 of file DNA_ID.h.

Member Data Documentation

◆ _pad0

char IDProperty::_pad0[4]

Definition at line 165 of file DNA_ID.h.

◆ data

IDPropertyData IDProperty::data

NOTE: alignment for 64 bits.

Definition at line 168 of file DNA_ID.h.

Referenced by BKE_lib_query_idpropertiesForeachIDLink_callback(), blender::blend_write(), blo_do_versions_290(), BPy_IDGroup_MapDataToPy(), BPy_Wrap_GetItems(), BPy_Wrap_GetKeys(), BPy_Wrap_GetValues(), blender::deg::DepsgraphNodeBuilder::build_idproperties(), blender::deg::DepsgraphRelationBuilder::build_idproperties(), construct_rna_paths(), blender::io::usd::get_usd_source_path(), IDP_AssignID(), IDP_AssignStringMaxSize(), IDP_ClearProperty(), IDP_CopyArray(), IDP_CopyGroup(), IDP_CopyID(), IDP_CopyIDPArray(), IDP_CopyString(), IDP_DirectLinkArray(), IDP_DirectLinkGroup(), IDP_DirectLinkIDPArray(), IDP_DirectLinkProperty(), IDP_DirectLinkString(), IDP_EqualsProperties_ex(), IDP_foreach_property(), IDP_FreeArray(), IDP_FreeGroup(), IDP_FreeIDPArray(), IDP_FreeString(), idp_generic_copy(), IDP_GetPropertyFromGroup(), IDP_MergeGroup_ex(), IDP_New(), IDP_NewStringMaxSize(), IDP_ReplaceGroupInGroup(), 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(), blender::ed::geometry::replace_inputs_evaluated_data_blocks(), 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(), 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 174 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_AppendArray(), IDP_ClearProperty(), IDP_CopyArray(), IDP_CopyGroup(), 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_MergeGroup_ex(), IDP_New(), IDP_NewIDPArray(), IDP_NewStringMaxSize(), IDP_ReplaceGroupInGroup(), 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::old_id_property_type_matches_socket_convert_to_new_float_vec(), rna_ensure_property_array_length(), rna_ensure_property_multi_array_length(), rna_idp_path(), rna_idproperty_verify_valid(), RNA_property_boolean_get_array(), 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_get_array(), RNA_property_float_set_array(), RNA_property_int_get_array(), RNA_property_int_set_array(), rna_property_rna_or_id_get(), RNA_property_string_get(), RNA_property_string_get(), RNA_property_string_length(), 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

◆ subtype

char IDProperty::subtype

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

Definition at line 159 of file DNA_ID.h.

Referenced by 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(), 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(), rna_ensure_property(), rna_idproperty_verify_valid(), RNA_property_boolean_get_array(), RNA_property_boolean_set_array(), RNA_property_float_get_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_string_get(), RNA_property_string_length(), 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 180 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 154 of file DNA_ID.h.

Referenced by BKE_lib_query_idpropertiesForeachIDLink_callback(), blo_do_versions_290(), BPy_IDGroup_MapDataToPy(), BPy_IDGroup_WrapData(), BPy_Wrap_SetMapItem(), blender::ed::space_node::build_catalog_tree(), blender::bke::idprop::convert_to_serialize_values(), blender::io::usd::create_vector_attrib(), blender::ed::object::geometry_nodes_input_attribute_toggle_exec(), 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_EnsureProperties(), 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_MergeGroup_ex(), IDP_New(), IDP_NewIDPArray(), IDP_NewStringMaxSize(), IDP_ReplaceGroupInGroup(), 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(), is_idproperty_keyable(), 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(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_int(), blender::nodes::old_id_property_type_matches_socket_convert_to_new_string(), pycon_new_data(), 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_verify_valid(), RNA_pointer_as_string(), RNA_property_boolean_get_default_array(), RNA_property_boolean_set_array(), RNA_property_enum_items_ex(), RNA_property_float_get(), 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(), blender::ed::space_node::search_link_ops_for_asset_metadata(), 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(), write_ui_data(), and blender::io::usd::USDAbstractWriter::write_user_properties().

◆ ui_data


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