Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/collada/DocumentExporter.cpp')
-rw-r--r--source/blender/collada/DocumentExporter.cpp41
1 files changed, 23 insertions, 18 deletions
diff --git a/source/blender/collada/DocumentExporter.cpp b/source/blender/collada/DocumentExporter.cpp
index 8d9f67a8eab..a69e522a9dd 100644
--- a/source/blender/collada/DocumentExporter.cpp
+++ b/source/blender/collada/DocumentExporter.cpp
@@ -151,8 +151,8 @@ char *bc_CustomData_get_active_layer_name(const CustomData *data, int type)
return data->layers[layer_index].name;
}
-DocumentExporter::DocumentExporter(Depsgraph *depsgraph, const ExportSettings *export_settings) :
- depsgraph(depsgraph),
+DocumentExporter::DocumentExporter(BlenderContext &blender_context, const ExportSettings *export_settings) :
+ blender_context(blender_context),
export_settings(export_settings) {
}
@@ -180,9 +180,13 @@ 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(bContext *C, Scene *sce)
+int DocumentExporter::exportCurrentScene()
{
- Main *bmain = CTX_data_main(C);
+ Main *bmain = blender_context.get_main();
+ Scene *sce = blender_context.get_scene();
+ bContext *C = blender_context.get_context();
+ Depsgraph *depsgraph = blender_context.get_depsgraph(); \
+
PointerRNA sceneptr, unit_settings;
PropertyRNA *system; /* unused , *scale; */
@@ -272,42 +276,43 @@ int DocumentExporter::exportCurrentScene(bContext *C, Scene *sce)
le.exportLights(sce);
}
+ // <library_effects>
+ EffectsExporter ee(writer, this->export_settings, key_image_map);
+ ee.exportEffects(C, sce);
+
// <library_images>
- ImagesExporter ie(writer, this->export_settings);
+ ImagesExporter ie(writer, this->export_settings, key_image_map);
ie.exportImages(sce);
- // <library_effects>
- EffectsExporter ee(writer, this->export_settings);
- ee.exportEffects(sce);
-
// <library_materials>
MaterialsExporter me(writer, this->export_settings);
me.exportMaterials(sce);
// <library_geometries>
if (bc_has_object_type(export_set, OB_MESH)) {
- GeometryExporter ge(writer, this->export_settings);
- ge.exportGeom(bmain, depsgraph, sce);
+ GeometryExporter ge(blender_context, writer, this->export_settings);
+ ge.exportGeom();
}
// <library_controllers>
- ArmatureExporter arm_exporter(writer, this->export_settings);
- ControllerExporter controller_exporter(writer, this->export_settings);
+ ArmatureExporter arm_exporter(blender_context, writer, this->export_settings);
+ ControllerExporter controller_exporter(blender_context, writer, this->export_settings);
if (bc_has_object_type(export_set, OB_ARMATURE) || this->export_settings->include_shapekeys)
{
- controller_exporter.export_controllers(bmain, depsgraph, sce);
+ controller_exporter.export_controllers();
}
// <library_visual_scenes>
- SceneExporter se(writer, &arm_exporter, this->export_settings);
+ SceneExporter se(blender_context, writer, &arm_exporter, this->export_settings);
if (this->export_settings->include_animations) {
// <library_animations>
- AnimationExporter ae(depsgraph, writer, this->export_settings);
- ae.exportAnimations(bmain, sce);
+ AnimationExporter ae(blender_context, writer, this->export_settings);
+ ae.exportAnimations();
}
- se.exportScene(C, depsgraph, sce);
+
+ se.exportScene();
// <scene>
std::string scene_name(translate_id(id_name(sce)));