diff options
author | Sybren A. Stüvel <sybren@stuvel.eu> | 2017-04-06 15:22:28 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2017-04-06 17:47:01 +0300 |
commit | 8e3676d5337b1faebf7e2afdf94051769eaf1347 (patch) | |
tree | 296f1fb79327ac0bd50e100c5f65637ad28b30c0 /source/blender/alembic/intern/abc_object.h | |
parent | fa827374a7a0d51e71e974eb91299b15beb3d54e (diff) |
Alembic import: restructured the importer w.g.t. parenthood
Previously, a GHash was used to store a flattened mapping of parent
information based on the Alembic hierarchy, and then that hash was used to
set parent pointers on Blender objects. This resulted in errors and
some duplicate objects. The new approach stores parent pointers while
traversing the Alembic hierarchy, which means that there is much more
information about the actual context of the Alembic object itself,
producing a more stable import.
Diffstat (limited to 'source/blender/alembic/intern/abc_object.h')
-rw-r--r-- | source/blender/alembic/intern/abc_object.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/alembic/intern/abc_object.h b/source/blender/alembic/intern/abc_object.h index 2e3c3531453..d5344533b55 100644 --- a/source/blender/alembic/intern/abc_object.h +++ b/source/blender/alembic/intern/abc_object.h @@ -144,12 +144,17 @@ protected: int m_refcount; public: + AbcObjectReader *parent_reader; + +public: explicit AbcObjectReader(const Alembic::Abc::IObject &object, ImportSettings &settings); virtual ~AbcObjectReader(); const Alembic::Abc::IObject &iobject() const; + typedef std::vector<AbcObjectReader *> ptr_vector; + /** * Returns the transform of this object. This can be the Alembic object * itself (in case of an Empty) or it can be the parent Alembic object. |