March 26, 2015, 13:12 (GMT) |
Allow the cache bake operator to overwrite existing files, using a confirm dialog. |
March 26, 2015, 13:12 (GMT) |
Free readers properly after applying cached data. |
March 26, 2015, 13:12 (GMT) |
Set reader/writer archive as a separate step outside the constructors. This allows nicer creation of readers/writers //before// actually opening the archive. This in turns can simplify code quite a bit. |
March 26, 2015, 13:12 (GMT) |
Record and display the last result of cache reading in the cache library items. |
March 26, 2015, 13:12 (GMT) |
Improved filtering for cache library content. In addition to the object name filtering, items in cache library groups can now be filtered by type as well. Existing items in the cache are always displayed, so as to not hide important information (what gets stored in the cache). The filtering is primarily a utility to simplify searching inside the group for things that should be added to the cache. |
March 26, 2015, 13:12 (GMT) |
Don't show mesh cache items for non-mesh objects. |
March 26, 2015, 13:12 (GMT) |
Reader/Writer API functions for basic particles. Also slightly renamed pathcache functions for consistency (use plural 'particles' instead of 'particle'). |
March 26, 2015, 13:12 (GMT) |
New 'read' flag to toggle reading of the CacheLibrary as a whole. This is also used during the bake process to avoid confusion: The read flag gets disabled for the baking cachelib, so that objects don't try to read cache data that is supposed to be generated. |
March 26, 2015, 13:12 (GMT) |
Nicer default filename for cache library paths. This now appends a default extension based on the cache backend used. At this point this is always Alembic (.abc) but would allow other backend formats in the future. |
March 26, 2015, 13:12 (GMT) |
Replaced use of the HDF5 Alembic backend by Ogawa. Ogawa is replacing HDF5 as the new de-facto standard. Selecting either should be more formalized and a user option, for now it's just hardcoded. |
March 26, 2015, 13:12 (GMT) |
Use a uiTemplate function for showing cache library items instead of python code to unify symbols. This is necessary because the operator for adding new items (as opposed to the enable/disable button) cannot be shown with the same checkbox button. The UI template function can display a custom button for the operator, so the look becomes less confusing. |
March 26, 2015, 13:12 (GMT) |
Generic validation function to help ensure that we don't add meaningless items to a cache library. |
March 26, 2015, 13:12 (GMT) |
Use a generator in the python code to iterate over all the potential cache library items. This should ideally happen on the RNA side, but making the equivalent of python generators in the RNA is really difficult. |
March 26, 2015, 13:12 (GMT) |
Disabled collection properties for 'virtual' cache items in RNA. This requires a better design and is not so easy to implement properly within the limits of RNA definition. These collections don't physically exist in the DNA, they are mainly utilities for looping over //potential// items in a cache library. For now the python code has to be adapted to only show valid items, until the RNA provides a good solution. |
March 26, 2015, 13:12 (GMT) |
Delete operator for cache library datablocks. CacheLibrary datablock has a generic unlink function now, but currently nothing actually links to cache libs themselves, so it's empty. Still good to keep this in mind for the future. |
March 26, 2015, 13:12 (GMT) |
Removed deprecated and unused alembic API functions. These are now implemented as virtual functions in the Factor class. |
March 26, 2015, 13:12 (GMT) |
Filter utility for finding objects in a cache group faster. This is a preliminary feature and implemented purely in python, to be replaced later. |
March 26, 2015, 13:12 (GMT) |
Fix for circular linker dependency with cache code library. The `bf_pointcache_alembic` code is a separate library, to avoid muddling up core code with alembic includes and preprocessor defines. Alembic stuff only belongs strictly into alembic code and can be disabled cleanly. The `bf_pointcache` and `bf_pointcache_alembic` libraries had a circular dependency, because the alembic implementation functions were called directly. Now there is a "Factory" class to abstract the creation of concrete implementations for readers and writers. `bf_pointcache_alembic` defines this factory and is registered //outside// of the core `bf_pointcache` lib, so there is no linker circularity. |
March 26, 2015, 13:12 (GMT) |
Added poll function for the cache manager panel to prevent hiding in Cycles render engine. The "compat_engines" thingy really gets in the way here ... |
March 26, 2015, 13:12 (GMT) |
Removed deprecated rna_pointcache.c file. Scons was still compilling this, since it's source files are not explicit. |
|