[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47919] branches/soc-2012-bratwurst/source /blender/collada: export of constraint targets to COLLADA

Sukhitha Jayathilake pr.jayathilake at gmail.com
Thu Jun 14 22:16:07 CEST 2012


Revision: 47919
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47919
Author:   phabtar
Date:     2012-06-14 20:15:55 +0000 (Thu, 14 Jun 2012)
Log Message:
-----------
export of constraint targets to COLLADA 

Modified Paths:
--------------
    branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.cpp
    branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.h

Modified: branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.cpp
===================================================================
--- branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.cpp	2012-06-14 19:22:55 UTC (rev 47918)
+++ branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.cpp	2012-06-14 20:15:55 UTC (rev 47919)
@@ -186,12 +186,32 @@
 			colladaNode.addExtraTechniqueChildParameter("blender",con_tag,"flag",con->flag);
 			colladaNode.addExtraTechniqueChildParameter("blender",con_tag,"headtail",con->headtail);
 			colladaNode.addExtraTechniqueChildParameter("blender",con_tag,"lin_error",con->lin_error);
-			/*node.addExtraTechniqueParameter("blender","lin_error",con->next);*/
 			colladaNode.addExtraTechniqueChildParameter("blender",con_tag,"own_space",con->ownspace);
 			colladaNode.addExtraTechniqueChildParameter("blender",con_tag,"rot_error",con->rot_error);
 			colladaNode.addExtraTechniqueChildParameter("blender",con_tag,"tar_space",con->tarspace);
 			colladaNode.addExtraTechniqueChildParameter("blender",con_tag,"lin_error",con->lin_error);
-
+			
+			//not ideal: add the target object name as another parameter. 
+			//No real mapping in the .dae
+			//Need support for multiple target objects also.
+			bConstraintTypeInfo *cti = constraint_get_typeinfo(con);
+			ListBase targets = {NULL, NULL};
+			if (cti && cti->get_constraint_targets) {
+			
+				bConstraintTarget *ct;
+				Object *obtar;
+			
+				cti->get_constraint_targets(con, &targets);
+				if(cti){
+					int i = 1;
+					for (ct = (bConstraintTarget*)targets.first; ct; ct = ct->next){
+						obtar = ct->tar;
+						std::string tar_id(id_name(obtar));
+						node.addExtraTechniqueChildParameter("blender",con_tag,"target_id",tar_id);
+					}
+				}
+			}
+            
 			con = con->next;
 		}
 	}

Modified: branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.h
===================================================================
--- branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.h	2012-06-14 19:22:55 UTC (rev 47918)
+++ branches/soc-2012-bratwurst/source/blender/collada/SceneExporter.h	2012-06-14 20:15:55 UTC (rev 47919)
@@ -52,6 +52,7 @@
 #include "BKE_fcurve.h"
 #include "BKE_animsys.h"
 #include "BLI_path_util.h"
+#include "BKE_constraint.h"
 #include "BLI_fileops.h"
 #include "ED_keyframing.h"
 }




More information about the Bf-blender-cvs mailing list