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.
This commit is contained in:
parent
2396d7faa5
commit
45b810e1f8
Notes:
blender-bot
2023-02-14 07:30:31 +01:00
Referenced by issue #63563, 2.8 Grease pencil drawings not visible when contained in a collection instanced in a foreign scene. Referenced by issue #61935, Crash when importing Alembic from Meshroom
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue