Commit: 5d04ddea642f0fcd0bfdc102b916890601aa78f5
Author: Lukas Tönne
Date:   Thu Mar 19 10:30:18 2015 +0100
Branches: alembic_pointcache
https://developer.blender.org/rB5d04ddea642f0fcd0bfdc102b916890601aa78f5

Disable the bake operator if cache reading is enabled.

Re-baking cache results is not technically prohibited, but not useful
and allowing only read or write selectively gives a nicer workflow.

===================================================================

M       source/blender/editors/io/io_cache_library.c

===================================================================

diff --git a/source/blender/editors/io/io_cache_library.c 
b/source/blender/editors/io/io_cache_library.c
index b42f70c..b946a4d 100644
--- a/source/blender/editors/io/io_cache_library.c
+++ b/source/blender/editors/io/io_cache_library.c
@@ -228,6 +228,11 @@ static int cache_library_bake_poll(bContext *C)
        
        if (!ob || !(ob->transflag & OB_DUPLIGROUP) || !ob->dup_group || 
!ob->cache_library)
                return false;
+       /* re-baking cached results doesn't make much sense,
+        * clarify workflow by enabling either reading or writing, but not both
+        */
+       if (ob->transflag & OB_DUPLI_USE_CACHE)
+               return false;
        
        return true;
 }
@@ -277,9 +282,6 @@ static void cache_library_bake_startjob(void *customdata, 
short *stop, short *do
        else {
                data->eval_ctx.mode = DAG_EVAL_RENDER;
        }
-       // TODO
-       /* disable reading for the duration of the bake process */
-//     data->cachelib->flag |= CACHE_LIBRARY_BAKING;
        
        BKE_cache_archive_path(data->cachelib->filepath, (ID *)data->cachelib, 
data->cachelib->id.lib, filename, sizeof(filename));
        data->archive = PTC_open_writer_archive(scene, filename);
@@ -313,10 +315,6 @@ static void cache_library_bake_endjob(void *customdata)
        if (data->archive)
                PTC_close_writer_archive(data->archive);
        
-       // TODO
-       /* enable reading */
-//     data->cachelib->flag &= ~CACHE_LIBRARY_BAKING;
-       
        /* reset scene frame */
        scene->r.cfra = data->origfra;
        scene->r.framelen = data->origframelen;

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to