diff options
author | Sybren A. Stüvel <sybren@stuvel.eu> | 2019-04-12 15:51:17 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2019-04-12 15:52:09 +0300 |
commit | 45b810e1f8b088f3dc5329cfb0fe01092a156a6c (patch) | |
tree | 59023eb2c0e430132f38aed42ec004fa0c76d8c7 /source/blender/alembic | |
parent | 2396d7faa59c8e64c17b13ac19ef97854389afcc (diff) |
Fix T61935 Crash when importing Alembic from Meshroom
The Alembic importer can now deal with XForm-less objects. Apparently
MeshLab exports point clouds without parent transformation matrix (XForm in
Alembic-speak). We shouldn't warn about this, but handle it properly
instead.
Diffstat (limited to 'source/blender/alembic')
-rw-r--r-- | source/blender/alembic/intern/abc_object.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/source/blender/alembic/intern/abc_object.cc b/source/blender/alembic/intern/abc_object.cc index 20a43a821ed..d8bd92121aa 100644 --- a/source/blender/alembic/intern/abc_object.cc +++ b/source/blender/alembic/intern/abc_object.cc @@ -290,12 +290,8 @@ Alembic::AbcGeom::IXform AbcObjectReader::xform() return IXform(abc_parent, Alembic::AbcGeom::kWrapExisting); } - /* Should not happen. */ - std::cerr << "AbcObjectReader::xform(): " - << "unable to find IXform for Alembic object '" - << m_iobject.getFullName() << "'\n"; - BLI_assert(false); - + /* This can happen in certain cases. For example, MeshLab exports + * point clouds without parent XForm. */ return IXform(); } @@ -304,6 +300,8 @@ void AbcObjectReader::read_matrix(float r_mat[4][4], const float time, { IXform ixform = xform(); if (!ixform) { + unit_m4(r_mat); + is_constant = true; return; } |