[Bf-blender-cvs] [45b810e1f8b] master: Fix T61935 Crash when importing Alembic from Meshroom
Sybren A. Stüvel
noreply at git.blender.org
Fri Apr 12 15:07:48 CEST 2019
Commit: 45b810e1f8b088f3dc5329cfb0fe01092a156a6c
Author: Sybren A. Stüvel
Date: Fri Apr 12 14:51:17 2019 +0200
Branches: master
https://developer.blender.org/rB45b810e1f8b088f3dc5329cfb0fe01092a156a6c
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.
===================================================================
M source/blender/alembic/intern/abc_object.cc
===================================================================
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;
}
More information about the Bf-blender-cvs
mailing list