[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48222] branches/soc-2012-bratwurst/source /blender/collada: Matrix node transform import fix.

Sukhitha Jayathilake pr.jayathilake at gmail.com
Sat Jun 23 19:44:39 CEST 2012


Revision: 48222
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48222
Author:   phabtar
Date:     2012-06-23 17:44:28 +0000 (Sat, 23 Jun 2012)
Log Message:
-----------
Matrix node transform import fix.

Modified Paths:
--------------
    branches/soc-2012-bratwurst/source/blender/collada/AnimationExporter.cpp
    branches/soc-2012-bratwurst/source/blender/collada/AnimationImporter.cpp
    branches/soc-2012-bratwurst/source/blender/collada/TransformReader.cpp

Modified: branches/soc-2012-bratwurst/source/blender/collada/AnimationExporter.cpp
===================================================================
--- branches/soc-2012-bratwurst/source/blender/collada/AnimationExporter.cpp	2012-06-23 14:23:44 UTC (rev 48221)
+++ branches/soc-2012-bratwurst/source/blender/collada/AnimationExporter.cpp	2012-06-23 17:44:28 UTC (rev 48222)
@@ -882,8 +882,8 @@
 		
 		UnitConverter converter;
 
-		float outmat[4][4];
-		converter.mat4_to_dae(outmat, mat);
+		double outmat[4][4];
+		converter.mat4_to_dae_double(outmat, mat);
 
 		source.appendValues(outmat);
 

Modified: branches/soc-2012-bratwurst/source/blender/collada/AnimationImporter.cpp
===================================================================
--- branches/soc-2012-bratwurst/source/blender/collada/AnimationImporter.cpp	2012-06-23 14:23:44 UTC (rev 48221)
+++ branches/soc-2012-bratwurst/source/blender/collada/AnimationImporter.cpp	2012-06-23 17:44:28 UTC (rev 48222)
@@ -1561,8 +1561,6 @@
 				default:
 					fprintf(stderr, "unsupported transformation type %d\n", type);
 			}
-			// dae_matrix_to_mat4(tm, m);
-			
 		}
 
 		float temp[4][4];

Modified: branches/soc-2012-bratwurst/source/blender/collada/TransformReader.cpp
===================================================================
--- branches/soc-2012-bratwurst/source/blender/collada/TransformReader.cpp	2012-06-23 14:23:44 UTC (rev 48221)
+++ branches/soc-2012-bratwurst/source/blender/collada/TransformReader.cpp	2012-06-23 17:44:28 UTC (rev 48222)
@@ -43,29 +43,31 @@
 
 		COLLADAFW::Transformation *tm = node->getTransformations()[i];
 		COLLADAFW::Transformation::TransformationType type = tm->getTransformationType();
-
-		switch (type) {
-			case COLLADAFW::Transformation::TRANSLATE:
-				dae_translate_to_mat4(tm, cur);
-				break;
-			case COLLADAFW::Transformation::ROTATE:
-				dae_rotate_to_mat4(tm, cur);
-				break;
-			case COLLADAFW::Transformation::SCALE:
-				dae_scale_to_mat4(tm, cur);
-				break;
-			case COLLADAFW::Transformation::MATRIX:
-				dae_matrix_to_mat4(tm, cur);
-				break;
-			case COLLADAFW::Transformation::LOOKAT:
-			case COLLADAFW::Transformation::SKEW:
-				fprintf(stderr, "LOOKAT and SKEW transformations are not supported yet.\n");
-				break;
+        
+		if(type == COLLADAFW::Transformation::MATRIX){
+			dae_matrix_to_mat4(tm, mat);
+			return;
 		}
-
-		copy_m4_m4(copy, mat);
-		mult_m4_m4m4(mat, copy, cur);
-
+		else{			
+			switch (type) {
+				case COLLADAFW::Transformation::TRANSLATE:
+					dae_translate_to_mat4(tm, cur);
+					break;
+				case COLLADAFW::Transformation::ROTATE:
+					dae_rotate_to_mat4(tm, cur);
+					break;
+				case COLLADAFW::Transformation::SCALE:
+					dae_scale_to_mat4(tm, cur);
+					break;
+				case COLLADAFW::Transformation::LOOKAT:
+				case COLLADAFW::Transformation::SKEW:
+					fprintf(stderr, "LOOKAT and SKEW transformations are not supported yet.\n");
+					break;
+			}
+			copy_m4_m4(copy, mat);
+			mult_m4_m4m4(mat, copy, cur);
+		}
+		
 		if (animation_map) {
 			// AnimationList that drives this Transformation
 			const COLLADAFW::UniqueId& anim_list_id = tm->getAnimationList();




More information about the Bf-blender-cvs mailing list