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"
 }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to