Revision: 38269
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38269
Author:   phabtar
Date:     2011-07-09 19:33:02 +0000 (Sat, 09 Jul 2011)
Log Message:
-----------


Modified Paths:
--------------
    branches/soc-2011-pepper/source/blender/collada/AnimationImporter.cpp
    branches/soc-2011-pepper/source/blender/collada/AnimationImporter.h
    branches/soc-2011-pepper/source/blender/collada/CameraExporter.cpp

Modified: branches/soc-2011-pepper/source/blender/collada/AnimationImporter.cpp
===================================================================
--- branches/soc-2011-pepper/source/blender/collada/AnimationImporter.cpp       
2011-07-09 19:16:32 UTC (rev 38268)
+++ branches/soc-2011-pepper/source/blender/collada/AnimationImporter.cpp       
2011-07-09 19:33:02 UTC (rev 38269)
@@ -919,28 +919,30 @@
 
        for (unsigned int i = 0; i < nodeLights.getCount(); i++) {
                const COLLADAFW::Light *light = (COLLADAFW::Light *) 
FW_object_map[nodeLights[i]->getInstanciatedObjectId()];
-               
-               const COLLADAFW::Color *col =  &(light->getColor());
-               const COLLADAFW::UniqueId& col_listid = col->getAnimationList();
+               //
+               //const COLLADAFW::Color *col =  &(light->getColor());
+               //const COLLADAFW::UniqueId& col_listid = 
col->getAnimationList();
 
-               //check if color has animations    
-               if (animlist_map.find(col_listid) != animlist_map.end())  
-               //      type = type|LIGHT_FOA;
-                       types->light = types->light|LIGHT_COLOR;
-               
-               const COLLADAFW::AnimatableFloat *fallOffAngle =  
&(light->getFallOffAngle());
-           const COLLADAFW::UniqueId& foa_listid = fallOffAngle 
->getAnimationList();
+               ////check if color has animations    
+               //if (animlist_map.find(col_listid) != animlist_map.end())  
+               ////    type = type|LIGHT_FOA;
+               //      types->light = types->light|LIGHT_COLOR;
+               types->light = setAnimType(&(light->getColor()),(types->light), 
LIGHT_COLOR);
+               //
+               //const COLLADAFW::AnimatableFloat *fallOffAngle =  
&(light->getFallOffAngle());
+        //   const COLLADAFW::UniqueId& foa_listid = fallOffAngle 
->getAnimationList();
 
-               if (animlist_map.find(foa_listid) != animlist_map.end()) 
-               //              type = type|LIGHT_FOA;
-                               types->light = types->light|LIGHT_FOA;
+               //if (animlist_map.find(foa_listid) != animlist_map.end()) 
+               ////            type = type|LIGHT_FOA;
+               //              types->light = types->light|LIGHT_FOA;
+               types->light = 
setAnimType(&(light->getFallOffAngle()),(types->light), LIGHT_FOA);
+               //const COLLADAFW::AnimatableFloat *fallOffExpo =  
&(light->getFallOffExponent());
+        //   const COLLADAFW::UniqueId& foe_listid = fallOffExpo 
->getAnimationList();
+               //if (animlist_map.find(foe_listid) != animlist_map.end()) 
+               //              //type = type|LIGHT_FOE;
+               //              types->light = types->light|LIGHT_FOE;
                
-               const COLLADAFW::AnimatableFloat *fallOffExpo =  
&(light->getFallOffExponent());
-           const COLLADAFW::UniqueId& foe_listid = fallOffExpo 
->getAnimationList();
-
-               if (animlist_map.find(foe_listid) != animlist_map.end()) 
-                               //type = type|LIGHT_FOE;
-                               types->light = types->light|LIGHT_FOE;
+               types->light = 
setAnimType(&(light->getFallOffExponent()),(types->light), LIGHT_FOE);
                
                //if ( type != 0) break;
                if ( types->light != 0) break;
@@ -950,24 +952,37 @@
        const COLLADAFW::InstanceCameraPointerArray& nodeCameras = 
node->getInstanceCameras();
        for (unsigned int i = 0; i < nodeCameras.getCount(); i++) {
                const COLLADAFW::Camera *camera = (COLLADAFW::Camera *) 
FW_object_map[nodeCameras[i]->getInstanciatedObjectId()];
-               
+       
+
                if ( camera->getCameraType() == COLLADAFW::Camera::PERSPECTIVE )
                {
-                       const COLLADAFW::AnimatableFloat *xfov =  
&(camera->getXFov());
-                       const COLLADAFW::UniqueId& xfov_listid = xfov 
->getAnimationList();
-                       if (animlist_map.find(xfov_listid) != 
animlist_map.end()) 
-                               //type = type|CAMERA_XFOV;      
-                               types->camera = types->camera|CAMERA_XFOV;
-               
+                       //const COLLADAFW::AnimatableFloat *xfov =  
&(camera->getXFov());
+                       //const COLLADAFW::UniqueId& xfov_listid = xfov 
->getAnimationList();
+                       //if (animlist_map.find(xfov_listid) != 
animlist_map.end()) 
+                       //      //type = type|CAMERA_XFOV;      
+                       //      types->camera = types->camera|CAMERA_XFOV;
+                   types->camera = 
setAnimType(&(camera->getXMag()),(types->camera), CAMERA_XFOV);
                }
                else 
                {
-                       const COLLADAFW::AnimatableFloat *xmag =  
&(camera->getXMag());
-                       const COLLADAFW::UniqueId& xmag_listid = xmag 
->getAnimationList();
-                       if (animlist_map.find(xmag_listid) != 
animlist_map.end()) 
-                               //      type = type|CAMERA_XMAG;
-                               types->camera = types->camera|CAMERA_XMAG;
-               }       
+                       //const COLLADAFW::AnimatableFloat *xmag =  
&(camera->getXMag());
+                       //const COLLADAFW::UniqueId& xmag_listid = xmag 
->getAnimationList();
+                       //if (animlist_map.find(xmag_listid) != 
animlist_map.end()) 
+                       //      //      type = type|CAMERA_XMAG;
+                       //      types->camera = types->camera|CAMERA_XMAG;
+                       types->camera = 
setAnimType(&(camera->getXMag()),(types->camera), CAMERA_XMAG);
+               }
+
+               //const COLLADAFW::AnimatableFloat *zfar =  
&(camera->getFarClippingPlane());
+               //const COLLADAFW::UniqueId& zfar_listid = zfar 
->getAnimationList();
+               //if (animlist_map.find(zfar_listid) != animlist_map.end()) 
+               //              //type = type|CAMERA_XFOV;      
+               //              types->camera = types->camera|CAMERA_ZFAR;
+
+               
+               types->camera = 
setAnimType(&(camera->getFarClippingPlane()),(types->camera), CAMERA_ZFAR);
+               types->camera = 
setAnimType(&(camera->getNearClippingPlane()),(types->camera), CAMERA_ZNEAR);
+
                //if ( type != 0) break;
                if ( types->camera != 0) break;
 
