Identify material Animations to export.

This commit is contained in:
2011-07-17 17:30:41 +00:00
parent 6b6c2bd17f
commit b96d3fd70a
2 changed files with 15 additions and 1 deletions

View File

@@ -24,6 +24,7 @@
#include "GeometryExporter.h"
#include "AnimationExporter.h"
#include "MaterialExporter.h"
template<class Functor>
void forEachObjectInScene(Scene *sce, Functor &f)
@@ -944,7 +945,17 @@ void AnimationExporter::exportAnimations(Scene *sce)
fcu = (FCurve*)(((Lamp*)ob ->data)->adt->action->curves.first);
else if( (ob->type == OB_CAMERA ) && ((Camera*)ob ->data)->adt && ((Camera*)ob ->data)->adt->action )
fcu = (FCurve*)(((Camera*)ob ->data)->adt->action->curves.first);
//The Scene has animations if object type is armature or object has f-curve or object is a Lamp which has f-curves
for(int a = 0; a < ob->totcol; a++)
{
Material *ma = give_current_material(ob, a+1);
if (!ma) continue;
if(ma->adt && ma->adt->action)
{
fcu = (FCurve*)ma->adt->action->curves.first;
}
}
if ( fcu) return true;
base= base->next;
}

View File

@@ -35,6 +35,7 @@ extern "C"
#include "DNA_lamp_types.h"
#include "DNA_camera_types.h"
#include "DNA_armature_types.h"
#include "DNA_material_types.h"
#include "BKE_DerivedMesh.h"
#include "BKE_fcurve.h"
@@ -68,6 +69,8 @@ extern char build_rev[];
#include "COLLADASWConstants.h"
#include "COLLADASWBaseInputElement.h"
#include "EffectExporter.h"
#include "collada_internal.h"
#include <vector>