[Bf-blender-cvs] [0a71eea] alembic_pointcache: Nicer info printing support for instances in Alembic files.

Lukas Tönne noreply at git.blender.org
Wed Mar 11 12:51:23 CET 2015


Commit: 0a71eea5f124875f3f9aacbbb007c80c748849d2
Author: Lukas Tönne
Date:   Wed Mar 11 12:43:46 2015 +0100
Branches: alembic_pointcache
https://developer.blender.org/rB0a71eea5f124875f3f9aacbbb007c80c748849d2

Nicer info printing support for instances in Alembic files.

This now avoids repetition of internal instance structure.

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

M	source/blender/pointcache/alembic/abc_info.cpp

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

diff --git a/source/blender/pointcache/alembic/abc_info.cpp b/source/blender/pointcache/alembic/abc_info.cpp
index b937197..4abc7b2 100644
--- a/source/blender/pointcache/alembic/abc_info.cpp
+++ b/source/blender/pointcache/alembic/abc_info.cpp
@@ -190,17 +190,30 @@ static void visitObject(std::stringstream &ss, IObject iObj, std::string iIndent
 	// and then it has a compound property full of properties.
 	std::string path = iObj.getFullName();
 	
-	if (path != "/") {
-		ss << "Object " << "name=" << path << std::endl;
+	if (iObj.isInstanceRoot()) {
+		if (path != "/") {
+			ss << "Object " << "name=" << path
+			   << " [Instance " << iObj.instanceSourcePath() << "]"
+			   << std::endl;
+		}
 	}
-	
-	// Get the properties.
-	ICompoundProperty props = iObj.getProperties();
-	visitProperties(ss, props, iIndent);
-	
-	// now the child objects
-	for (size_t i = 0 ; i < iObj.getNumChildren() ; i++) {
-		visitObject(ss, IObject(iObj, iObj.getChildHeader(i).getName()), iIndent);
+	else if (iObj.isInstanceDescendant()) {
+		/* skip non-root instances to avoid repetition */
+		return;
+	}
+	else {
+		if (path != "/") {
+			ss << "Object " << "name=" << path << std::endl;
+		}
+		
+		// Get the properties.
+		ICompoundProperty props = iObj.getProperties();
+		visitProperties(ss, props, iIndent);
+		
+		// now the child objects
+		for (size_t i = 0 ; i < iObj.getNumChildren() ; i++) {
+			visitObject(ss, IObject(iObj, iObj.getChildHeader(i).getName()), iIndent);
+		}
 	}
 }




More information about the Bf-blender-cvs mailing list