@@ -975,6 +990,14 @@
        return types;
 }
 
+int AnimationImporter::setAnimType ( const COLLADAFW::Animatable * prop , int 
types, int addition)
+{
+               const COLLADAFW::UniqueId& listid =  prop->getAnimationList();
+               if (animlist_map.find(listid) != animlist_map.end()) 
+                               return types|addition;
+               else return types;
+}              
+
 //XXX Is not used anymore.
 void AnimationImporter::find_frames_old(std::vector<float> * frames, 
COLLADAFW::Node * node , COLLADAFW::Transformation::TransformationType tm_type)
 {

Modified: branches/soc-2011-pepper/source/blender/collada/AnimationImporter.h
===================================================================
--- branches/soc-2011-pepper/source/blender/collada/AnimationImporter.h 
2011-07-09 19:16:32 UTC (rev 38268)
+++ branches/soc-2011-pepper/source/blender/collada/AnimationImporter.h 
2011-07-09 19:33:02 UTC (rev 38269)
@@ -98,18 +98,15 @@
        {
 //             INANIMATE = 0,
                CAMERA_XFOV = 2,
-               CAMERA_XMAG = 4
+               CAMERA_XMAG = 4,
+               CAMERA_ZFAR = 8,
+               CAMERA_ZNEAR = 16
        };
        
        enum AnimationType
                {
                        INANIMATE = 0,
                        NODE_TRANSFORM = 1,
-       /*              LIGHT_COLOR     = 2,
-                       LIGHT_FOA = 4,
-                       LIGHT_FOE = 8,
-                       CAMERA_XFOV = 16,
-                       CAMERA_XMAG = 32*/
                };
 
        struct AnimMix
@@ -152,7 +149,9 @@
                                                                 
std::vector<FCurve*>* curves);
 
        void Assign_float_animations(const COLLADAFW::UniqueId& listid, 
ListBase *AnimCurves, char * anim_type);
-
+    
+       int setAnimType ( const COLLADAFW::Animatable * prop , int type, int 
addition);
+       
        void modify_fcurve(std::vector<FCurve*>* curves , char* rna_path , int 
array_index );
        // prerequisites:
        // animlist_map - map animlist id -> animlist

Modified: branches/soc-2011-pepper/source/blender/collada/CameraExporter.cpp
===================================================================
--- branches/soc-2011-pepper/source/blender/collada/CameraExporter.cpp  
2011-07-09 19:16:32 UTC (rev 38268)
+++ branches/soc-2011-pepper/source/blender/collada/CameraExporter.cpp  
2011-07-09 19:33:02 UTC (rev 38269)
@@ -76,7 +76,7 @@
                persp.setXFov(lens_to_angle(cam->lens)*(180.0f/M_PI),"xfov");
                
persp.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch),false,"aspect_ratio");
                persp.setZFar(cam->clipend, false , "zfar");
-               persp.setZNear(cam->clipsta);
+               persp.setZNear(cam->clipsta,false , "znear");
                COLLADASW::Camera ccam(mSW, &persp, cam_id, cam_name);
                addCamera(ccam);
        }
@@ -85,7 +85,7 @@
                ortho.setXMag(cam->ortho_scale,"xmag");
                
ortho.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch),false,"aspect_ratio");
                ortho.setZFar(cam->clipend , false , "zfar");
-               ortho.setZNear(cam->clipsta);
+               ortho.setZNear(cam->clipsta, false , "znear");
                COLLADASW::Camera ccam(mSW, &ortho, cam_id, cam_name);
                addCamera(ccam);
        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to