diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-03 14:02:39 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-03 14:02:39 +0300 |
commit | e72dfee66fe556dc09ae30e706a5d16d552a5413 (patch) | |
tree | 2c42fc11b387113a7cdc7abed82b96c4457ca6aa /source/blender/alembic | |
parent | 3a7a7ed03b7611a29de0e2a27e358035aee83dce (diff) |
Depsgraph: Use explicit depsgraph in alembic module
Diffstat (limited to 'source/blender/alembic')
-rw-r--r-- | source/blender/alembic/intern/abc_exporter.cc | 6 | ||||
-rw-r--r-- | source/blender/alembic/intern/abc_exporter.h | 6 | ||||
-rw-r--r-- | source/blender/alembic/intern/alembic_capi.cc | 5 |
3 files changed, 13 insertions, 4 deletions
diff --git a/source/blender/alembic/intern/abc_exporter.cc b/source/blender/alembic/intern/abc_exporter.cc index 5635e3a9420..51e2e7040f9 100644 --- a/source/blender/alembic/intern/abc_exporter.cc +++ b/source/blender/alembic/intern/abc_exporter.cc @@ -168,7 +168,8 @@ static bool export_object(const ExportSettings * const settings, const Base * co /* ************************************************************************** */ -AbcExporter::AbcExporter(Main *bmain, EvaluationContext *eval_ctx, Scene *scene, const char *filename, ExportSettings &settings) +AbcExporter::AbcExporter(Main *bmain, EvaluationContext *eval_ctx, Scene *scene, Depsgraph *depsgraph, + const char *filename, ExportSettings &settings) : m_bmain(bmain) , m_settings(settings) , m_filename(filename) @@ -176,6 +177,7 @@ AbcExporter::AbcExporter(Main *bmain, EvaluationContext *eval_ctx, Scene *scene, , m_shape_sampling_index(0) , m_eval_ctx(eval_ctx) , m_scene(scene) + , m_depsgraph(depsgraph) , m_writer(NULL) {} @@ -653,5 +655,5 @@ void AbcExporter::setCurrentFrame(Main *bmain, double t) { m_scene->r.cfra = static_cast<int>(t); m_scene->r.subframe = static_cast<float>(t) - m_scene->r.cfra; - BKE_scene_update_for_newframe(bmain->eval_ctx, bmain, m_scene); + BKE_scene_graph_update_for_newframe(bmain->eval_ctx, m_depsgraph, bmain, m_scene); } diff --git a/source/blender/alembic/intern/abc_exporter.h b/source/blender/alembic/intern/abc_exporter.h index 7e32178bc20..d0f3964abd5 100644 --- a/source/blender/alembic/intern/abc_exporter.h +++ b/source/blender/alembic/intern/abc_exporter.h @@ -35,6 +35,7 @@ class AbcTransformWriter; class ArchiveWriter; struct EvaluationContext; +struct Depsgraph; struct Main; struct Object; struct Scene; @@ -46,6 +47,7 @@ struct ExportSettings { Scene *scene; SceneLayer *sl; // Scene layer to export; all its objects will be exported, unless selected_only=true + Depsgraph *depsgraph; SimpleLogger logger; bool selected_only; @@ -93,6 +95,7 @@ class AbcExporter { EvaluationContext *m_eval_ctx; Scene *m_scene; + Depsgraph *m_depsgraph; ArchiveWriter *m_writer; @@ -103,7 +106,8 @@ class AbcExporter { std::vector<AbcObjectWriter *> m_shapes; public: - AbcExporter(Main *bmain, EvaluationContext *eval_ctx, Scene *scene, const char *filename, ExportSettings &settings); + AbcExporter(Main *bmain, EvaluationContext *eval_ctx, Scene *scene, Depsgraph *depsgraph, + const char *filename, ExportSettings &settings); ~AbcExporter(); void operator()(Main *bmain, float &progress, bool &was_canceled); diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc index 730a574e649..c8735df21d5 100644 --- a/source/blender/alembic/intern/alembic_capi.cc +++ b/source/blender/alembic/intern/alembic_capi.cc @@ -232,6 +232,7 @@ static void find_iobject(const IObject &object, IObject &ret, struct ExportJobData { EvaluationContext eval_ctx; Scene *scene; + Depsgraph *depsgraph; Main *bmain; char filename[1024]; @@ -263,7 +264,7 @@ static void export_startjob(void *customdata, short *stop, short *do_update, flo try { Scene *scene = data->scene; - AbcExporter exporter(data->bmain, &data->eval_ctx, scene, data->filename, data->settings); + AbcExporter exporter(data->bmain, &data->eval_ctx, scene, data->depsgraph, data->filename, data->settings); const int orig_frame = CFRA; @@ -315,6 +316,7 @@ bool ABC_export( CTX_data_eval_ctx(C, &job->eval_ctx); job->scene = scene; + job->depsgraph = CTX_data_depsgraph(C); job->bmain = CTX_data_main(C); job->export_ok = false; BLI_strncpy(job->filename, filepath, 1024); @@ -336,6 +338,7 @@ bool ABC_export( * hardcore refactoring. */ new (&job->settings) ExportSettings(); job->settings.scene = job->scene; + job->settings.depsgraph = job->depsgraph; /* Sybren: for now we only export the active scene layer. * Later in the 2.8 development process this may be replaced by using |