[Bf-blender-cvs] [74e42c9a44] temp-sybren-alembic: Alembic import: be more lenient towards unknown object types.

Sybren A. Stüvel noreply at git.blender.org
Fri Feb 24 17:06:10 CET 2017


Commit: 74e42c9a44a2ba196ac8dc8647b2b6c1db88f4c7
Author: Sybren A. Stüvel
Date:   Thu Feb 23 15:54:46 2017 +0100
Branches: temp-sybren-alembic
https://developer.blender.org/rB74e42c9a44a2ba196ac8dc8647b2b6c1db88f4c7

Alembic import: be more lenient towards unknown object types.

Alembic is an interchange and caching format, that can contain custom
object schemas. Blender shouldn't crash (because of failing asserts) just
because it doesn't know such an object type.

===================================================================

M	source/blender/alembic/intern/abc_util.cc
M	source/blender/alembic/intern/alembic_capi.cc

===================================================================

diff --git a/source/blender/alembic/intern/abc_util.cc b/source/blender/alembic/intern/abc_util.cc
index da081f5b6d..c3c380b534 100644
--- a/source/blender/alembic/intern/abc_util.cc
+++ b/source/blender/alembic/intern/abc_util.cc
@@ -364,7 +364,10 @@ AbcObjectReader *create_reader(const Alembic::AbcGeom::IObject &object, ImportSe
 		reader = new AbcCurveReader(object, settings);
 	}
 	else {
-		assert(false);
+		std::cerr << "Alembic: unknown how to handle objects of schema "
+		          << md.get("schemaObjTitle")
+		          << ", skipping object "
+		          << object.getFullName() << std::endl;
 	}
 
 	return reader;
diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc
index 565867a23a..d542c530c3 100644
--- a/source/blender/alembic/intern/alembic_capi.cc
+++ b/source/blender/alembic/intern/alembic_capi.cc
@@ -507,11 +507,10 @@ static int visit_object(const IObject &object,
 //		          << " with data " << reader->data_name();
 	}
 	else {
-		std::cerr << "object is of unsupported schema type "
-		          << "'" << object.getMetaData().get("schemaObjTitle") << "'"
+		std::cerr << "Alembic object " << full_name
+		          << " is of unsupported schema type '"
+		          << object.getMetaData().get("schemaObjTitle") << "'"
 		          << std::endl;
-		BLI_assert(false);
-		return false;
 	}
 
 //	std::cerr << std::endl;




More information about the Bf-blender-cvs mailing list