Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-04-15 | GHash: add typed hash functions (were all (void *)) | Campbell Barton | |
- BLI_ghashutil_strhash_n takes string length, to avoid terminating the string before hashing. - BLI_ghashutil_inthash/uinthash take ints, to avoid casting to (void *) This also showed up incorrect use of inthash, which was using a pointer. | |||
2013-08-28 | style cleanup | Campbell Barton | |
2013-08-26 | BKI_gset and EdgeSet api, use when hash values aren't used (reuses ghash ↵ | Campbell Barton | |
internally without allocating space for the value). | |||
2013-08-25 | clearing the mempool can now keep more then a single element reserved. | Campbell Barton | |
2013-08-24 | ghash: reserve size when its known or can be guessed close enough. | Campbell Barton | |
also avoid allocs per node in pbvh_bmesh_node_limit_ensure() | |||
2013-08-24 | add GPL header to treehash.c and add missing includes to cmake. | Campbell Barton | |
2013-08-24 | Fix state losses for recursive outliner trees (e.g. datablocks editor) | Sv. Lockal | |
In previous optimization in outliner I assumed that order in treehash was not important. But testing outliner in datablocks mode revealed a problem: when user expands multiple recursive levels and then closes any element, it always closed the top level of recursion. Now it should work fine with recursive trees. Now treehash contains groups of elements indexed by (id,nr,type). Adding an element with the same (id,nr,type) results in appending it to existing group. No duplicates are possible in treehash. This commit should also make lookups a little bit faster, because searching in small arrays by "used" is faster than searching in hashtable with duplicates by "id,nr,type,used". |