[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25964] trunk/blender/source/blender/ collada/DocumentExporter.cpp: Merge -c 25963 from COLLADA branch into trunk .
Arystanbek Dyussenov
arystan.d at gmail.com
Wed Jan 13 13:51:07 CET 2010
Revision: 25964
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25964
Author: kazanbas
Date: 2010-01-13 13:51:07 +0100 (Wed, 13 Jan 2010)
Log Message:
-----------
Merge -c 25963 from COLLADA branch into trunk.
Modified Paths:
--------------
trunk/blender/source/blender/collada/DocumentExporter.cpp
Modified: trunk/blender/source/blender/collada/DocumentExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/DocumentExporter.cpp 2010-01-13 12:44:57 UTC (rev 25963)
+++ trunk/blender/source/blender/collada/DocumentExporter.cpp 2010-01-13 12:51:07 UTC (rev 25964)
@@ -859,11 +859,9 @@
return ob_arm;
}
- std::string get_joint_sid(Bone *bone)
+ std::string get_joint_sid(Bone *bone, Object *ob_arm)
{
- char name[100];
- BLI_strncpy(name, bone->name, sizeof(name));
- return translate_id(name);
+ return get_joint_id(bone, ob_arm);
}
// parent_mat is armature-space
@@ -871,7 +869,7 @@
{
std::string node_id = get_joint_id(bone, ob_arm);
std::string node_name = std::string(bone->name);
- std::string node_sid = get_joint_sid(bone);
+ std::string node_sid = get_joint_sid(bone, ob_arm);
COLLADASW::Node node(mSW);
@@ -1017,7 +1015,7 @@
for (def = (bDeformGroup*)defbase->first; def; def = def->next) {
Bone *bone = get_bone_from_defgroup(ob_arm, def);
if (bone)
- source.appendValues(get_joint_sid(bone));
+ source.appendValues(get_joint_sid(bone, ob_arm));
}
source.finish();
@@ -1377,7 +1375,6 @@
}
};
-
class EffectsExporter: COLLADASW::LibraryEffects
{
public:
@@ -1786,19 +1783,16 @@
const char *axis_names[] = {"X", "Y", "Z"};
const char *axis_name = NULL;
char anim_id[200];
- char anim_name[200];
if (fcu->array_index < 3)
axis_name = axis_names[fcu->array_index];
- BLI_snprintf(anim_id, sizeof(anim_id), "%s.%s.%s", (char*)translate_id(ob_name).c_str(),
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
fcu->rna_path, axis_names[fcu->array_index]);
- BLI_snprintf(anim_name, sizeof(anim_name), "%s.%s.%s",
- (char*)ob_name.c_str(), fcu->rna_path, axis_names[fcu->array_index]);
// check rna_path is one of: rotation, scale, location
- openAnimation(anim_id, anim_name);
+ openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
// create input source
std::string input_id = create_source_from_fcurve(Sampler::INPUT, fcu, anim_id, axis_name);
@@ -1957,7 +1951,6 @@
const char *axis_names[] = {"X", "Y", "Z"};
const char *axis_name = NULL;
char anim_id[200];
- char anim_name[200];
bool is_rot = tm_type == 0;
if (!fra.size())
@@ -1972,15 +1965,11 @@
std::string transform_sid = get_transform_sid(NULL, tm_type, axis_name);
- BLI_snprintf(anim_id, sizeof(anim_id), "%s.%s.%s", (char*)translate_id(ob_name).c_str(),
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
(char*)translate_id(bone_name).c_str(), (char*)transform_sid.c_str());
- BLI_snprintf(anim_name, sizeof(anim_name), "%s.%s.%s",
- (char*)ob_name.c_str(), (char*)bone_name.c_str(), (char*)transform_sid.c_str());
- // TODO check rna_path is one of: rotation, scale, location
+ openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
- openAnimation(anim_id, anim_name);
-
// create input source
std::string input_id = create_source_from_vector(Sampler::INPUT, fra, is_rot, anim_id, axis_name);
@@ -2244,13 +2233,13 @@
char *name = extract_transform_name(rna_path);
if (strstr(name, "rotation"))
- return std::string("rotation") + axis_name;
+ return std::string("rotation") + std::string(axis_name) + ".ANGLE";
else if (!strcmp(name, "location") || !strcmp(name, "scale"))
return std::string(name);
}
else {
if (tm_type == 0)
- return std::string("rotation") + axis_name;
+ return std::string("rotation") + std::string(axis_name) + ".ANGLE";
else
return tm_type == 1 ? "scale" : "location";
}
More information about the Bf-blender-cvs
mailing list