From da6cd77628103fd4e95d13cf339420a15bad64ee Mon Sep 17 00:00:00 2001 From: Jon Allee <> Date: Tue, 14 Mar 2017 14:17:04 +0100 Subject: fix D2552: Collada - use unique id for bones with same name but in different armatures. Co-authored-by: Gaia --- source/blender/collada/ArmatureExporter.cpp | 5 ----- source/blender/collada/ArmatureExporter.h | 2 -- source/blender/collada/collada_internal.cpp | 7 ++++++- source/blender/collada/collada_internal.h | 1 + 4 files changed, 7 insertions(+), 8 deletions(-) (limited to 'source/blender/collada') diff --git a/source/blender/collada/ArmatureExporter.cpp b/source/blender/collada/ArmatureExporter.cpp index 9c26ba83b44..40065956ecb 100644 --- a/source/blender/collada/ArmatureExporter.cpp +++ b/source/blender/collada/ArmatureExporter.cpp @@ -156,11 +156,6 @@ void ArmatureExporter::find_objects_using_armature(Object *ob_arm, std::vector& objects, Scene *sce); #endif - std::string get_joint_sid(Bone *bone, Object *ob_arm); - // Scene, SceneExporter and the list of child_objects // are required for writing bone parented objects void add_bone_node(Bone *bone, Object *ob_arm, Scene *sce, SceneExporter *se, diff --git a/source/blender/collada/collada_internal.cpp b/source/blender/collada/collada_internal.cpp index e1a13559b08..70b44ebc222 100644 --- a/source/blender/collada/collada_internal.cpp +++ b/source/blender/collada/collada_internal.cpp @@ -341,7 +341,12 @@ std::string get_light_id(Object *ob) std::string get_joint_id(Bone *bone, Object *ob_arm) { - return translate_id(/*id_name(ob_arm) + "_" +*/ bone->name); + return translate_id(id_name(ob_arm) + "_" + bone->name); +} + +std::string get_joint_sid(Bone *bone, Object *ob_arm) +{ + return translate_id(bone->name); } std::string get_camera_id(Object *ob) diff --git a/source/blender/collada/collada_internal.h b/source/blender/collada/collada_internal.h index 4aa637a6876..482dbf9ab31 100644 --- a/source/blender/collada/collada_internal.h +++ b/source/blender/collada/collada_internal.h @@ -104,6 +104,7 @@ extern std::string get_geometry_id(Object *ob, bool use_instantiation); extern std::string get_light_id(Object *ob); extern std::string get_joint_id(Bone *bone, Object *ob_arm); +extern std::string get_joint_sid(Bone *bone, Object *ob_arm); extern std::string get_camera_id(Object *ob); -- cgit v1.2.3