Blender Git Commit Log
Git Commits -> Revision 2aa9f5e
Revision 2aa9f5e by Lukas Toenne (depsgraph_refactor) May 26, 2014, 10:32 (GMT) |
Removed the bone_hash and associated methods from the pose component. Instead for storing bones in a separate hash table, which adds complexity and ambiguity, they are now stored as regular components in the ID node component map as well, with a string identifier to distinguish them. Looking up bones from the pose component by name can be done just as well on the ID level, by using a combined key of (DEPSNODE_TYPE_BONE, bone name) This key extension (subdata) can be a general optional feature of components, useful e.g. for modifiers, constraints, particle systems. It saves us the work of implementing and maintaining individual hashes for all these sub-component types and streamlines the API quite a bit. Looping/filtering bones can work just as easily by looping over an ID block's components instead of the bone hash table of the pose component. The overhead is negligible, the number of other components in a single ID block would not scale as much as the number of ID blocks in general. Such loops would be an exception anyway. |
Commit Details:
Full Hash: 2aa9f5eaaec4d454e6baa5b2071ab91fa700c63f
Parent Commit: 31782f7
Lines Changed: +11, -137