[Bf-blender-cvs] [da96389dcba] master: Refactor: move remaining ViewLayer .blend I/O to blenkernel

Jacques Lucke noreply at git.blender.org
Fri Nov 6 13:22:21 CET 2020


Commit: da96389dcba7b07506fd241616e7b1db3ba7a27b
Author: Jacques Lucke
Date:   Fri Nov 6 13:22:10 2020 +0100
Branches: master
https://developer.blender.org/rBda96389dcba7b07506fd241616e7b1db3ba7a27b

Refactor: move remaining ViewLayer .blend I/O to blenkernel

Ref T76372.

===================================================================

M	source/blender/blenkernel/BKE_layer.h
M	source/blender/blenkernel/intern/layer.c
M	source/blender/blenloader/intern/writefile.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h
index 3d5062eada0..1fb3e746b37 100644
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@ -36,6 +36,7 @@ extern "C" {
 struct Base;
 struct BlendDataReader;
 struct BlendLibReader;
+struct BlendWriter;
 struct Collection;
 struct Depsgraph;
 struct LayerCollection;
@@ -151,6 +152,7 @@ void BKE_layer_eval_view_layer_indexed(struct Depsgraph *depsgraph,
 
 /* .blend file I/O */
 
+void BKE_view_layer_blend_write(struct BlendWriter *writer, struct ViewLayer *view_layer);
 void BKE_view_layer_blend_read_data(struct BlendDataReader *reader, struct ViewLayer *view_layer);
 void BKE_view_layer_blend_read_lib(struct BlendLibReader *reader,
                                    struct Library *lib,
diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index 4915ad4eaac..784cd5b2edf 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -1833,6 +1833,34 @@ void BKE_layer_eval_view_layer_indexed(struct Depsgraph *depsgraph,
   layer_eval_view_layer(depsgraph, scene, view_layer);
 }
 
+static void write_layer_collections(BlendWriter *writer, ListBase *lb)
+{
+  LISTBASE_FOREACH (LayerCollection *, lc, lb) {
+    BLO_write_struct(writer, LayerCollection, lc);
+
+    write_layer_collections(writer, &lc->layer_collections);
+  }
+}
+
+void BKE_view_layer_blend_write(BlendWriter *writer, ViewLayer *view_layer)
+{
+  BLO_write_struct(writer, ViewLayer, view_layer);
+  BLO_write_struct_list(writer, Base, &view_layer->object_bases);
+
+  if (view_layer->id_properties) {
+    IDP_BlendWrite(writer, view_layer->id_properties);
+  }
+
+  LISTBASE_FOREACH (FreestyleModuleConfig *, fmc, &view_layer->freestyle_config.modules) {
+    BLO_write_struct(writer, FreestyleModuleConfig, fmc);
+  }
+
+  LISTBASE_FOREACH (FreestyleLineSet *, fls, &view_layer->freestyle_config.linesets) {
+    BLO_write_struct(writer, FreestyleLineSet, fls);
+  }
+  write_layer_collections(writer, &view_layer->layer_collections);
+}
+
 static void direct_link_layer_collections(BlendDataReader *reader, ListBase *lb, bool master)
 {
   BLO_read_list(reader, lb);
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 5931fdcfbde..8583e8b3b10 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1322,34 +1322,6 @@ static void write_view_settings(BlendWriter *writer, ColorManagedViewSettings *v
   }
 }
 
-static void write_layer_collections(BlendWriter *writer, ListBase *lb)
-{
-  LISTBASE_FOREACH (LayerCollection *, lc, lb) {
-    BLO_write_struct(writer, LayerCollection, lc);
-
-    write_layer_collections(writer, &lc->layer_collections);
-  }
-}
-
-static void write_view_layer(BlendWriter *writer, ViewLayer *view_layer)
-{
-  BLO_write_struct(writer, ViewLayer, view_layer);
-  BLO_write_struct_list(writer, Base, &view_layer->object_bases);
-
-  if (view_layer->id_properties) {
-    IDP_BlendWrite(writer, view_layer->id_properties);
-  }
-
-  LISTBASE_FOREACH (FreestyleModuleConfig *, fmc, &view_layer->freestyle_config.modules) {
-    BLO_write_struct(writer, FreestyleModuleConfig, fmc);
-  }
-
-  LISTBASE_FOREACH (FreestyleLineSet *, fls, &view_layer->freestyle_config.linesets) {
-    BLO_write_struct(writer, FreestyleLineSet, fls);
-  }
-  write_layer_collections(writer, &view_layer->layer_collections);
-}
-
 static void write_lightcache_texture(BlendWriter *writer, LightCacheTexture *tex)
 {
   if (tex->data) {
@@ -1600,7 +1572,7 @@ static void write_scene(BlendWriter *writer, Scene *sce, const void *id_address)
   BKE_curvemapping_curves_blend_write(writer, &sce->r.mblur_shutter_curve);
 
   LISTBASE_FOREACH (ViewLayer *, view_layer, &sce->view_layers) {
-    write_view_layer(writer, view_layer);
+    BKE_view_layer_blend_write(writer, view_layer);
   }
 
   if (sce->master_collection) {



More information about the Bf-blender-cvs mailing list