April 22, 2014, 09:23 (GMT) |
Fixed the particle attribute state data access functions. These have to use an index as key rather than a particle ID, since the latter is not available in a single attribute state without access to the parent particle state. |
April 22, 2014, 09:23 (GMT) |
Added accessor functions in particle state which allow extending the particle state. These can be used later in python wrappers to support more immediate collection-style access. |
April 22, 2014, 09:23 (GMT) |
Unused RNA code for exposing particles directly in the state as a collection. This doesn't work atm because for lookup it would need to allocate a particle iterator, which can not be freed afterward. This can probably be done nicer as a pure python wrapper instead of RNA. |
April 22, 2014, 09:23 (GMT) |
Ensure the attribute states are synced to the attributes of the particle system when adding/removing attribute descriptors. This is not a hard requirement really, if an attribute has no state data that would still work, but in most cases it should stay in sync. |
April 22, 2014, 09:23 (GMT) |
Collection property for accessing the attribute states in a particle state. |
April 22, 2014, 09:23 (GMT) |
Replaced the attribute state array with a ListBase. Eventually this should use a hash table for O(1) lookup, but for now a linked list is the easiest implementation. |
April 22, 2014, 09:23 (GMT) |
Copy the attribute descriptor to attribute states as well. The storage overhead is negligible and this allows sanity type check assert as well as correct RNA refining without access to the original attribute descriptor. |
April 22, 2014, 09:23 (GMT) |
New function for adding a particle based on particle id. |
April 22, 2014, 09:23 (GMT) |
Removed leftover #undefs. |
April 22, 2014, 09:23 (GMT) |
Added 2 functions for looking up particles by their ID in the psys. |
April 22, 2014, 09:23 (GMT) |
Copy the particle state when copying an attribute. |
April 22, 2014, 09:23 (GMT) |
Added a comment in DNA about the concept of state/descriptor separation and possible future optimization. |
April 22, 2014, 09:23 (GMT) |
Use a fixed "id" attribute, this will be required for all sorts of particle functions and identify particles unambiguously. |
April 22, 2014, 09:23 (GMT) |
Iterator access functions for particles. |
April 22, 2014, 09:23 (GMT) |
New function for getting a particle iterator at a given index. This will be used for binary search in the particle id attribute layer. |
April 22, 2014, 09:23 (GMT) |
Implemented a simple iterator API for particle systems using a plain index and the ID attribute for determining the state size. Have to see how this plays out in terms of performance ... |
April 22, 2014, 09:23 (GMT) |
Collection properties for actual data in particle buffers. |
April 22, 2014, 09:23 (GMT) |
Removed unused data type mapping function in RNA, this is now directly refined through the type of the attribute/state. |
April 22, 2014, 09:23 (GMT) |
Removed deprecated DNA data inside #if 0 block, C preprocessor doesn't work with makesdna. |
April 22, 2014, 09:23 (GMT) |
Some renaming and DNA reorganization. Particle attributes now have a descriptor as well as state data. |
|