diff options
Diffstat (limited to 'source/blender/collada/DocumentExporter.cpp')
-rw-r--r-- | source/blender/collada/DocumentExporter.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/source/blender/collada/DocumentExporter.cpp b/source/blender/collada/DocumentExporter.cpp index 957fec50e4b..1741312af5f 100644 --- a/source/blender/collada/DocumentExporter.cpp +++ b/source/blender/collada/DocumentExporter.cpp @@ -138,8 +138,7 @@ extern bool bc_has_object_type(LinkNode *export_set, short obtype); char *bc_CustomData_get_layer_name(const struct CustomData *data, int type, int n) { int layer_index = CustomData_get_layer_index(data, type); - if (layer_index < 0) - return NULL; + if (layer_index < 0) return NULL; return data->layers[layer_index + n].name; } @@ -148,10 +147,9 @@ char *bc_CustomData_get_active_layer_name(const CustomData *data, int type) { /* get the layer index of the active layer of type */ int layer_index = CustomData_get_active_layer_index(data, type); - if (layer_index < 1) - return NULL; + if (layer_index < 0) return NULL; - return bc_CustomData_get_layer_name(data, type, layer_index-1); + return data->layers[layer_index].name; } DocumentExporter::DocumentExporter(const ExportSettings *export_settings) : export_settings(export_settings) { @@ -181,7 +179,7 @@ static COLLADABU::NativeString make_temp_filepath(const char *name, const char * // COLLADA allows this through multiple <channel>s in <animation>. // For this to work, we need to know objects that use a certain action. -int DocumentExporter::exportCurrentScene(Scene *sce) +int DocumentExporter::exportCurrentScene(const EvaluationContext *eval_ctx, Scene *sce) { PointerRNA sceneptr, unit_settings; PropertyRNA *system; /* unused , *scale; */ @@ -287,7 +285,7 @@ int DocumentExporter::exportCurrentScene(Scene *sce) // <library_geometries> if (bc_has_object_type(export_set, OB_MESH)) { GeometryExporter ge(writer, this->export_settings); - ge.exportGeom(sce); + ge.exportGeom(eval_ctx, sce); } // <library_controllers> @@ -295,7 +293,7 @@ int DocumentExporter::exportCurrentScene(Scene *sce) ControllerExporter controller_exporter(writer, this->export_settings); if (bc_has_object_type(export_set, OB_ARMATURE) || this->export_settings->include_shapekeys) { - controller_exporter.export_controllers(sce); + controller_exporter.export_controllers(eval_ctx, sce); } // <library_visual_scenes> @@ -306,7 +304,7 @@ int DocumentExporter::exportCurrentScene(Scene *sce) AnimationExporter ae(writer, this->export_settings); #if 0 - bool has_animations = ae.exportAnimations(sce); + bool has_animations = ae.exportAnimations(eval_ctx, sce); /* The following code seems to be an obsolete workaround Comment out until it proofs correct that we no longer need it. */ @@ -322,10 +320,10 @@ int DocumentExporter::exportCurrentScene(Scene *sce) se.setExportTransformationType(this->export_settings->export_transformation_type); } #else - ae.exportAnimations(sce); + ae.exportAnimations(eval_ctx, sce); se.setExportTransformationType(this->export_settings->export_transformation_type); #endif - se.exportScene(sce); + se.exportScene(eval_ctx, sce); // <scene> std::string scene_name(translate_id(id_name(sce))); |