temporary fix for quat rotations
authorSukhitha Prabhath Jayathilake <pr.jayathilake@gmail.com>
Tue, 9 Aug 2011 16:28:08 +0000 (16:28 +0000)
committerSukhitha Prabhath Jayathilake <pr.jayathilake@gmail.com>
Tue, 9 Aug 2011 16:28:08 +0000 (16:28 +0000)
source/blender/collada/AnimationExporter.cpp
source/blender/collada/AnimationImporter.cpp

index 4beab6f7608e0283ae2b2b48707ef834b011ce80..337fd89a7fad661d6b2f2749dba1de6ab1aa7082 100644 (file)
@@ -208,10 +208,12 @@ void AnimationExporter::exportAnimations(Scene *sce)
                
                if ( !strcmp(transformName, "rotation_quaternion") )
                {
+                       fprintf(stderr, "quaternion rotations are not supported. rotation curves will not be exported\n");
                        quatRotation = true;
                        /*const char *axis_names[] = {"", "X", "Y", "Z"};
                        if (fcu->array_index < 4)
                        axis_name = axis_names[fcu->array_index];*/
+                       return;
                }
                //maybe a list or a vector of float animations
                else if ( !strcmp(transformName, "color")||!strcmp(transformName, "specular_color")||!strcmp(transformName, "diffuse_color")||
index 0fc01e510206d3eb24d23fd901112a583a0e1f96..4b467c4a1499e3ea4005cfea8f2276633ff6113d 100644 (file)
@@ -90,11 +90,12 @@ void AnimationImporter::animation_to_fcurves(COLLADAFW::AnimationCurve *curve)
 {
        COLLADAFW::FloatOrDoubleArray& input = curve->getInputValues();
        COLLADAFW::FloatOrDoubleArray& output = curve->getOutputValues();
-   
+    
        if( curve->getInterpolationType() == COLLADAFW::AnimationCurve::INTERPOLATION_BEZIER ) {
        COLLADAFW::FloatOrDoubleArray& intan = curve->getInTangentValues();
     COLLADAFW::FloatOrDoubleArray& outtan = curve->getOutTangentValues();
        }
+
        float fps = (float)FPS;
        size_t dim = curve->getOutDimension();
        unsigned int i;
@@ -661,6 +662,14 @@ void AnimationImporter:: Assign_transform_animations(COLLADAFW::Transformation *
                        }
                        
                case COLLADAFW::Transformation::MATRIX:
+                       /*{
+                               COLLADAFW::Matrix* mat = (COLLADAFW::Matrix*)transform;
+                               COLLADABU::Math::Matrix4 mat4 = mat->getMatrix();
+                               switch (binding->animationClass) {
+                                       case COLLADAFW::AnimationList::TRANSFORM:
+
+                               }
+                       }*/
                case COLLADAFW::Transformation::SKEW:
                case COLLADAFW::Transformation::LOOKAT:
                        fprintf(stderr, "Animation of MATRIX, SKEW and LOOKAT transformations is not supported yet.\n");