Blender Git Loki

Git Commits -> Revision 131a758

Revision 131a758 by Bastien Montagne (master)
January 22, 2021, 15:05 (GMT)
Refactor BMain relations temp data.

`bmain.relations` is used to store temp data of relations between IDs,
to speed-up some complex processes heavily relying on such information.

Previous implementation was failry unclear/confusing, and required a
not-so-nice hack to 'tag' some ID as processed.

New code changes as such:
* Using `from`/`to` naming (instead of `user`/`used`).
* More clear separation between `to` `id_pointer` and `from` one,
using an union instead of hacking around difference between `ID *` and
`ID **` pointers.
* Adds storage of `session_uuid` informations (mainly useful as
debug/ensuring proper consistency of data currently).
* Adds a structure per ID in the mapping. This enables possibility of
storing tags (and potentially more data in the future) per-ID,
without polluting the IDs themselves with very short-life info.

Differential Revision: https://developer.blender.org/D10164

Commit Details:

Full Hash: 131a758b6f88a2be816e9351d216bcfb9c965c4b
Parent Commit: be7106a
Lines Changed: +138, -108

5 Modified Paths:

/source/blender/blenkernel/BKE_main.h (+38, -9) (Diff)
/source/blender/blenkernel/intern/lib_id.c (+13, -14) (Diff)
/source/blender/blenkernel/intern/lib_override.c (+36, -25) (Diff)
/source/blender/blenkernel/intern/lib_query.c (+6, -3) (Diff)
/source/blender/blenkernel/intern/main.c (+45, -57) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021