diff options
author | gaiaclary <gaia.clary@machinimatrix.org> | 2014-01-31 12:35:00 +0400 |
---|---|---|
committer | gaiaclary <gaia.clary@machinimatrix.org> | 2014-01-31 12:35:00 +0400 |
commit | d291d15c193e98ad9fbc05832587bc17a191aa9e (patch) | |
tree | df9b78e0d108015e6bacb759d6364635e5d1aee8 /source/blender/collada/AnimationExporter.cpp | |
parent | a7b1349ce48b9f6a05ec8958f8096a0da2c89f25 (diff) |
Fix for T32843
Exported angles for spot size animation is in radians , however Collada expects it to be in degrees.
This patch is for fixing import and export, and also renaming a variable
Reviewers: gaiaclary
Reviewed By: gaiaclary
Differential Revision: https://developer.blender.org/D273
Diffstat (limited to 'source/blender/collada/AnimationExporter.cpp')
-rw-r--r-- | source/blender/collada/AnimationExporter.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/source/blender/collada/AnimationExporter.cpp b/source/blender/collada/AnimationExporter.cpp index 7e90f05b519..61a675d4c8f 100644 --- a/source/blender/collada/AnimationExporter.cpp +++ b/source/blender/collada/AnimationExporter.cpp @@ -705,7 +705,7 @@ void AnimationExporter::add_source_parameters(COLLADASW::SourceBase::ParameterNa } } -void AnimationExporter::get_source_values(BezTriple *bezt, COLLADASW::InputSemantic::Semantics semantic, bool is_rotation, float *values, int *length) +void AnimationExporter::get_source_values(BezTriple *bezt, COLLADASW::InputSemantic::Semantics semantic, bool is_angle, float *values, int *length) { switch (semantic) { case COLLADASW::InputSemantic::INPUT: @@ -714,7 +714,7 @@ void AnimationExporter::get_source_values(BezTriple *bezt, COLLADASW::InputSeman break; case COLLADASW::InputSemantic::OUTPUT: *length = 1; - if (is_rotation) { + if (is_angle) { values[0] = RAD2DEGF(bezt->vec[1][1]); } else { @@ -730,7 +730,7 @@ void AnimationExporter::get_source_values(BezTriple *bezt, COLLADASW::InputSeman values[0] = 0; values[1] = 0; } - else if (is_rotation) { + else if (is_angle) { values[1] = RAD2DEGF(bezt->vec[0][1]); } else { @@ -746,7 +746,7 @@ void AnimationExporter::get_source_values(BezTriple *bezt, COLLADASW::InputSeman values[0] = 0; values[1] = 0; } - else if (is_rotation) { + else if (is_angle) { values[1] = RAD2DEGF(bezt->vec[2][1]); } else { @@ -763,10 +763,10 @@ std::string AnimationExporter::create_source_from_fcurve(COLLADASW::InputSemanti { std::string source_id = anim_id + get_semantic_suffix(semantic); - //bool is_rotation = !strcmp(fcu->rna_path, "rotation"); + //bool is_angle = !strcmp(fcu->rna_path, "rotation"); bool is_angle = false; - if (strstr(fcu->rna_path, "rotation")) is_angle = true; + if (strstr(fcu->rna_path, "rotation") || strstr(fcu->rna_path,"spot_size")) is_angle = true; COLLADASW::FloatSourceF source(mSW); source.setId(source_id); @@ -1196,7 +1196,7 @@ std::string AnimationExporter::get_camera_param_sid(char *rna_path, int tm_type, std::string AnimationExporter::get_transform_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis) { std::string tm_name; - bool is_rotation = false; + bool is_angle = false; // when given rna_path, determine tm_type from it if (rna_path) { char *name = extract_transform_name(rna_path); @@ -1228,7 +1228,7 @@ std::string AnimationExporter::get_transform_sid(char *rna_path, int tm_type, co case 0: case 1: tm_name = "rotation"; - is_rotation = true; + is_angle = true; break; case 2: tm_name = "scale"; @@ -1258,7 +1258,7 @@ std::string AnimationExporter::get_transform_sid(char *rna_path, int tm_type, co } if (tm_name.size()) { - if (is_rotation) + if (is_angle) return tm_name + std::string(axis_name) + ".ANGLE"; else if (axis_name[0]) |