Blender  V3.3
BKE_outliner_treehash.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 #pragma once
3 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 struct BLI_mempool;
13 struct ID;
14 struct TreeStoreElem;
15 
16 /* create and fill hashtable with treestore elements */
18 
19 /* full rebuild for already allocated hashtable */
20 void *BKE_outliner_treehash_rebuild_from_treestore(void *treehash, struct BLI_mempool *treestore);
21 
22 /* clear element usage flags */
23 void BKE_outliner_treehash_clear_used(void *treehash);
24 
25 /* Add/remove hashtable elements */
26 void BKE_outliner_treehash_add_element(void *treehash, struct TreeStoreElem *elem);
27 void BKE_outliner_treehash_remove_element(void *treehash, struct TreeStoreElem *elem);
28 
29 /* find first unused element with specific type, nr and id */
31  short type,
32  short nr,
33  struct ID *id);
34 
35 /* find user or unused element with specific type, nr and id */
36 struct TreeStoreElem *BKE_outliner_treehash_lookup_any(void *treehash,
37  short type,
38  short nr,
39  struct ID *id);
40 
41 /* free treehash structure */
42 void BKE_outliner_treehash_free(void *treehash);
43 
44 #ifdef __cplusplus
45 }
46 #endif
void BKE_outliner_treehash_clear_used(void *treehash)
struct TreeStoreElem * BKE_outliner_treehash_lookup_unused(void *treehash, short type, short nr, struct ID *id)
struct TreeStoreElem * BKE_outliner_treehash_lookup_any(void *treehash, short type, short nr, struct ID *id)
void * BKE_outliner_treehash_create_from_treestore(struct BLI_mempool *treestore)
void * BKE_outliner_treehash_rebuild_from_treestore(void *treehash, struct BLI_mempool *treestore)
void BKE_outliner_treehash_free(void *treehash)
void BKE_outliner_treehash_add_element(void *treehash, struct TreeStoreElem *elem)
void BKE_outliner_treehash_remove_element(void *treehash, struct TreeStoreElem *elem)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Definition: DNA_ID.h:368