diff options
Diffstat (limited to 'source/blender/alembic/intern/abc_exporter.h')
-rw-r--r-- | source/blender/alembic/intern/abc_exporter.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/source/blender/alembic/intern/abc_exporter.h b/source/blender/alembic/intern/abc_exporter.h index 280682b2896..2a34ad2b25d 100644 --- a/source/blender/alembic/intern/abc_exporter.h +++ b/source/blender/alembic/intern/abc_exporter.h @@ -35,14 +35,19 @@ class AbcTransformWriter; class ArchiveWriter; struct EvaluationContext; +struct Depsgraph; struct Main; struct Object; struct Scene; +struct ViewLayer; +struct Base; struct ExportSettings { ExportSettings(); Scene *scene; + ViewLayer *view_layer; // Scene layer to export; all its objects will be exported, unless selected_only=true + Depsgraph *depsgraph; SimpleLogger logger; bool selected_only; @@ -88,7 +93,10 @@ class AbcExporter { unsigned int m_trans_sampling_index, m_shape_sampling_index; + EvaluationContext *m_eval_ctx; Scene *m_scene; + ViewLayer *m_view_layer; + Depsgraph *m_depsgraph; ArchiveWriter *m_writer; @@ -99,7 +107,9 @@ class AbcExporter { std::vector<AbcObjectWriter *> m_shapes; public: - AbcExporter(Main *bmain, Scene *scene, const char *filename, ExportSettings &settings); + AbcExporter(Main *bmain, EvaluationContext *eval_ctx, Scene *scene, ViewLayer *view_layer, + Depsgraph *depsgraph, + const char *filename, ExportSettings &settings); ~AbcExporter(); void operator()(Main *bmain, float &progress, bool &was_canceled); @@ -114,11 +124,11 @@ private: Alembic::Abc::TimeSamplingPtr createTimeSampling(double step); void createTransformWritersHierarchy(EvaluationContext *eval_ctx); - AbcTransformWriter * createTransformWriter(Object *ob, Object *parent, Object *dupliObParent); - void exploreTransform(EvaluationContext *eval_ctx, Object *ob, Object *parent, Object *dupliObParent = NULL); - void exploreObject(EvaluationContext *eval_ctx, Object *ob, Object *dupliObParent); + AbcTransformWriter * createTransformWriter(EvaluationContext *eval_ctx, Object *ob, Object *parent, Object *dupliObParent); + void exploreTransform(EvaluationContext *eval_ctx, Base *ob_base, Object *parent, Object *dupliObParent); + void exploreObject(EvaluationContext *eval_ctx, Base *ob_base, Object *dupliObParent); void createShapeWriters(EvaluationContext *eval_ctx); - void createShapeWriter(Object *ob, Object *dupliObParent); + void createShapeWriter(Base *ob_base, Object *dupliObParent); void createParticleSystemsWriters(Object *ob, AbcTransformWriter *xform); AbcTransformWriter *getXForm(const std::string &name); |