Blender  V3.3
Classes | Macros | Typedefs | Functions
outliner_treehash.c File Reference
#include <stdlib.h>
#include <string.h>
#include "BLI_ghash.h"
#include "BLI_mempool.h"
#include "BLI_utildefines.h"
#include "DNA_outliner_types.h"
#include "BKE_outliner_treehash.h"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

struct  TseGroup
 

Macros

#define TSEGROUP_LASTUSED_RESET_VALUE   10000
 

Typedefs

typedef struct TseGroup TseGroup
 

Functions

static TseGrouptse_group_create (void)
 
static void tse_group_add_element (TseGroup *tse_group, TreeStoreElem *elem)
 
static void tse_group_remove_element (TseGroup *tse_group, TreeStoreElem *elem)
 
static void tse_group_free (TseGroup *tse_group)
 
static unsigned int tse_hash (const void *ptr)
 
static bool tse_cmp (const void *a, const void *b)
 
static void fill_treehash (void *treehash, BLI_mempool *treestore)
 
voidBKE_outliner_treehash_create_from_treestore (BLI_mempool *treestore)
 
static void free_treehash_group (void *key)
 
void BKE_outliner_treehash_clear_used (void *treehash)
 
voidBKE_outliner_treehash_rebuild_from_treestore (void *treehash, BLI_mempool *treestore)
 
void BKE_outliner_treehash_add_element (void *treehash, TreeStoreElem *elem)
 
void BKE_outliner_treehash_remove_element (void *treehash, TreeStoreElem *elem)
 
static TseGroupBKE_outliner_treehash_lookup_group (GHash *th, short type, short nr, struct ID *id)
 
TreeStoreElemBKE_outliner_treehash_lookup_unused (void *treehash, short type, short nr, struct ID *id)
 
TreeStoreElemBKE_outliner_treehash_lookup_any (void *treehash, short type, short nr, struct ID *id)
 
void BKE_outliner_treehash_free (void *treehash)
 

Detailed Description

Tree hash for the outliner space.

Definition in file outliner_treehash.c.

Macro Definition Documentation

◆ TSEGROUP_LASTUSED_RESET_VALUE

#define TSEGROUP_LASTUSED_RESET_VALUE   10000

Definition at line 36 of file outliner_treehash.c.

Typedef Documentation

◆ TseGroup

typedef struct TseGroup TseGroup

Function Documentation

◆ BKE_outliner_treehash_add_element()

void BKE_outliner_treehash_add_element ( void treehash,
TreeStoreElem elem 
)

◆ BKE_outliner_treehash_clear_used()

void BKE_outliner_treehash_clear_used ( void treehash)

◆ BKE_outliner_treehash_create_from_treestore()

void* BKE_outliner_treehash_create_from_treestore ( BLI_mempool treestore)

◆ BKE_outliner_treehash_free()

void BKE_outliner_treehash_free ( void treehash)

◆ BKE_outliner_treehash_lookup_any()

TreeStoreElem* BKE_outliner_treehash_lookup_any ( void treehash,
short  type,
short  nr,
struct ID id 
)

◆ BKE_outliner_treehash_lookup_group()

static TseGroup* BKE_outliner_treehash_lookup_group ( GHash th,
short  type,
short  nr,
struct ID id 
)
static

◆ BKE_outliner_treehash_lookup_unused()

TreeStoreElem* BKE_outliner_treehash_lookup_unused ( void treehash,
short  type,
short  nr,
struct ID id 
)

◆ BKE_outliner_treehash_rebuild_from_treestore()

void* BKE_outliner_treehash_rebuild_from_treestore ( void treehash,
BLI_mempool treestore 
)

◆ BKE_outliner_treehash_remove_element()

void BKE_outliner_treehash_remove_element ( void treehash,
TreeStoreElem elem 
)

◆ fill_treehash()

static void fill_treehash ( void treehash,
BLI_mempool treestore 
)
static

◆ free_treehash_group()

static void free_treehash_group ( void key)
static

◆ tse_cmp()

static bool tse_cmp ( const void a,
const void b 
)
static

◆ tse_group_add_element()

static void tse_group_add_element ( TseGroup tse_group,
TreeStoreElem elem 
)
static

◆ tse_group_create()

static TseGroup* tse_group_create ( void  )
static

◆ tse_group_free()

static void tse_group_free ( TseGroup tse_group)
static

Definition at line 86 of file outliner_treehash.c.

References TseGroup::elems, and MEM_freeN.

Referenced by free_treehash_group().

◆ tse_group_remove_element()

static void tse_group_remove_element ( TseGroup tse_group,
TreeStoreElem elem 
)
static

◆ tse_hash()

static unsigned int tse_hash ( const void ptr)
static