|
Blender
V2.93
|
Go to the source code of this file.
Classes | |
| struct | GHashIterator |
| struct | GHashIterState |
| struct | _gh_Entry |
| struct | GSetIterator |
| struct | GHashPair |
Macros | |
| #define | _GHASH_INTERNAL_ATTR |
GHash/GSet Macros | |
| #define | GHASH_FOREACH_BEGIN(type, var, what) |
| #define | GHASH_FOREACH_END() |
| #define | GSET_FOREACH_BEGIN(type, var, what) |
| #define | GSET_FOREACH_END() |
Typedefs | |
| typedef unsigned int(* | GHashHashFP) (const void *key) |
| typedef bool(* | GHashCmpFP) (const void *a, const void *b) |
| typedef void(* | GHashKeyFreeFP) (void *key) |
| typedef void(* | GHashValFreeFP) (void *val) |
| typedef void *(* | GHashKeyCopyFP) (const void *key) |
| typedef void *(* | GHashValCopyFP) (const void *val) |
| typedef struct GHash | GHash |
| typedef struct GHashIterator | GHashIterator |
| typedef struct GHashIterState | GHashIterState |
Enumerations | |
| enum | { GHASH_FLAG_ALLOW_DUPES = (1 << 0) , GHASH_FLAG_ALLOW_SHRINK = (1 << 1) } |
GHash Iterator | |
| #define | _gh_Entry void |
| #define | GHASH_ITER(gh_iter_, ghash_) |
| #define | GHASH_ITER_INDEX(gh_iter_, ghash_, i_) |
| GHashIterator * | BLI_ghashIterator_new (GHash *gh) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT |
| void | BLI_ghashIterator_init (GHashIterator *ghi, GHash *gh) |
| void | BLI_ghashIterator_free (GHashIterator *ghi) |
| void | BLI_ghashIterator_step (GHashIterator *ghi) |
| BLI_INLINE void * | BLI_ghashIterator_getKey (GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT |
| BLI_INLINE void * | BLI_ghashIterator_getValue (GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT |
| BLI_INLINE void ** | BLI_ghashIterator_getValue_p (GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT |
| BLI_INLINE bool | BLI_ghashIterator_done (GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT |
GSet Iterator | |
| #define | GSET_ITER(gs_iter_, gset_) |
| #define | GSET_ITER_INDEX(gs_iter_, gset_, i_) |
| typedef struct GSetIterator | GSetIterator |
| BLI_INLINE GSetIterator * | BLI_gsetIterator_new (GSet *gs) |
| BLI_INLINE void | BLI_gsetIterator_init (GSetIterator *gsi, GSet *gs) |
| BLI_INLINE void | BLI_gsetIterator_free (GSetIterator *gsi) |
| BLI_INLINE void * | BLI_gsetIterator_getKey (GSetIterator *gsi) |
| BLI_INLINE void | BLI_gsetIterator_step (GSetIterator *gsi) |
| BLI_INLINE bool | BLI_gsetIterator_done (GSetIterator *gsi) |
GSet API | |
A 'set' implementation (unordered collection of unique elements). Internally this is a 'GHash' without any keys, which is why this API's are in the same header & source file. | |
| typedef struct GSet | GSet |
| typedef GHashHashFP | GSetHashFP |
| typedef GHashCmpFP | GSetCmpFP |
| typedef GHashKeyFreeFP | GSetKeyFreeFP |
| typedef GHashKeyCopyFP | GSetKeyCopyFP |
| typedef GHashIterState | GSetIterState |
| GSet * | BLI_gset_new_ex (GSetHashFP hashfp, GSetCmpFP cmpfp, const char *info, const unsigned int nentries_reserve) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT |
| GSet * | BLI_gset_new (GSetHashFP hashfp, GSetCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT |
| GSet * | BLI_gset_copy (GSet *gs, GSetKeyCopyFP keycopyfp) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT |
| unsigned int | BLI_gset_len (GSet *gs) ATTR_WARN_UNUSED_RESULT |
| void | BLI_gset_flag_set (GSet *gs, unsigned int flag) |
| void | BLI_gset_flag_clear (GSet *gs, unsigned int flag) |
| void | BLI_gset_free (GSet *gs, GSetKeyFreeFP keyfreefp) |
| void | BLI_gset_insert (GSet *gs, void *key) |
| bool | BLI_gset_add (GSet *gs, void *key) |
| bool | BLI_gset_ensure_p_ex (GSet *gs, const void *key, void ***r_key) |
| bool | BLI_gset_reinsert (GSet *gh, void *key, GSetKeyFreeFP keyfreefp) |
| void * | BLI_gset_replace_key (GSet *gs, void *key) |
| bool | BLI_gset_haskey (GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT |
| bool | BLI_gset_pop (GSet *gs, GSetIterState *state, void **r_key) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() |
| bool | BLI_gset_remove (GSet *gs, const void *key, GSetKeyFreeFP keyfreefp) |
| void | BLI_gset_clear_ex (GSet *gs, GSetKeyFreeFP keyfreefp, const unsigned int nentries_reserve) |
| void | BLI_gset_clear (GSet *gs, GSetKeyFreeFP keyfreefp) |
| void * | BLI_gset_lookup (GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT |
| void * | BLI_gset_pop_key (GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT |
GHash is a hash-map implementation (unordered key, value pairs).
This is also used to implement a 'set' (see GSet below).
Definition in file BLI_ghash.h.
| #define _gh_Entry void |
Definition at line 166 of file BLI_ghash.h.
| #define _GHASH_INTERNAL_ATTR |
Definition at line 38 of file BLI_ghash.h.
| #define BLI_ghashutil_inthash | ( | key | ) | (CHECK_TYPE_ANY(&(key), int *, const int *), BLI_ghashutil_uinthash((unsigned int)key)) |
Definition at line 356 of file BLI_ghash.h.
| #define BLI_ghashutil_inthash_v4 | ( | key | ) | (CHECK_TYPE_ANY(key, int *, const int *), BLI_ghashutil_uinthash_v4((const unsigned int *)key)) |
Definition at line 367 of file BLI_ghash.h.
| #define BLI_ghashutil_inthash_v4_cmp BLI_ghashutil_uinthash_v4_cmp |
Definition at line 378 of file BLI_ghash.h.
| #define BLI_ghashutil_inthash_v4_murmur | ( | key | ) |
Definition at line 372 of file BLI_ghash.h.
| #define BLI_ghashutil_inthash_v4_p ((GSetHashFP)BLI_ghashutil_uinthash_v4) |
Definition at line 369 of file BLI_ghash.h.
| #define BLI_ghashutil_inthash_v4_p_murmur ((GSetHashFP)BLI_ghashutil_uinthash_v4_murmur) |
Definition at line 375 of file BLI_ghash.h.
| #define BLI_ghashutil_strhash | ( | key | ) | (CHECK_TYPE_ANY(key, char *, const char *, const char *const), BLI_ghashutil_strhash_p(key)) |
Definition at line 350 of file BLI_ghash.h.
| #define BLI_ghashutil_uinthash_v4_p ((GSetHashFP)BLI_ghashutil_uinthash_v4) |
Definition at line 370 of file BLI_ghash.h.
| #define BLI_ghashutil_uinthash_v4_p_murmur ((GSetHashFP)BLI_ghashutil_uinthash_v4_murmur) |
Definition at line 376 of file BLI_ghash.h.
| #define GHASH_FOREACH_BEGIN | ( | type, | |
| var, | |||
| what | |||
| ) |
Definition at line 309 of file BLI_ghash.h.
| #define GHASH_FOREACH_END | ( | ) |
Definition at line 315 of file BLI_ghash.h.
| #define GHASH_ITER | ( | gh_iter_, | |
| ghash_ | |||
| ) |
Definition at line 169 of file BLI_ghash.h.
| #define GHASH_ITER_INDEX | ( | gh_iter_, | |
| ghash_, | |||
| i_ | |||
| ) |
Definition at line 173 of file BLI_ghash.h.
| #define GSET_FOREACH_BEGIN | ( | type, | |
| var, | |||
| what | |||
| ) |
Definition at line 320 of file BLI_ghash.h.
| #define GSET_FOREACH_END | ( | ) |
Definition at line 326 of file BLI_ghash.h.
| #define GSET_ITER | ( | gs_iter_, | |
| gset_ | |||
| ) |
Definition at line 268 of file BLI_ghash.h.
| #define GSET_ITER_INDEX | ( | gs_iter_, | |
| gset_, | |||
| i_ | |||
| ) |
Definition at line 272 of file BLI_ghash.h.
Definition at line 52 of file BLI_ghash.h.
| typedef bool(* GHashCmpFP) (const void *a, const void *b) |
returns false when equal
Definition at line 48 of file BLI_ghash.h.
| typedef unsigned int(* GHashHashFP) (const void *key) |
Definition at line 46 of file BLI_ghash.h.
| typedef struct GHashIterator GHashIterator |
| typedef struct GHashIterState GHashIterState |
| typedef void*(* GHashKeyCopyFP) (const void *key) |
Definition at line 51 of file BLI_ghash.h.
| typedef void(* GHashKeyFreeFP) (void *key) |
Definition at line 49 of file BLI_ghash.h.
| typedef void*(* GHashValCopyFP) (const void *val) |
Definition at line 52 of file BLI_ghash.h.
| typedef void(* GHashValFreeFP) (void *val) |
Definition at line 50 of file BLI_ghash.h.
Definition at line 158 of file BLI_ghash.h.
| typedef GHashCmpFP GSetCmpFP |
Definition at line 192 of file BLI_ghash.h.
| typedef GHashHashFP GSetHashFP |
Definition at line 191 of file BLI_ghash.h.
| typedef struct GSetIterator GSetIterator |
| typedef GHashIterState GSetIterState |
Definition at line 196 of file BLI_ghash.h.
| typedef GHashKeyCopyFP GSetKeyCopyFP |
Definition at line 194 of file BLI_ghash.h.
| typedef GHashKeyFreeFP GSetKeyFreeFP |
Definition at line 193 of file BLI_ghash.h.
| anonymous enum |
| Enumerator | |
|---|---|
| GHASH_FLAG_ALLOW_DUPES | |
| GHASH_FLAG_ALLOW_SHRINK | |
Definition at line 66 of file BLI_ghash.h.
| void BLI_ghash_clear | ( | GHash * | gh, |
| GHashKeyFreeFP | keyfreefp, | ||
| GHashValFreeFP | valfreefp | ||
| ) |
Wraps BLI_ghash_clear_ex with zero entries reserved.
Definition at line 996 of file BLI_ghash.c.
References BLI_ghash_clear_ex().
Referenced by BKE_lib_override_library_clear(), BKE_node_instance_hash_clear(), BKE_sim_debug_data_clear(), BLI_gset_clear(), BM_log_cleanup_entry(), bm_uuidwalk_clear(), bm_uuidwalk_facestep_begin(), bm_uuidwalk_pass_add(), bmo_planar_faces_exec(), filelist_clear_ex(), mask_clipboard_free_ex(), multi_small_ghash_tests_one(), read_library_linked_ids(), and tracking_tracks_copy().
| void BLI_ghash_clear_ex | ( | GHash * | gh, |
| GHashKeyFreeFP | keyfreefp, | ||
| GHashValFreeFP | valfreefp, | ||
| const uint | nentries_reserve | ||
| ) |
Reset gh clearing all entries.
| keyfreefp | Optional callback to free the key. |
| valfreefp | Optional callback to free the value. |
| nentries_reserve | Optionally reserve the number of members that the hash will hold. |
Definition at line 980 of file BLI_ghash.c.
References BLI_mempool_clear_ex(), GHash::entrypool, ghash_buckets_reset(), and ghash_free_cb().
Referenced by BKE_outliner_treehash_rebuild_from_treestore(), BLI_ghash_clear(), BLI_gset_clear_ex(), and filelist_cache_clear().
| GHash* BLI_ghash_copy | ( | GHash * | gh, |
| GHashKeyCopyFP | keycopyfp, | ||
| GHashValCopyFP | valcopyfp | ||
| ) |
Copy given GHash. Keys and values are also copied if relevant callback is provided, else pointers remain the same.
Definition at line 727 of file BLI_ghash.c.
References ghash_copy().
Referenced by BLI_vfontdata_copy(), and TEST().
| bool BLI_ghash_ensure_p | ( | GHash * | gh, |
| void * | key, | ||
| void *** | r_val | ||
| ) |
Ensure key is exists in gh.
This handles the common situation where the caller needs ensure a key is added to gh, constructing a new value in the case the key isn't found. Otherwise use the existing value.
Such situations typically incur multiple lookups, however this function avoids them by ensuring the key is added, returning a pointer to the value so it can be used or initialized by the caller.
Definition at line 851 of file BLI_ghash.c.
References BLI_mempool_alloc(), e, GHash::entrypool, ghash_bucket_index(), ghash_insert_ex_keyonly_entry(), ghash_keyhash(), ghash_lookup_entry_ex(), hash, and NULL.
Referenced by BKE_icon_set(), BKE_main_idmap_create(), BKE_main_relations_create(), BKE_outliner_treehash_add_element(), bke_view_layer_verify_aov_cb(), BLO_memfile_write_init(), bm_face_region_pivot_edge_find(), BM_log_vert_before_modified(), bm_uuidwalk_facestep_begin(), bm_uuidwalk_pass_add(), bmo_planar_faces_exec(), ccd_build_deflector_hash_single(), drw_duplidata_load(), ED_object_data_xform_container_item_ensure(), ED_object_xform_skip_child_container_item_ensure(), edge_isect_ls_ensure(), ghash_insert_face_edge_link(), ghash_insert_link(), gpencil_strokes_copy_exec(), GPU_pbvh_bmesh_buffers_update(), layer_collection_sync(), main_relations_create_idlink_cb(), make_object_duplilist_real(), map_insert_vert(), material_opaque(), material_shadow(), menu_types_add_from_keymap_items(), mesh_customdatacorrect_init_vert(), modifyMesh(), nlaevalchan_verify(), read_library_linked_ids(), snap_object_data_editmesh_get(), snap_object_data_mesh_get(), view_layer_bases_hash_create(), workbench_image_setup_ex(), and workbench_material_setup_ex().
| bool BLI_ghash_ensure_p_ex | ( | GHash * | gh, |
| const void * | key, | ||
| void *** | r_key, | ||
| void *** | r_val | ||
| ) |
A version of BLI_ghash_ensure_p that allows caller to re-assign the key. Typically used when the key is to be duplicated.
Definition at line 873 of file BLI_ghash.c.
References BLI_mempool_alloc(), BMVert::e, e, GHash::entrypool, ghash_bucket_index(), ghash_insert_ex_keyonly_entry(), ghash_keyhash(), ghash_lookup_entry_ex(), hash, and NULL.
Referenced by BKE_previewimg_cached_ensure(), drw_uniform_attrs_pool_ensure(), nlaevalchan_verify_key(), and scene_get_depsgraph_p().
Clear a GHash flag.
Definition at line 1031 of file BLI_ghash.c.
References GHash::flag, and BLI_mempool::flag.
Sets a GHash flag.
Definition at line 1023 of file BLI_ghash.c.
References GHash::flag, and BLI_mempool::flag.
Referenced by BM_mesh_bevel(), and TEST().
| void BLI_ghash_free | ( | GHash * | gh, |
| GHashKeyFreeFP | keyfreefp, | ||
| GHashValFreeFP | valfreefp | ||
| ) |
Frees the GHash and its members.
| gh | The GHash to free. |
| keyfreefp | Optional callback to free the key. |
| valfreefp | Optional callback to free the value. |
Definition at line 1008 of file BLI_ghash.c.
References BLI_assert, BLI_mempool_destroy(), BLI_mempool_len(), GHash::buckets, GHash::entrypool, ghash_free_cb(), MEM_freeN, and GHash::nentries.
Referenced by armature_dissolve_selected_exec(), BKE_addon_pref_type_free(), BKE_armature_bone_hash_free(), BKE_curve_editNurb_keyIndex_free(), BKE_fcurve_pathcache_destroy(), BKE_gpencil_merge_materials(), BKE_gpencil_merge_materials_table_get(), BKE_gpencil_stroke_copy_to_keyframes(), BKE_icons_free(), BKE_keyconfig_pref_type_free(), BKE_lib_override_library_free(), BKE_lib_override_library_resync(), BKE_main_collection_sync_remap(), BKE_main_idmap_destroy(), BKE_main_relations_free(), BKE_nlastrip_validate_name(), BKE_node_instance_hash_free(), BKE_node_system_exit(), BKE_object_defgroup_validmap_get(), BKE_object_free_derived_caches(), BKE_object_material_remap_calc(), BKE_outliner_treehash_free(), BKE_pose_channels_hash_free(), BKE_scene_free_depsgraph_hash(), BKE_scene_undo_depsgraphs_restore(), BKE_sim_debug_data_free(), BKE_tracking_copy(), BKE_vfont_free_data(), BKE_view_layer_free_ex(), BKE_view_layer_verify_aov(), BLI_args_destroy(), BLI_array_store_is_valid(), BLI_gset_free(), blo_cache_storage_end(), blo_filedata_free(), BLO_memfile_merge(), BLO_memfile_write_finalize(), bm_edgering_pair_calc(), bm_edgering_pair_store_free(), bm_face_region_pivot_edge_find(), bm_log_entry_free(), BM_log_free(), BM_log_mesh_elems_reorder(), BM_mesh_bevel(), BM_mesh_edgesplit(), BM_mesh_intersect(), BM_mesh_remap(), bm_uuidwalk_free(), bmo_extrude_discrete_faces_exec(), bmo_extrude_vert_indiv_exec(), bmo_inset_region_exec(), bmo_mesh_copy(), bmo_op_slots_free(), bmo_planar_faces_exec(), bmo_triangle_fill_exec(), bmo_weld_verts_exec(), bpy_lib_exit(), build_mesh_leaf_node(), createTransObject(), discard_stabilization_working_context(), DNA_alias_maps(), DNA_sdna_alias_data_ensure(), DNA_sdna_free(), drw_duplidata_free(), DRW_uniform_attrs_pool_free(), ED_armature_join_objects_exec(), ED_gpencil_join_objects_exec(), ED_gpencil_select_stroke_segment(), ED_gpencil_strokes_copybuf_free(), ED_object_data_xform_container_destroy(), ED_object_xform_skip_child_container_destroy(), ED_transform_snap_object_context_destroy(), edbm_face_split_by_edges_exec(), EEVEE_materials_cache_finish(), EEVEE_motion_blur_data_free(), filelist_cache_free(), filelist_free(), free_context_function_ghash(), free_scratch(), fsmenu_xdg_user_dirs_free(), gpencil_analyze_strokes(), gpencil_brush_clone_free(), gpencil_extract_palette_from_vertex(), gpencil_fill_modal(), gpencil_generate_edgeloops(), gpencil_interpolate_exit(), gpencil_interpolate_seq_exec(), gpencil_merge_layer_exec(), gpencil_sculpt_brush_exit(), gpencil_select_vertex_color_exec(), gpencil_strokes_copypastebuf_colors_material_to_name_free(), gpencil_strokes_copypastebuf_colors_name_to_material_free(), gpencil_strokes_paste_exec(), gpu_material_library_exit(), GPU_pbvh_bmesh_buffers_update(), IMB_moviecache_free(), imb_thread_cache_exit(), imb_tile_cache_exit(), int4_ghash_tests(), int_ghash_tests(), knife_add_cut(), knifetool_exit_ex(), make(), make_duplis_font(), make_object_duplilist_real(), make_structDNA(), mask_clipboard_free_ex(), menu_items_from_ui_create(), mesh_customdatacorrect_free_cb(), mesh_get_x_mirror_faces(), modifyMesh(), multi_small_ghash_tests(), nlaeval_free(), ntree_copy_data(), OVERLAY_armature_cache_finish(), palette_extract_img_exec(), pbvh_bmesh_collapse_short_edges(), postEditBoneDuplicate(), randint_ghash_tests(), RE_parts_free(), read_library_linked_ids(), recalcData_gpencil_strokes(), RNA_exit(), RNA_free(), scanfill_preprocess_self_isect(), SCULPT_cloth_simulation_free(), seq_cache_destruct(), state_delete(), stitch_init(), str_ghash_tests(), TEST(), text_autocomplete_free(), tracks_map_free(), uv_sculpt_stroke_init(), wm_gizmogrouptype_free(), wm_gizmomap_select_all_intern(), wm_gizmotype_free(), wm_link_append_exec(), WM_menutype_free(), wm_operatortype_free(), WM_paneltype_clear(), WM_uilisttype_free(), workbench_cache_finish(), and Freestyle::BlenderStrokeRenderer::~BlenderStrokeRenderer().
| bool BLI_ghash_haskey | ( | GHash * | gh, |
| const void * | key | ||
| ) |
Definition at line 941 of file BLI_ghash.c.
References ghash_lookup_entry(), and NULL.
Referenced by animdata_keyframe_list_get(), BKE_gpencil_merge_materials(), BKE_gpencil_merge_materials_table_get(), BKE_lib_override_library_resync(), BKE_node_instance_hash_haskey(), blo_cache_storage_entry_register(), bm_edgering_pair_interpolate(), bm_face_region_pivot_edge_find(), bm_log_face_from_id(), bm_log_face_id_get(), BM_log_face_removed(), BM_log_original_mask(), BM_log_original_vert_co(), BM_log_original_vert_data(), BM_log_original_vert_no(), bm_log_vert_from_id(), bm_log_vert_id_get(), BM_log_vert_removed(), bm_uuidwalk_facestep_begin(), bm_uuidwalk_pass_add(), bm_vert_is_uuid_connect(), ED_armature_bone_rename(), ghash_insert_ex(), ghash_insert_ex_keyonly(), ghash_insert_ex_keyonly_entry(), gpencil_analyze_strokes(), gpencil_brush_grab_stroke_init(), gpencil_copybuf_validate_colormap(), gpencil_extract_palette_from_vertex(), gpencil_interpolate_seq_exec(), gpencil_interpolate_set_points(), gpencil_interpolate_update_strokes(), gpencil_select_vertex_color_exec(), gpencil_selected_hue_table(), gpencil_stroke_get_related(), gpencil_walk_edge(), menu_items_from_ui_create(), modifyMesh(), nla_editbone_name_check(), palette_extract_img_exec(), recalcData_gpencil_strokes(), seq_cache_recycle_linked(), str_ghash_tests(), and wm_link_append_exec().
| void BLI_ghash_insert | ( | GHash * | gh, |
| void * | key, | ||
| void * | val | ||
| ) |
Insert a key/value pair into the gh.
Definition at line 756 of file BLI_ghash.c.
References ghash_insert().
Referenced by _bmo_slot_copy(), add(), add_hit_to_facehits(), animdata_keyframe_list_get(), armature_bone_from_name_insert_recursive(), armature_dissolve_selected_exec(), attach_stabilization_baseline_data(), bevel_vert_construct(), BKE_addon_pref_type_add(), BKE_fcurve_pathcache_create(), BKE_gpencil_frame_selected_hash(), BKE_gpencil_merge_materials_table_get(), BKE_icon_delete_unmanaged(), BKE_keyconfig_pref_type_add(), BKE_lib_override_library_property_get(), BKE_lib_override_library_resync(), BKE_library_make_local(), BKE_main_idmap_lookup_name(), BKE_mask_clipboard_copy_from_layer(), BKE_nlastrip_validate_name(), BKE_node_instance_hash_insert(), BKE_object_defgroup_validmap_get(), BKE_pose_channel_verify(), BKE_pose_channels_hash_make(), BKE_previewimg_cached_thumbnail_read(), BKE_scene_undo_depsgraphs_extract(), blo_cache_storage_entry_register(), BLO_memfile_merge(), bm_edgering_pair_calc(), bm_edgering_pair_store_create(), bm_isect_edge_tri(), bm_log_compress_ids_to_indices(), BM_log_face_added(), BM_log_face_modified(), BM_log_face_removed(), BM_log_vert_added(), BM_log_vert_removed(), BM_mesh_edgesplit(), BM_mesh_intersect_edges(), BM_mesh_remap(), BM_select_history_map_create(), bm_uuidwalk_init_from_edge(), bm_uuidwalk_pass_add(), bm_uuidwalk_rehash_facelinks(), bmo_edge_copy(), BMO_slot_map_insert(), bmo_triangle_fill_exec(), bmo_vert_copy(), bmo_weld_verts_exec(), cloth_sim_initialize_default_node_state(), createTransObject(), custom_bone_instance_shgroup(), debug_data_insert(), DNA_alias_maps(), DNA_sdna_alias_data_ensure_structs_map(), DNA_sdna_patch_struct_nr(), ED_armature_bone_rename(), ED_armature_join_objects_exec(), ED_curve_keyindex_hash_duplicate(), ED_gpencil_join_objects_exec(), ED_gpencil_select_stroke_segment(), EEVEE_motion_blur_object_data_get(), filelist_entry_select_set(), filelist_file_cache_block_create(), filelist_file_ex(), find_family_object(), freetypechar_to_vchar(), fsmenu_xdg_user_dirs_parse(), get_bm_knife_edge(), get_bm_knife_vert(), gpencil_analyze_strokes(), gpencil_brush_grab_stroke_init(), gpencil_copybuf_validate_colormap(), gpencil_extract_palette_from_vertex(), gpencil_fill_modal(), gpencil_interpolate_seq_exec(), gpencil_merge_layer_exec(), gpencil_selected_hue_table(), gpencil_stroke_get_related(), gpencil_stroke_pair_table(), gpencil_strokes_copypastebuf_colors_material_to_name_create(), gpencil_strokes_copypastebuf_colors_name_to_material_create(), gpencil_walk_edge(), gpu_parse_material_library(), icon_create(), imb_global_cache_get_tile(), imb_thread_cache_get_tile(), init_editNurb_keyIndex(), init_structDNA(), int4_ghash_tests(), int_ghash_tests(), internalAdd(), keyIndex_swap(), keyIndex_updateCV(), knife_get_face_kedges(), make_object_duplilist_real(), menu_items_from_ui_create(), mesh_customdatacorrect_init_vert(), mesh_get_x_mirror_faces(), modifyMesh(), motion_blur_deform_data_get(), multi_small_ghash_tests_one(), nodeRegisterSocketType(), nodeRegisterType(), ntree_copy_data(), ntreeTypeAdd(), override_library_rna_path_mapping_ensure(), palette_extract_img_exec(), pbvh_bmesh_collapse_edge(), postEditBoneDuplicate(), randint_ghash_tests(), RE_parts_init(), read_file_bhead_idname_map_create(), recalcData_gpencil_strokes(), record_face_kind(), register_context_function(), Freestyle::BlenderStrokeRenderer::RenderStrokeRepBasic(), rna_brna_structs_add(), RNA_def_property(), RNA_def_struct_identifier(), RNA_init(), set_lowest_face_tri(), stitch_init(), str_ghash_tests(), TEST(), text_autocomplete_build(), tracking_tracks_copy(), tracks_map_insert(), uv_sculpt_stroke_init(), wm_gizmogrouptype_append__end(), WM_gizmomap_gizmo_hash_new(), wm_gizmotype_append__end(), wm_link_append_exec(), WM_menutype_add(), wm_operatortype_append__end(), WM_operatortype_append_macro(), WM_operatortype_append_macro_ptr(), WM_paneltype_add(), and WM_uilisttype_add().
| GHash* BLI_ghash_int_new | ( | const char * | info | ) |
Definition at line 235 of file BLI_ghash_utils.c.
References BLI_ghash_int_new_ex().
Referenced by BKE_gpencil_merge_materials(), BKE_gpencil_merge_materials_table_get(), BKE_icons_init(), BKE_main_idmap_create(), BKE_object_preview_geometry_set_add(), BM_mesh_intersect(), bm_uuidwalk_init(), gpencil_copybuf_validate_colormap(), gpencil_extract_palette_from_vertex(), gpencil_generate_edgeloops(), gpencil_select_vertex_color_exec(), gpencil_strokes_copy_exec(), modifyMesh(), and palette_extract_img_exec().
| GHash* BLI_ghash_int_new_ex | ( | const char * | info, |
| const unsigned int | nentries_reserve | ||
| ) |
Definition at line 231 of file BLI_ghash_utils.c.
References BLI_ghash_new_ex(), BLI_ghashutil_intcmp(), and BLI_ghashutil_inthash_p().
Referenced by BKE_gpencil_stroke_copy_to_keyframes(), BLI_ghash_int_new(), bm_log_compress_ids_to_indices(), build_mesh_leaf_node(), gpencil_fill_modal(), gpencil_merge_layer_exec(), GPU_pbvh_bmesh_buffers_update(), make_duplis_font(), and objfnt_to_ftvfontdata().
| unsigned int BLI_ghash_len | ( | GHash * | gh | ) |
Definition at line 744 of file BLI_ghash.c.
References GHash::nentries.
Referenced by BKE_gpencil_merge_materials(), BKE_node_instance_hash_size(), BKE_object_defgroup_validmap_get(), BKE_palette_from_hash(), BLI_array_store_is_valid(), BM_log_all_added(), BM_mesh_intersect(), bm_mesh_region_match_pair(), bm_uuidwalk_facestep_begin(), bm_uuidwalk_pass_add(), bm_uuidwalk_rehash(), BMO_slot_map_count(), bmo_triangle_fill_exec(), bpy_slot_to_py(), ED_curve_keyindex_hash_duplicate(), generate(), gpencil_fill_modal(), gpencil_select_vertex_color_exec(), IMB_moviecache_get_cache_segments(), int_ghash_tests(), modifyMesh(), pyop_dir(), SEQ_cache_iterate(), stitch_init(), TEST(), uv_sculpt_stroke_init(), and wm_gizmomap_select_all_intern().
| void* BLI_ghash_lookup | ( | GHash * | gh, |
| const void * | key | ||
| ) |
Lookup the value of key in gh.
| key | The key to lookup. |
Definition at line 803 of file BLI_ghash.c.
References BLI_assert, e, GHash::flag, ghash_lookup_entry(), and NULL.
Referenced by access_stabilization_baseline_data(), add_hit_to_facehits(), BKE_addon_pref_type_find(), BKE_armature_find_bone_name(), BKE_fcurve_pathcache_find(), BKE_fcurve_pathcache_find_array(), BKE_gpencil_frame_selected_hash(), BKE_gpencil_merge_materials(), BKE_keyconfig_pref_type_find(), BKE_lib_override_library_main_resync(), BKE_lib_override_library_property_find(), BKE_lib_override_library_resync(), BKE_main_idmap_lookup_name(), BKE_main_idmap_lookup_uuid(), BKE_mask_clipboard_copy_from_layer(), BKE_mask_clipboard_paste_to_layer(), BKE_node_instance_hash_lookup(), BKE_object_defgroup_validmap_get(), BKE_outliner_treehash_lookup_group(), BKE_outliner_treehash_remove_element(), BKE_pose_channel_find_name(), BKE_pose_channels_is_valid(), BKE_previewimg_cached_get(), BKE_scene_get_depsgraph(), BKE_tracking_copy(), BKE_view_layer_base_find(), BKE_view_layer_verify_aov(), BLO_memfile_merge(), bm_edgering_pair_calc(), bm_edgering_pair_interpolate(), bm_face_region_pivot_edge_find(), bm_face_region_pivot_edge_use_best(), bm_face_region_vert_pass_id(), bm_isect_edge_tri(), bm_log_face_from_id(), bm_log_face_id_get(), BM_log_face_removed(), BM_log_mesh_elems_reorder(), BM_log_original_mask(), BM_log_original_vert_co(), BM_log_original_vert_data(), BM_log_original_vert_no(), BM_log_vert_before_modified(), bm_log_vert_from_id(), bm_log_vert_id_get(), BM_log_vert_removed(), BM_mesh_edgesplit(), BM_mesh_intersect_edges(), BM_mesh_remap(), BM_select_history_merge_from_targetmap(), bmo_edge_copy(), bmo_extrude_discrete_faces_exec(), bmo_extrude_vert_indiv_exec(), bmo_face_copy(), bmo_triangle_fill_exec(), calculate_struct_sizes(), ccd_update_deflector_hash_single(), createTransObject(), custom_bone_instance_shgroup(), debug_data_insert(), dna_sdna_alias_from_static_elem_full(), do_cloth_brush_build_constraints_task_cb_ex(), do_cloth_brush_solve_simulation_task_cb_ex(), DRW_uniform_attrs_pool_find_ubo(), ed_screen_context(), EEVEE_motion_blur_object_data_get(), filelist_entry_find_uuid(), filelist_entry_is_selected(), filelist_entry_select_get(), filelist_file_ex(), find_bevvert(), find_bhead_from_code_name(), find_bhead_from_idname(), find_vfont_char(), fsmenu_xdg_insert_entry(), generate(), get_bm_knife_edge(), get_bm_knife_vert(), get_face_kind(), get_lowest_face_tri(), get_next_free_id(), get_part_from_result(), getCVKeyIndex(), gpencil_brush_clone_add(), gpencil_brush_grab_apply_cached(), gpencil_brush_grab_store_points(), gpencil_brush_grab_stroke_init(), gpencil_check_collision(), gpencil_copybuf_validate_colormap(), gpencil_interpolate_seq_exec(), gpencil_interpolate_set_points(), gpencil_interpolate_update_strokes(), gpencil_merge_layer_exec(), gpencil_strokes_copy_exec(), gpencil_strokes_paste_exec(), gpu_material_library_use_function(), icon_ghash_lookup(), imb_global_cache_get_tile(), IMB_moviecache_get(), IMB_moviecache_has_frame(), imb_thread_cache_get_tile(), imb_tile_cache_tile_free(), int4_ghash_tests(), int_ghash_tests(), knife_get_face_kedges(), lib_override_hierarchy_dependencies_recursive_tag(), lib_override_linked_group_tag_recursive(), lib_override_local_group_tag_recursive(), lib_query_unused_ids_tag_recurse(), library_foreach_ID_link(), library_make_local_copying_check(), lookUp(), make_object_duplilist_real(), menu_items_from_ui_create(), mesh_customdatacorrect_apply_vert(), mesh_get_x_mirror_faces(), modifyMesh(), motion_blur_deform_data_get(), multi_small_ghash_tests_one(), mywrite_id_begin(), nodeSocketTypeFind(), nodeTypeFind(), ntreeTypeFind(), pchan_duplicate_map(), randint_ghash_tests(), Freestyle::BlenderStrokeRenderer::RenderStrokeRepBasic(), RNA_def_struct(), RNA_def_struct_nested(), RNA_struct_find(), scanfill_preprocess_self_isect(), SCULPT_cloth_sim_activate_nodes(), seq_cache_get_ex(), set_lowest_face_tri(), snap_object_data_lookup(), stitch_init(), stitch_uv_edge_generate_linked_edges(), str_ghash_tests(), TEST(), text_autocomplete_build(), tracking_plane_tracks_copy(), tracks_map_merge(), trans_vert_orig_co_get(), uv_edge_get(), uv_sculpt_stroke_init(), version_elem_static_from_alias(), version_struct_alias_from_static(), version_struct_static_from_alias(), WM_gizmo_group_type_free(), WM_gizmogrouptype_find(), WM_gizmotype_find(), WM_gizmotype_remove(), wm_link_append_exec(), WM_menutype_find(), WM_operatortype_find(), WM_paneltype_find(), and WM_uilisttype_find().
| void* BLI_ghash_lookup_default | ( | GHash * | gh, |
| const void * | key, | ||
| void * | val_default | ||
| ) |
A version of BLI_ghash_lookup which accepts a fallback argument.
Definition at line 813 of file BLI_ghash.c.
References BLI_assert, e, GHash::flag, and ghash_lookup_entry().
Referenced by bpy_lib_exit(), DNA_alias_maps(), DNA_sdna_alias_data_ensure(), DNA_struct_find_nr_wrapper(), blender::ed::spreadsheet::get_display_geometry_set(), and ntree_copy_data().
| void** BLI_ghash_lookup_p | ( | GHash * | gh, |
| const void * | key | ||
| ) |
Lookup a pointer to the value of key in gh.
| key | The key to lookup. |
Definition at line 830 of file BLI_ghash.c.
References BLI_assert, e, GHash::flag, ghash_lookup_entry(), and NULL.
Referenced by armature_dissolve_selected_exec(), BKE_object_defgroup_validmap_get(), BKE_object_material_remap_calc(), BKE_previewimg_cached_thumbnail_read(), BKE_scene_undo_depsgraphs_extract(), BKE_scene_undo_depsgraphs_restore(), blo_cache_storage_entry_clear_in_old(), blo_cache_storage_entry_restore_in_new(), bm_face_region_pivot_edge_find(), BM_mesh_intersect_edges(), bm_uuidwalk_face_lookup(), bm_uuidwalk_rehash_facelinks(), bm_uuidwalk_vert_lookup(), bm_vert_hash_lookup_chain(), dna_struct_find_nr_ex_impl(), filelist_entry_select_set(), find_family_object(), lib_override_library_id_hierarchy_recursive_reset(), and scene_get_depsgraph_p().
| GHash* BLI_ghash_new | ( | GHashHashFP | hashfp, |
| GHashCmpFP | cmpfp, | ||
| const char * | info | ||
| ) |
Wraps BLI_ghash_new_ex with zero entries reserved.
Definition at line 718 of file BLI_ghash.c.
References BLI_ghash_new_ex().
Referenced by BKE_lib_override_library_resync(), BKE_main_relations_create(), BKE_node_instance_hash_new(), BKE_scene_allocate_depsgraph_hash(), BKE_scene_undo_depsgraphs_extract(), BKE_sim_debug_data_set_enabled(), BLI_args_create(), blo_cache_storage_init(), BLO_memfile_merge(), BLO_memfile_write_init(), bm_log_entry_create(), BM_mesh_intersect(), EEVEE_motion_blur_data_init(), ensure_ed_screen_context_functions(), filelist_new(), GPU_uniform_attr_list_hash_new(), IMB_moviecache_create(), imb_thread_cache_init(), IMB_tile_cache_params(), make(), make_object_duplilist_real(), nlaeval_init(), override_library_rna_path_mapping_ensure(), RE_parts_init(), seq_cache_create(), stitch_init(), TEST(), uv_sculpt_stroke_init(), view_layer_bases_hash_create(), and wm_link_append_exec().
| GHash* BLI_ghash_new_ex | ( | GHashHashFP | hashfp, |
| GHashCmpFP | cmpfp, | ||
| const char * | info, | ||
| const uint | nentries_reserve | ||
| ) |
Creates a new, empty GHash.
| hashfp | Hash callback. |
| cmpfp | Comparison callback. |
| info | Identifier string for the GHash. |
| nentries_reserve | Optionally reserve the number of members that the hash will hold. Use this to avoid resizing buckets if the size is known or can be closely approximated. |
Definition at line 707 of file BLI_ghash.c.
References ghash_new().
Referenced by BKE_main_idmap_lookup_name(), BKE_outliner_treehash_create_from_treestore(), BLI_ghash_int_new_ex(), BLI_ghash_new(), BLI_ghash_pair_new_ex(), BLI_ghash_ptr_new_ex(), BLI_ghash_str_new_ex(), BM_log_create(), DNA_alias_maps(), filelist_cache_init(), ghash_bmelem_new_ex(), and mesh_get_x_mirror_faces().
| GHash* BLI_ghash_pair_new | ( | const char * | info | ) |
Definition at line 244 of file BLI_ghash_utils.c.
References BLI_ghash_pair_new_ex().
| GHash* BLI_ghash_pair_new_ex | ( | const char * | info, |
| const unsigned int | nentries_reserve | ||
| ) |
Definition at line 240 of file BLI_ghash_utils.c.
References BLI_ghash_new_ex(), BLI_ghashutil_paircmp(), and BLI_ghashutil_pairhash().
Referenced by BLI_ghash_pair_new().
| bool BLI_ghash_pop | ( | GHash * | gh, |
| GHashIterState * | state, | ||
| void ** | r_key, | ||
| void ** | r_val | ||
| ) |
Remove a random entry from gh, returning true if a key/value pair could be removed, false otherwise.
| r_key | The removed key. |
| r_val | The removed value. |
| state | Used for efficient removal. |
Definition at line 955 of file BLI_ghash.c.
References BLI_assert, BLI_mempool_free(), BMVert::e, e, GHash::entrypool, GHash::flag, ghash_pop(), NULL, and state.
Referenced by int_ghash_tests(), and TEST().
| void* BLI_ghash_popkey | ( | GHash * | gh, |
| const void * | key, | ||
| GHashKeyFreeFP | keyfreefp | ||
| ) |
Remove key from gh, returning the value or NULL if the key wasn't found.
| key | The key to remove. |
| keyfreefp | Optional callback to free the key. |
Definition at line 924 of file BLI_ghash.c.
References BLI_assert, BLI_mempool_free(), e, GHash::entrypool, GHash::flag, ghash_bucket_index(), ghash_keyhash(), ghash_remove_ex(), hash, and NULL.
Referenced by BKE_icon_delete(), BKE_icon_delete_unmanaged(), BKE_node_instance_hash_pop(), BKE_previewimg_cached_release(), filelist_file_cache_block_create(), filelist_file_ex(), popCVKeyIndex(), and TEST().
| GHash* BLI_ghash_ptr_new | ( | const char * | info | ) |
Definition at line 217 of file BLI_ghash_utils.c.
References BLI_ghash_ptr_new_ex().
Referenced by BKE_mask_clipboard_copy_from_layer(), BKE_tracking_copy(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), BLI_array_store_is_valid(), bm_edgering_pair_calc(), bm_edgering_pair_store_create(), bm_face_region_pivot_edge_find(), BM_mesh_bevel(), BM_mesh_edgesplit(), BM_mesh_intersect(), BM_select_history_map_create(), bmo_inset_region_exec(), bmo_mesh_copy(), bmo_op_slots_init(), bmo_weld_verts_exec(), bpy_lib_exit(), cloth_sim_initialize_default_node_state(), drw_duplidata_load(), ED_gpencil_select_stroke_segment(), ED_object_data_xform_container_create(), ED_object_data_xform_container_item_ensure(), ED_object_xform_skip_child_container_create(), ED_transform_snap_object_context_create(), edbm_face_split_by_edges_exec(), EEVEE_materials_cache_init(), gpencil_analyze_strokes(), gpencil_interpolate_seq_exec(), gpencil_sculpt_brush_init(), gpencil_stroke_pair_table(), gpencil_strokes_copypastebuf_colors_material_to_name_create(), init_editNurb_keyIndex(), init_stabilization_working_context(), knife_add_cut(), knifetool_init(), make_object_duplilist_real(), menu_items_from_ui_create(), mesh_customdatacorrect_init_container_generic(), ntree_copy_data(), OVERLAY_armature_cache_init(), pbvh_bmesh_collapse_short_edges(), recalcData_gpencil_strokes(), sb_new_scratch(), scanfill_preprocess_self_isect(), snap_object_data_editmesh_get(), tracks_map_new(), WM_gizmomap_gizmo_hash_new(), workbench_opaque_cache_init(), and workbench_transparent_cache_init().
| GHash* BLI_ghash_ptr_new_ex | ( | const char * | info, |
| const unsigned int | nentries_reserve | ||
| ) |
Wrapper GHash Creation Functions
Definition at line 213 of file BLI_ghash_utils.c.
References BLI_ghash_new_ex(), BLI_ghashutil_ptrcmp(), and BLI_ghashutil_ptrhash().
Referenced by armature_dissolve_selected_exec(), BKE_object_material_remap_calc(), BLI_ghash_ptr_new(), BM_log_create(), BM_mesh_remap(), bmo_planar_faces_exec(), bmo_triangle_fill_exec(), createTransObject(), ED_curve_keyindex_hash_duplicate(), filelist_cache_init(), and mesh_customdatacorrect_init_container_merge_group().
| bool BLI_ghash_reinsert | ( | GHash * | gh, |
| void * | key, | ||
| void * | val, | ||
| GHashKeyFreeFP | keyfreefp, | ||
| GHashValFreeFP | valfreefp | ||
| ) |
Inserts a new value to a key that may already be in ghash.
Avoids BLI_ghash_remove, BLI_ghash_insert calls (double lookups)
Definition at line 768 of file BLI_ghash.c.
References ghash_insert_safe().
Referenced by BKE_object_material_remap_calc(), BKE_object_preview_geometry_set_add(), bm_log_face_id_set(), bm_log_vert_id_set(), do_moviecache_put(), seq_cache_put_ex(), and tracks_map_merge().
| bool BLI_ghash_remove | ( | GHash * | gh, |
| const void * | key, | ||
| GHashKeyFreeFP | keyfreefp, | ||
| GHashValFreeFP | valfreefp | ||
| ) |
Remove key from gh, or return false if the key wasn't found.
| key | The key to remove. |
| keyfreefp | Optional callback to free the key. |
| valfreefp | Optional callback to free the value. |
Definition at line 900 of file BLI_ghash.c.
References BLI_mempool_free(), e, GHash::entrypool, ghash_bucket_index(), ghash_keyhash(), ghash_remove_ex(), and hash.
Referenced by BKE_addon_pref_type_remove(), BKE_curve_editNurb_keyIndex_delCV(), BKE_icon_id_delete(), BKE_icons_deferred_free(), BKE_keyconfig_pref_type_remove(), BKE_layer_collection_sync(), BKE_lib_override_library_property_delete(), BKE_node_instance_hash_remove(), BKE_outliner_treehash_remove_element(), BKE_pose_channels_remove(), BKE_scene_free_view_layer_depsgraph(), BKE_sim_debug_data_clear_category(), BKE_sim_debug_data_remove_element(), BLI_gset_remove(), BM_log_face_removed(), BM_log_vert_removed(), check_unused_keys(), DNA_sdna_patch_struct_nr(), DRW_uniform_attrs_pool_clear_all(), ED_armature_bone_rename(), filelist_entry_select_set(), filelist_file_cache_block_release(), filelist_file_ex(), imb_global_cache_get_tile(), IMB_moviecache_cleanup(), IMB_moviecache_remove(), imb_thread_cache_get_tile(), imb_tile_cache_tile_free(), nodeUnregisterSocketType(), nodeUnregisterType(), ntreeTypeFreeLink(), RNA_def_struct_identifier(), SEQ_cache_cleanup(), seq_cache_cleanup_sequence(), seq_cache_free_temp_cache(), seq_cache_recycle_linked(), WM_gizmo_group_type_free_ptr(), WM_gizmotype_remove_ptr(), WM_menutype_freelink(), WM_operatortype_remove_ptr(), WM_paneltype_remove(), and WM_uilisttype_freelink().
| void* BLI_ghash_replace_key | ( | GHash * | gh, |
| void * | key | ||
| ) |
Replaces the key of an item in the gh.
Use when a key is re-allocated or its memory location is changed.
Definition at line 781 of file BLI_ghash.c.
References BMVert::e, e, ghash_bucket_index(), ghash_keyhash(), ghash_lookup_entry_ex(), hash, and NULL.
Referenced by BLI_gset_replace_key().
Reserve given amount of entries (resize gh accordingly if needed).
Definition at line 735 of file BLI_ghash.c.
References ghash_buckets_contract(), and ghash_buckets_expand().
Referenced by BM_log_all_added(), int4_ghash_tests(), int_ghash_tests(), multi_small_ghash_tests_one(), randint_ghash_tests(), and str_ghash_tests().
| GHash* BLI_ghash_str_new | ( | const char * | info | ) |
Definition at line 226 of file BLI_ghash_utils.c.
References BLI_ghash_str_new_ex().
Referenced by BKE_addon_pref_type_init(), BKE_icons_init(), BKE_keyconfig_pref_type_init(), BKE_nlastrip_validate_name(), BKE_node_system_init(), BKE_pose_channels_hash_make(), BKE_view_layer_verify_aov(), ED_armature_join_objects_exec(), ED_gpencil_join_objects_exec(), gpencil_strokes_copypastebuf_colors_name_to_material_create(), gpu_material_library_init(), nlaeval_init(), postEditBoneDuplicate(), read_library_linked_ids(), RNA_init(), and text_autocomplete_build().
| GHash* BLI_ghash_str_new_ex | ( | const char * | info, |
| const unsigned int | nentries_reserve | ||
| ) |
Definition at line 222 of file BLI_ghash_utils.c.
References BLI_ghash_new_ex(), BLI_ghashutil_strcmp(), and BLI_ghashutil_strhash_p().
Referenced by armature_bone_from_name_map(), BKE_fcurve_pathcache_create(), BKE_object_defgroup_validmap_get(), BLI_ghash_str_new(), DNA_alias_maps(), DNA_sdna_alias_data_ensure_structs_map(), fsmenu_xdg_user_dirs_parse(), init_structDNA(), read_file_bhead_idname_map_create(), RNA_create(), RNA_init(), wm_gizmogrouptype_init(), wm_gizmotype_init(), WM_menutype_init(), wm_operatortype_init(), WM_paneltype_init(), and WM_uilisttype_init().
| BLI_INLINE bool BLI_ghashIterator_done | ( | GHashIterator * | ghi | ) |
Definition at line 158 of file BLI_ghash.h.
References GHashIterator::curEntry.
Referenced by BKE_main_relations_tag_set(), BKE_node_instance_hash_iterator_done(), BKE_sim_debug_data_clear_category(), BLI_gsetIterator_done(), BMO_iter_step(), check_unused_keys(), EEVEE_motion_blur_cache_finish(), EEVEE_motion_blur_swap_data(), IMB_moviecache_cleanup(), IMB_moviecacheIter_done(), menu_items_from_all_operators(), menu_items_from_ui_create(), operator_search_update_fn(), pyop_dir(), sb_detect_aabb_collisionCached(), sb_detect_edge_collisionCached(), sb_detect_face_collisionCached(), sb_detect_face_pointCached(), sb_detect_vertex_collisionCached(), SEQ_cache_cleanup(), seq_cache_cleanup_sequence(), seq_cache_free_temp_cache(), seq_cache_get_item_for_removal(), SEQ_cache_iterate(), and WM_operatortype_last_properties_clear_all().
| void BLI_ghashIterator_free | ( | GHashIterator * | ghi | ) |
Free a GHashIterator.
| ghi | The iterator to free. |
Definition at line 1105 of file BLI_ghash.c.
References MEM_freeN.
Referenced by BKE_main_relations_tag_set(), BKE_node_instance_hash_iterator_free(), BLI_gsetIterator_free(), IMB_moviecacheIter_free(), sb_detect_aabb_collisionCached(), sb_detect_edge_collisionCached(), sb_detect_face_collisionCached(), sb_detect_face_pointCached(), and sb_detect_vertex_collisionCached().
| BLI_INLINE void * BLI_ghashIterator_getKey | ( | GHashIterator * | ghi | ) |
Definition at line 146 of file BLI_ghash.h.
References GHashIterator::curEntry.
Referenced by _bmo_slot_copy(), armature_dissolve_selected_exec(), BKE_gpencil_stroke_copy_to_keyframes(), BKE_node_instance_hash_iterator_get_key(), BLI_array_store_is_valid(), BLI_gsetIterator_getKey(), bm_log_face_values_swap(), bm_log_faces_restore(), bm_log_faces_unmake(), bm_log_id_ghash_release(), bm_log_id_ghash_retake(), bm_log_vert_values_swap(), bm_log_verts_restore(), bm_log_verts_unmake(), BM_mesh_intersect(), bm_mesh_region_match_pair(), bm_uuidwalk_pass_add(), bm_uuidwalk_rehash(), BMO_iter_step(), bmo_planar_faces_exec(), BMO_slot_map_to_flag(), bpy_slot_to_py(), build_mesh_leaf_node(), check_unused_keys(), ED_curve_keyindex_hash_duplicate(), ED_object_data_xform_container_update_all(), ED_object_xform_skip_child_container_update_all(), edbm_face_split_by_edges_exec(), get_keys_sorted(), gpencil_copybuf_validate_colormap(), gpencil_fill_modal(), gpencil_joined_fix_animdata_cb(), IMB_moviecache_cleanup(), IMB_moviecache_get_cache_segments(), IMB_moviecacheIter_getUserKey(), joined_armature_fix_animdata_cb(), knife_add_cut(), mesh_customdatacorrect_restore(), modifyMesh(), sb_detect_aabb_collisionCached(), sb_detect_edge_collisionCached(), sb_detect_face_collisionCached(), sb_detect_face_pointCached(), sb_detect_vertex_collisionCached(), SEQ_cache_cleanup(), seq_cache_cleanup_sequence(), seq_cache_free_temp_cache(), seq_cache_get_item_for_removal(), SEQ_cache_iterate(), stitch_init(), and uv_sculpt_stroke_init().
| BLI_INLINE void * BLI_ghashIterator_getValue | ( | GHashIterator * | ghi | ) |
Definition at line 150 of file BLI_ghash.h.
References GHashIterator::curEntry.
Referenced by _bmo_slot_copy(), BKE_main_relations_tag_set(), BKE_node_instance_hash_iterator_get_value(), BKE_outliner_treehash_clear_used(), BKE_palette_from_hash(), BKE_sim_debug_data_clear_category(), BKE_vfont_free_data(), BLI_array_store_is_valid(), bm_log_face_values_swap(), bm_log_faces_restore(), bm_log_vert_values_swap(), bm_log_verts_restore(), bm_log_verts_unmake(), BM_mesh_intersect(), bm_uuidwalk_pass_add(), bmo_planar_faces_exec(), bpy_slot_to_py(), build_mesh_leaf_node(), check_unused_keys(), ED_curve_keyindex_hash_duplicate(), ED_gpencil_select_stroke_segment(), ED_object_data_xform_container_update_all(), ED_object_xform_skip_child_container_update_all(), edbm_face_split_by_edges_exec(), EEVEE_motion_blur_cache_finish(), EEVEE_motion_blur_swap_data(), gpencil_copybuf_validate_colormap(), gpencil_joined_fix_animdata_cb(), IMB_moviecache_cleanup(), IMB_moviecache_get_cache_segments(), IMB_moviecacheIter_getImBuf(), joined_armature_fix_animdata_cb(), knife_add_cut(), menu_items_from_all_operators(), menu_items_from_ui_create(), mesh_customdatacorrect_restore(), modifyMesh(), operator_search_update_fn(), pyop_dir(), RE_engine_get_current_tiles(), render_result_save_empty_result_tiles(), sb_detect_aabb_collisionCached(), sb_detect_edge_collisionCached(), sb_detect_face_collisionCached(), sb_detect_face_pointCached(), sb_detect_vertex_collisionCached(), seq_cache_get_item_for_removal(), text_autocomplete_build(), wm_gizmomap_select_all_intern(), WM_menutype_free(), WM_operatortype_last_properties_clear_all(), and WM_uilisttype_free().
| BLI_INLINE void ** BLI_ghashIterator_getValue_p | ( | GHashIterator * | ghi | ) |
Definition at line 154 of file BLI_ghash.h.
References GHashIterator::curEntry.
Referenced by armature_dissolve_selected_exec(), bm_uuidwalk_rehash(), and BMO_iter_step().
| void BLI_ghashIterator_init | ( | GHashIterator * | ghi, |
| GHash * | gh | ||
| ) |
Init an already allocated GHashIterator. The hash table must not be mutated while the iterator is in use, and the iterator will step exactly #BLI_ghash_len(gh) times before becoming done.
| ghi | The GHashIterator to initialize. |
| gh | The GHash to iterate over. |
Definition at line 1065 of file BLI_ghash.c.
References GHash::buckets, GHashIterator::curBucket, GHashIterator::curEntry, GHashIterator::gh, GHash::nbuckets, GHash::nentries, NULL, UINT_MAX, and UNLIKELY.
Referenced by BKE_node_instance_hash_iterator_init(), BKE_sim_debug_data_clear_category(), BLI_ghashIterator_new(), BLI_gsetIterator_init(), BMO_iter_new(), check_unused_keys(), EEVEE_motion_blur_cache_finish(), EEVEE_motion_blur_swap_data(), IMB_moviecache_cleanup(), SEQ_cache_cleanup(), seq_cache_cleanup_sequence(), seq_cache_free_temp_cache(), seq_cache_get_item_for_removal(), SEQ_cache_iterate(), WM_gizmogrouptype_iter(), WM_gizmotype_iter(), WM_menutype_iter(), and WM_operatortype_iter().
| GHashIterator* BLI_ghashIterator_new | ( | GHash * | gh | ) |
Create a new GHashIterator. The hash table must not be mutated while the iterator is in use, and the iterator will step exactly #BLI_ghash_len(gh) times before becoming done.
| gh | The GHash to iterate over. |
Definition at line 1050 of file BLI_ghash.c.
References BLI_ghashIterator_init(), and MEM_mallocN.
Referenced by BKE_main_relations_tag_set(), BKE_node_instance_hash_iterator_new(), BLI_gsetIterator_new(), IMB_moviecacheIter_new(), nodeSocketTypeGetIterator(), nodeTypeGetIterator(), ntreeTypeGetIterator(), sb_detect_aabb_collisionCached(), sb_detect_edge_collisionCached(), sb_detect_face_collisionCached(), sb_detect_face_pointCached(), and sb_detect_vertex_collisionCached().
| void BLI_ghashIterator_step | ( | GHashIterator * | ghi | ) |
Steps the iterator to the next index.
| ghi | The iterator. |
Definition at line 1086 of file BLI_ghash.c.
References GHash::buckets, GHashIterator::curBucket, GHashIterator::curEntry, GHashIterator::gh, GHash::nbuckets, and Entry::next.
Referenced by BKE_main_relations_tag_set(), BKE_node_instance_hash_iterator_step(), BKE_sim_debug_data_clear_category(), BLI_gsetIterator_step(), BMO_iter_step(), check_unused_keys(), EEVEE_motion_blur_cache_finish(), EEVEE_motion_blur_swap_data(), IMB_moviecache_cleanup(), IMB_moviecacheIter_step(), menu_items_from_all_operators(), menu_items_from_ui_create(), operator_search_update_fn(), pyop_dir(), sb_detect_aabb_collisionCached(), sb_detect_edge_collisionCached(), sb_detect_face_collisionCached(), sb_detect_face_pointCached(), sb_detect_vertex_collisionCached(), SEQ_cache_cleanup(), seq_cache_cleanup_sequence(), seq_cache_free_temp_cache(), seq_cache_get_item_for_removal(), SEQ_cache_iterate(), and WM_operatortype_last_properties_clear_all().
| size_t BLI_ghashutil_combine_hash | ( | size_t | hash_a, |
| size_t | hash_b | ||
| ) |
Definition at line 132 of file BLI_ghash_utils.c.
Referenced by BKE_idtype_cache_key_hash(), blender::fn::mf_network_optimization::compute_node_hash(), eevee_object_key_hash(), blender::deg::ComponentNode::OperationIDKey::hash(), and blender::deg::IDNode::ComponentIDKey::hash().
| bool BLI_ghashutil_intcmp | ( | const void * | a, |
| const void * | b | ||
| ) |
Definition at line 127 of file BLI_ghash_utils.c.
References Freestyle::a.
Referenced by BLI_ghash_int_new_ex(), BLI_gset_int_new_ex(), BLO_memfile_write_init(), keycmp(), and TEST().
| unsigned int BLI_ghashutil_inthash_p | ( | const void * | ptr | ) |
Definition at line 101 of file BLI_ghash_utils.c.
References ptr.
Referenced by BLI_ghash_int_new_ex(), BLI_gset_int_new_ex(), and TEST().
| unsigned int BLI_ghashutil_inthash_p_murmur | ( | const void * | ptr | ) |
Definition at line 115 of file BLI_ghash_utils.c.
References BLI_hash_mm2(), and ptr.
Referenced by TEST().
| unsigned int BLI_ghashutil_inthash_p_simple | ( | const void * | ptr | ) |
Definition at line 122 of file BLI_ghash_utils.c.
References POINTER_AS_UINT, and ptr.
Referenced by BLO_memfile_write_init().
| GHashPair* BLI_ghashutil_pairalloc | ( | const void * | first, |
| const void * | second | ||
| ) |
Definition at line 179 of file BLI_ghash_utils.c.
References GHashPair::first, MEM_mallocN, and GHashPair::second.
Referenced by bm_edgering_pair_calc().
| bool BLI_ghashutil_paircmp | ( | const void * | a, |
| const void * | b | ||
| ) |
Definition at line 194 of file BLI_ghash_utils.c.
References A, Freestyle::a, and B.
Referenced by BLI_ghash_pair_new_ex(), and BLI_gset_pair_new_ex().
| void BLI_ghashutil_pairfree | ( | void * | ptr | ) |
Definition at line 202 of file BLI_ghash_utils.c.
| unsigned int BLI_ghashutil_pairhash | ( | const void * | ptr | ) |
Definition at line 187 of file BLI_ghash_utils.c.
References BLI_ghashutil_ptrhash(), GHashPair::first, hash, ptr, and GHashPair::second.
Referenced by BLI_ghash_pair_new_ex(), and BLI_gset_pair_new_ex().
| bool BLI_ghashutil_ptrcmp | ( | const void * | a, |
| const void * | b | ||
| ) |
Definition at line 61 of file BLI_ghash_utils.c.
References Freestyle::a.
Referenced by BKE_lib_override_library_resync(), BKE_main_gset_create(), BKE_main_relations_create(), BLI_ghash_ptr_new_ex(), BLI_gset_ptr_new_ex(), BLO_memfile_merge(), EEVEE_motion_blur_data_init(), GPU_material_from_nodetree(), library_foreach_ID_link(), select_more_less_seq__internal(), selected_items_init(), stats_update(), view_layer_bases_hash_create(), and wm_link_append_exec().
| unsigned int BLI_ghashutil_ptrhash | ( | const void * | key | ) |
Callbacks for GHash (BLI_ghashutil_)
Definition at line 50 of file BLI_ghash_utils.c.
References y.
Referenced by BKE_idtype_cache_key_hash(), BKE_lib_override_library_resync(), BKE_main_gset_create(), BKE_main_relations_create(), BLI_ghash_ptr_new_ex(), BLI_ghashutil_pairhash(), BLI_gset_ptr_new_ex(), BLO_memfile_merge(), depsgraph_key_hash(), dupliobject_hash(), EEVEE_motion_blur_data_init(), eevee_object_key_hash(), GPU_material_from_nodetree(), idkey_hash(), library_foreach_ID_link(), nlaevalchan_keyhash(), select_more_less_seq__internal(), selected_items_init(), stats_update(), tse_hash(), view_layer_bases_hash_create(), and wm_link_append_exec().
| bool BLI_ghashutil_strcmp | ( | const void * | a, |
| const void * | b | ||
| ) |
Definition at line 174 of file BLI_ghash_utils.c.
References Freestyle::a, and STREQ.
Referenced by BKE_scene_undo_depsgraphs_extract(), BLI_ghash_str_new_ex(), BLI_gset_str_new_ex(), ensure_ed_screen_context_functions(), make(), override_library_rna_path_mapping_ensure(), seq_build_proxy(), seq_proxy_build_job(), sequencer_rebuild_proxy_exec(), TEST(), and wm_link_append_exec().
| unsigned int BLI_ghashutil_strhash_n | ( | const char * | key, |
| size_t | n | ||
| ) |
This function implements the widely used "djb" hash apparently posted by Daniel Bernstein to comp.lang.c some time ago. The 32 bit unsigned hash value starts at 5381 and for each byte 'c' in the string, is updated: hash = hash * 33 + c. This function uses the signed value of each byte.
note: this is the same hash method that glib 2.34.0 uses.
Definition at line 146 of file BLI_ghash_utils.c.
Referenced by ui_popup_string_hash().
| unsigned int BLI_ghashutil_strhash_p | ( | const void * | ptr | ) |
Definition at line 157 of file BLI_ghash_utils.c.
References ptr.
Referenced by BKE_scene_undo_depsgraphs_extract(), BKE_sim_debug_data_add_element(), BKE_sim_debug_data_clear_category(), BLI_ghash_str_new_ex(), BLI_gset_str_new_ex(), curve_select_random_exec(), edbm_select_random_exec(), edbm_sort_elements_exec(), gpu_node_graph_finalize_uniform_attrs(), blender::deg::ComponentNode::OperationIDKey::hash(), blender::deg::IDNode::ComponentIDKey::hash(), image_foreach_cache(), node_foreach_cache(), object_rand_verts_exec(), select_random_metaelems_exec(), seq_build_proxy(), seq_proxy_build_job(), sequencer_rebuild_proxy_exec(), strhash_pair_p(), TEST(), and wm_link_append_exec().
| unsigned int BLI_ghashutil_strhash_p_murmur | ( | const void * | ptr | ) |
Definition at line 168 of file BLI_ghash_utils.c.
References BLI_hash_mm2(), and ptr.
Referenced by ensure_ed_screen_context_functions(), gpencil_layer_random_color_get(), GPU_vertformat_safe_attr_name(), make(), override_library_rna_path_mapping_ensure(), TEST(), and workbench_material_ubo_data().
| unsigned int BLI_ghashutil_uinthash | ( | unsigned int | key | ) |
Definition at line 89 of file BLI_ghash_utils.c.
Referenced by BKE_idtype_cache_key_hash(), BKE_sim_debug_data_hash(), gpu_node_graph_finalize_uniform_attrs(), blender::deg::ComponentNode::OperationIDKey::hash(), blender::deg::IDNode::ComponentIDKey::hash(), and uv_edge_hash().
| unsigned int BLI_ghashutil_uinthash_v4 | ( | const unsigned int | key[4] | ) |
Definition at line 66 of file BLI_ghash_utils.c.
References hash.
| bool BLI_ghashutil_uinthash_v4_cmp | ( | const void * | a, |
| const void * | b | ||
| ) |
Definition at line 84 of file BLI_ghash_utils.c.
References Freestyle::a.
Referenced by filelist_cache_init(), filelist_new(), and TEST().
| unsigned int BLI_ghashutil_uinthash_v4_murmur | ( | const unsigned int | key[4] | ) |
Definition at line 79 of file BLI_ghash_utils.c.
References BLI_hash_mm2().
| bool BLI_gset_add | ( | GSet * | gs, |
| void * | key | ||
| ) |
A version of BLI_gset_insert which checks first if the key is in the set.
Definition at line 1160 of file BLI_ghash.c.
References ghash_insert_safe_keyonly(), and NULL.
Referenced by add_selected_item(), animdata_filter_remove_duplis(), BKE_fcurves_calc_keyed_frames_ex(), BKE_lib_query_foreachid_process(), BKE_library_foreach_ID_embedded(), BKE_library_make_local(), BKE_main_gset_create(), BKE_main_id_repair_duplicate_names_listbase(), BKE_pbvh_get_grid_updates(), BLO_blendhandle_get_linkable_groups(), bm_isect_tri_tri(), BM_mesh_intersect(), bmw_FaceLoopWalker_step(), code_generate_fragment(), collection_find_data_to_edit(), count_active_texture_sampler(), createTransObject(), do_render_compositor_scenes(), drw_batch_cache_generate_requested_delayed(), ED_object_xform_skip_child_container_item_ensure_from_array(), gpencil_select_same_material(), gpu_material_use_library_with_dependencies(), IMB_thumb_path_lock(), knife_make_face_cuts(), layer_collection_find_data_to_edit(), library_foreach_ID_link(), library_make_local_copying_check(), loop_find_region(), make_structDNA(), menu_items_from_ui_create(), menu_types_add_from_keymap_items(), nla_eval_domain_action(), outliner_find_objects_to_delete(), outliner_hide_find_data_to_edit(), pbvh_bmesh_collapse_edge(), pbvh_bmesh_create_nodes_fast_recursive(), pbvh_bmesh_node_finalize(), pbvh_bmesh_split_edge(), pose_face_sets_fk_find_masked_floodfill_cb(), pose_face_sets_floodfill_cb(), pose_ik_chain_init_face_sets(), py_bvhtree_overlap(), sculpt_boundary_index_add(), sculpt_expand_geodesics_from_state_boundary(), sculpt_expand_modal(), sculpt_expand_snap_initialize_from_enabled(), SCULPT_geodesic_from_vertex(), SCULPT_geodesic_from_vertex_and_symm(), select_more_less_seq__internal(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), skin_root_clear(), skin_root_mark_exec(), stats_object(), uv_rip_pairs_add(), uv_rip_single_from_loop(), uv_select_overlap(), and wm_msg_rna_update_by_id().
| void BLI_gset_clear | ( | GSet * | gs, |
| GSetKeyFreeFP | keyfreefp | ||
| ) |
Definition at line 1248 of file BLI_ghash.c.
References BLI_ghash_clear(), and NULL.
Referenced by bm_uuidwalk_clear(), bm_uuidwalk_pass_add(), bmw_EdgeLoopWalker_begin(), bmw_EdgeringWalker_begin(), bmw_FaceLoopWalker_begin(), BMW_reset(), knife_make_face_cuts(), and make_structDNA().
| void BLI_gset_clear_ex | ( | GSet * | gs, |
| GSetKeyFreeFP | keyfreefp, | ||
| const unsigned int | nentries_reserve | ||
| ) |
Definition at line 1243 of file BLI_ghash.c.
References BLI_ghash_clear_ex(), and NULL.
| GSet* BLI_gset_copy | ( | GSet * | gs, |
| GHashKeyCopyFP | keycopyfp | ||
| ) |
Copy given GSet. Keys are also copied if callback is provided, else pointers remain the same.
Definition at line 1133 of file BLI_ghash.c.
References ghash_copy(), and NULL.
| bool BLI_gset_ensure_p_ex | ( | GSet * | gs, |
| const void * | key, | ||
| void *** | r_key | ||
| ) |
Set counterpart to BLI_ghash_ensure_p_ex. similar to BLI_gset_add, except it returns the key pointer.
Definition at line 1171 of file BLI_ghash.c.
References BLI_mempool_alloc(), e, ghash_bucket_index(), ghash_insert_ex_keyonly_entry(), ghash_keyhash(), ghash_lookup_entry_ex(), hash, and NULL.
Referenced by bm_edgering_pair_calc(), IMB_anim_index_rebuild_context(), object_base_unique(), and WM_msg_subscribe_with_key().
| void BLI_gset_flag_clear | ( | GSet * | gs, |
| unsigned int | flag | ||
| ) |
Definition at line 1263 of file BLI_ghash.c.
References BLI_mempool::flag.
| void BLI_gset_flag_set | ( | GSet * | gs, |
| unsigned int | flag | ||
| ) |
Definition at line 1258 of file BLI_ghash.c.
References BLI_mempool::flag.
Referenced by BKE_mesh_merge_verts().
| void BLI_gset_free | ( | GSet * | gs, |
| GSetKeyFreeFP | keyfreefp | ||
| ) |
Definition at line 1253 of file BLI_ghash.c.
References BLI_ghash_free(), and NULL.
Referenced by animdata_filter_remove_duplis(), animsys_evaluate_nla_domain(), BKE_fcurves_calc_keyed_frames_ex(), BKE_library_make_local(), BKE_main_id_repair_duplicate_names_listbase(), BKE_main_idmap_destroy(), BKE_modifier_check_uuids_unique_and_report(), BKE_pbvh_free(), BKE_pbvh_get_grid_updates(), BKE_pose_check_uuids_unique_and_report(), BKE_scene_objects_iterator_end(), BLO_blendhandle_get_linkable_groups(), bm_edgering_pair_calc(), BM_mesh_beautify_fill(), BM_mesh_intersect(), bm_uuidwalk_free(), bmo_grid_fill_exec(), bmo_subdivide_edgering_exec(), BMW_end(), bone_mouse_select_menu(), cachefile_handle_free(), code_generate_fragment(), collection_flag_exec(), collection_instance_exec(), collection_isolate_exec(), collection_link_exec(), collection_view_layer_exec(), collection_visibility_exec(), collections_view_layer_poll(), count_active_texture_sampler(), createTransObject(), do_render_compositor_scenes(), drw_task_graph_deinit(), ED_image_save_all_modified_info(), ED_object_xform_skip_child_container_item_ensure_from_array(), gpencil_select_same_material(), gpu_material_free_single(), IMB_thumb_locks_release(), join_tracks_exec(), knifetool_exit_ex(), lib_override_library_create_post_process(), library_foreach_ID_link(), loop_find_regions(), make_structDNA(), menu_items_from_ui_create(), outliner_collection_delete(), outliner_delete_exec(), outliner_hide_exec(), pbvh_bmesh_node_split(), pose_ik_chain_init_face_sets(), pose_ik_chain_init_face_sets_fk(), py_bvhtree_overlap(), recalcData_pose(), sculpt_boundary_indices_init(), sculpt_expand_cache_data_free(), sculpt_expand_geodesics_from_state_boundary(), sculpt_expand_modal(), SCULPT_geodesic_from_vertex(), SCULPT_geodesic_from_vertex_and_symm(), select_more_less_seq__internal(), selected_items_free(), seq_build_proxy(), seq_proxy_build_job(), SEQ_relations_check_uuids_unique_and_report(), sequencer_rebuild_proxy_exec(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), skin_root_mark_exec(), special_aftertrans_update__pose(), stats_update(), uv_rip_pairs_free(), uv_rip_single_free(), uv_select_overlap(), wm_link_append_exec(), and WM_msgbus_destroy().
| bool BLI_gset_haskey | ( | GSet * | gs, |
| const void * | key | ||
| ) |
Definition at line 1216 of file BLI_ghash.c.
References ghash_lookup_entry(), and NULL.
Referenced by BKE_main_idmap_lookup_id(), BKE_mesh_merge_verts(), bm_edge_update_beauty_cost_single(), BM_mesh_beautify_fill(), BM_mesh_intersect(), bm_uuidwalk_pass_add(), bmw_ConnectedVertexWalker_step(), bmw_ConnectedVertexWalker_visitVertex(), bmw_EdgeboundaryWalker_begin(), bmw_EdgeboundaryWalker_step(), bmw_EdgeLoopWalker_step(), bmw_EdgeringWalker_step(), bmw_FaceLoopWalker_include_face(), bmw_FaceShellWalker_visitEdge(), bmw_IslandboundWalker_step(), bmw_IslandWalker_step_ex(), bmw_LoopShellWalker_visitEdgeWire(), bmw_LoopShellWalker_visitLoop(), bmw_LoopShellWireWalker_visitVert(), bmw_NonManifoldedgeWalker_begin(), bmw_NonManifoldedgeWalker_step(), bmw_UVEdgeWalker_begin(), bmw_UVEdgeWalker_step(), bmw_VertShellWalker_visitEdge(), bone_mouse_select_menu(), code_generate_fragment(), createTransObject(), do_render_compositor_scenes(), ED_image_save_all_modified_info(), ED_object_xform_skip_child_container_item_ensure_from_array(), gpencil_select_same_material(), gpu_material_library_generate_code(), is_edit_bone_selected(), is_object_selected(), is_pose_bone_selected(), library_make_local_copying_check(), loop_find_regions(), pbvh_bmesh_collapse_edge(), pbvh_bmesh_create_nodes_fast_recursive(), pbvh_bmesh_face_remove(), pbvh_bmesh_node_finalize(), pbvh_bmesh_split_edge(), pbvh_bmesh_vert_ownership_transfer(), pbvh_bmesh_vert_remove(), pose_face_sets_fk_find_masked_floodfill_cb(), pose_face_sets_floodfill_cb(), sculpt_boundary_indices_init(), sculpt_expand_face_state_get(), sculpt_expand_modal(), sculpt_expand_state_get(), SCULPT_geodesic_mesh_create(), sculpt_geodesic_mesh_test_dist_add(), uv_rip_pairs_add(), uv_rip_pairs_remove(), wm_link_append_exec(), and wm_msg_rna_update_by_id().
| void BLI_gset_insert | ( | GSet * | gs, |
| void * | key | ||
| ) |
Adds the key to the set (no checks for unique keys!). Matching BLI_ghash_insert
Definition at line 1147 of file BLI_ghash.c.
References ghash_bucket_index(), ghash_insert_ex_keyonly(), ghash_keyhash(), and hash.
Referenced by BKE_mesh_merge_verts(), BKE_modifier_check_uuids_unique_and_report(), BKE_pose_check_uuids_unique_and_report(), bm_isect_tri_tri(), BM_mesh_beautify_fill(), BM_mesh_intersect(), bm_uuidwalk_pass_add(), bmw_ConnectedVertexWalker_visitVertex(), bmw_EdgeboundaryWalker_begin(), bmw_EdgeboundaryWalker_step(), bmw_EdgeLoopWalker_begin(), bmw_EdgeLoopWalker_step(), bmw_EdgeringWalker_begin(), bmw_EdgeringWalker_step(), bmw_FaceLoopWalker_begin(), bmw_FaceShellWalker_visitEdge(), bmw_IslandboundWalker_begin(), bmw_IslandboundWalker_step(), bmw_IslandWalker_begin(), bmw_IslandWalker_step_ex(), bmw_LoopShellWalker_visitEdgeWire(), bmw_LoopShellWalker_visitLoop(), bmw_LoopShellWireWalker_visitVert(), bmw_NonManifoldedgeWalker_begin(), bmw_NonManifoldedgeWalker_step(), bmw_UVEdgeWalker_begin(), bmw_UVEdgeWalker_step(), bmw_VertShellWalker_visitEdge(), bone_mouse_select_menu(), ED_image_save_all_modified_info(), join_tracks_exec(), library_make_local_copying_check(), loop_find_region(), pbvh_bmesh_create_nodes_fast_recursive(), pbvh_bmesh_face_create(), pbvh_bmesh_node_finalize(), pbvh_bmesh_node_split(), pbvh_bmesh_vert_create(), pbvh_bmesh_vert_ownership_transfer(), recalcData_pose(), SEQ_relations_check_uuids_unique_and_report(), special_aftertrans_update__pose(), and wm_link_append_exec().
| GSet* BLI_gset_int_new | ( | const char * | info | ) |
Definition at line 286 of file BLI_ghash_utils.c.
References BLI_gset_int_new_ex().
Referenced by BKE_fcurves_calc_keyed_frames_ex(), code_generate_fragment(), count_active_texture_sampler(), sculpt_expand_geodesics_from_state_boundary(), sculpt_expand_modal(), SCULPT_geodesic_from_vertex(), and SCULPT_geodesic_from_vertex_and_symm().
| GSet* BLI_gset_int_new_ex | ( | const char * | info, |
| const unsigned int | nentries_reserve | ||
| ) |
Definition at line 282 of file BLI_ghash_utils.c.
References BLI_ghashutil_intcmp(), BLI_ghashutil_inthash_p(), and BLI_gset_new_ex().
Referenced by BLI_gset_int_new(), pose_ik_chain_init_face_sets(), pose_ik_chain_init_face_sets_fk(), and sculpt_boundary_indices_init().
| unsigned int BLI_gset_len | ( | GSet * | gs | ) |
Definition at line 1138 of file BLI_ghash.c.
Referenced by BKE_fcurves_calc_keyed_frames_ex(), BKE_library_make_local(), BKE_pbvh_bmesh_node_save_orig(), BKE_pbvh_get_grid_updates(), BKE_pbvh_node_num_verts(), bm_edgering_pair_calc(), BM_mesh_intersect(), bm_uuidwalk_pass_add(), bmo_subdivide_edgering_exec(), GPU_pbvh_bmesh_buffers_update(), knife_make_face_cuts(), pbvh_bmesh_node_limit_ensure(), pbvh_bmesh_node_split(), similar_vert_select_exec(), and uv_rip_pairs_calc_center_and_direction().
| void* BLI_gset_lookup | ( | GSet * | gs, |
| const void * | key | ||
| ) |
Returns the pointer to the key if it's found.
Definition at line 1280 of file BLI_ghash.c.
References e, ghash_lookup_entry(), and NULL.
Referenced by BKE_modifier_check_uuids_unique_and_report(), BKE_pose_check_uuids_unique_and_report(), lib_override_library_create_post_process(), SEQ_relations_check_uuids_unique_and_report(), WM_msg_lookup_rna(), and WM_msg_lookup_static().
| GSet* BLI_gset_new | ( | GSetHashFP | hashfp, |
| GSetCmpFP | cmpfp, | ||
| const char * | info | ||
| ) |
Definition at line 1125 of file BLI_ghash.c.
References BLI_gset_new_ex().
Referenced by BKE_main_gset_create(), BKE_modifier_check_uuids_unique_and_report(), BKE_pose_check_uuids_unique_and_report(), erot_gset_new(), GPU_material_from_nodetree(), library_foreach_ID_link(), select_more_less_seq__internal(), selected_items_init(), seq_build_proxy(), seq_proxy_build_job(), SEQ_relations_check_uuids_unique_and_report(), sequencer_rebuild_proxy_exec(), and stats_update().
| GSet* BLI_gset_new_ex | ( | GSetHashFP | hashfp, |
| GSetCmpFP | cmpfp, | ||
| const char * | info, | ||
| const unsigned int | nentries_reserve | ||
| ) |
Definition at line 1117 of file BLI_ghash.c.
References ghash_new().
Referenced by BKE_mesh_merge_verts(), BLI_gset_int_new_ex(), BLI_gset_new(), BLI_gset_pair_new_ex(), BLI_gset_ptr_new_ex(), BLI_gset_str_new_ex(), gset_bmelem_new_ex(), py_bvhtree_overlap(), uv_select_overlap(), wm_link_append_exec(), and WM_msgbus_create().
| GSet* BLI_gset_pair_new | ( | const char * | info | ) |
Definition at line 277 of file BLI_ghash_utils.c.
References BLI_gset_pair_new_ex().
Referenced by bm_edgering_pair_calc().
| GSet* BLI_gset_pair_new_ex | ( | const char * | info, |
| const unsigned int | nentries_reserve | ||
| ) |
Definition at line 273 of file BLI_ghash_utils.c.
References BLI_ghashutil_paircmp(), BLI_ghashutil_pairhash(), and BLI_gset_new_ex().
Referenced by BLI_gset_pair_new().
| bool BLI_gset_pop | ( | GSet * | gs, |
| GSetIterState * | state, | ||
| void ** | r_key | ||
| ) |
Remove a random entry from gs, returning true if a key could be removed, false otherwise.
| r_key | The removed key. |
| state | Used for efficient removal. |
Definition at line 1228 of file BLI_ghash.c.
References BLI_mempool_free(), e, ghash_pop(), NULL, and state.
| void* BLI_gset_pop_key | ( | GSet * | gs, |
| const void * | key | ||
| ) |
Returns the pointer to the key if it's found, removing it from the GSet.
Definition at line 1290 of file BLI_ghash.c.
References BLI_mempool_free(), e, ghash_bucket_index(), ghash_keyhash(), ghash_remove_ex(), hash, and NULL.
| GSet* BLI_gset_ptr_new | ( | const char * | info | ) |
Definition at line 259 of file BLI_ghash_utils.c.
References BLI_gset_ptr_new_ex().
Referenced by animdata_filter_remove_duplis(), animsys_evaluate_nla_domain(), BKE_cachefile_reader_open(), BKE_library_make_local(), BKE_pbvh_get_grid_updates(), BLO_blendhandle_get_linkable_groups(), BM_mesh_intersect(), bmo_grid_fill_exec(), BMW_init(), bone_mouse_select_menu(), collection_flag_exec(), collection_instance_exec(), collection_isolate_exec(), collection_link_exec(), collection_view_layer_exec(), collection_visibility_exec(), collections_view_layer_poll(), do_render_compositor_scenes(), drw_task_graph_init(), join_tracks_exec(), knifetool_init(), menu_items_from_ui_create(), outliner_collection_delete(), outliner_delete_exec(), outliner_hide_exec(), pbvh_bmesh_create_nodes_fast_recursive(), pbvh_bmesh_node_finalize(), recalcData_pose(), scene_objects_iterator_begin(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), skin_root_mark_exec(), special_aftertrans_update__pose(), uv_rip_pairs_from_loop(), and uv_rip_single_from_loop().
| GSet* BLI_gset_ptr_new_ex | ( | const char * | info, |
| const unsigned int | nentries_reserve | ||
| ) |
Definition at line 255 of file BLI_ghash_utils.c.
References BLI_ghashutil_ptrcmp(), BLI_ghashutil_ptrhash(), and BLI_gset_new_ex().
Referenced by BLI_gset_ptr_new(), createTransObject(), ED_object_xform_skip_child_container_item_ensure_from_array(), loop_find_regions(), pbvh_bmesh_create_nodes_fast_recursive(), and pbvh_bmesh_node_split().
| bool BLI_gset_reinsert | ( | GSet * | gs, |
| void * | key, | ||
| GSetKeyFreeFP | keyfreefp | ||
| ) |
Adds the key to the set (duplicates are managed). Matching BLI_ghash_reinsert
Definition at line 1195 of file BLI_ghash.c.
References ghash_insert_safe_keyonly().
Referenced by BKE_cachefile_reader_open().
| bool BLI_gset_remove | ( | GSet * | gs, |
| const void * | key, | ||
| GSetKeyFreeFP | keyfreefp | ||
| ) |
Definition at line 1211 of file BLI_ghash.c.
References BLI_ghash_remove(), and NULL.
Referenced by BKE_cachefile_reader_free(), BKE_cachefile_reader_open(), BM_mesh_intersect(), IMB_thumb_path_unlock(), library_make_local_copying_check(), menu_items_from_ui_create(), pbvh_bmesh_face_remove(), pbvh_bmesh_node_split(), pbvh_bmesh_vert_ownership_transfer(), pbvh_bmesh_vert_remove(), sculpt_expand_snap_initialize_from_enabled(), uv_rip_pairs_remove(), wm_msg_rna_remove_by_id(), wm_msg_rna_update_by_id(), and WM_msgbus_clear_by_owner().
| void* BLI_gset_replace_key | ( | GSet * | gs, |
| void * | key | ||
| ) |
Replaces the key to the set if it's found. Matching BLI_ghash_replace_key
Definition at line 1206 of file BLI_ghash.c.
References BLI_ghash_replace_key().
| GSet* BLI_gset_str_new | ( | const char * | info | ) |
Definition at line 268 of file BLI_ghash_utils.c.
References BLI_gset_str_new_ex().
Referenced by ED_image_save_all_modified_info(), gpencil_select_same_material(), IMB_thumb_locks_acquire(), and similar_vert_select_exec().
| GSet* BLI_gset_str_new_ex | ( | const char * | info, |
| const unsigned int | nentries_reserve | ||
| ) |
Definition at line 264 of file BLI_ghash_utils.c.
References BLI_ghashutil_strcmp(), BLI_ghashutil_strhash_p(), and BLI_gset_new_ex().
Referenced by BKE_main_id_repair_duplicate_names_listbase(), BLI_gset_str_new(), and make_structDNA().
| BLI_INLINE bool BLI_gsetIterator_done | ( | GSetIterator * | gsi | ) |
Definition at line 263 of file BLI_ghash.h.
References BLI_ghashIterator_done().
Referenced by select_more_less_seq__internal(), wm_msg_rna_remove_by_id(), and wm_msg_rna_update_by_id().
| BLI_INLINE void BLI_gsetIterator_free | ( | GSetIterator * | gsi | ) |
Definition at line 251 of file BLI_ghash.h.
References BLI_ghashIterator_free().
| BLI_INLINE void* BLI_gsetIterator_getKey | ( | GSetIterator * | gsi | ) |
Definition at line 255 of file BLI_ghash.h.
References BLI_ghashIterator_getKey().
Referenced by BKE_fcurves_calc_keyed_frames_ex(), BKE_pbvh_bmesh_node_raycast_detail(), BKE_pbvh_bmesh_node_save_orig(), BKE_pbvh_get_grid_updates(), BM_mesh_intersect(), bmo_grid_fill_exec(), bmo_subdivide_edgering_exec(), cachefile_handle_free(), collection_flag_exec(), collection_instance_exec(), collection_isolate_exec(), collection_link_exec(), collection_view_layer_exec(), collection_visibility_exec(), collections_view_layer_poll(), gpu_bmesh_face_visible_count(), gpu_bmesh_vert_visible_count(), GPU_pbvh_bmesh_buffers_update(), join_tracks_exec(), long_edge_queue_create(), outliner_collection_delete(), outliner_do_object_delete(), outliner_hide_exec(), partialvis_update_bmesh_faces(), partialvis_update_bmesh_verts(), pbvh_bmesh_node_finalize(), pbvh_bmesh_node_limit_ensure(), pbvh_bmesh_node_nearest_to_ray(), pbvh_bmesh_node_raycast(), pbvh_bmesh_node_split(), pbvh_bmesh_node_visibility_update(), pbvh_bmesh_normals_update(), pose_face_sets_floodfill_cb(), recalcData_pose(), SCULPT_geodesic_fallback_create(), SCULPT_geodesic_mesh_create(), sculpt_undo_bmesh_push(), select_more_less_seq__internal(), short_edge_queue_create(), similar_edge_select_exec(), similar_face_select_exec(), similar_vert_select_exec(), special_aftertrans_update__pose(), uv_rip_object(), uv_rip_pairs_calc_center_and_direction(), uv_rip_single_from_loop(), wm_msg_rna_remove_by_id(), and wm_msg_rna_update_by_id().
| BLI_INLINE void BLI_gsetIterator_init | ( | GSetIterator * | gsi, |
| GSet * | gs | ||
| ) |
Definition at line 247 of file BLI_ghash.h.
References BLI_ghashIterator_init().
Referenced by pbvh_vertex_iter_init(), select_more_less_seq__internal(), wm_msg_rna_remove_by_id(), and wm_msg_rna_update_by_id().
| BLI_INLINE GSetIterator* BLI_gsetIterator_new | ( | GSet * | gs | ) |
Definition at line 243 of file BLI_ghash.h.
References BLI_ghashIterator_new().
| BLI_INLINE void BLI_gsetIterator_step | ( | GSetIterator * | gsi | ) |
Definition at line 259 of file BLI_ghash.h.
References BLI_ghashIterator_step().
Referenced by select_more_less_seq__internal(), wm_msg_rna_remove_by_id(), and wm_msg_rna_update_by_id().