Commit: b13585e7825707f78a395637c73e6784e801ff95
Author: Bastien Montagne
Date:   Wed Jun 20 14:50:05 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBb13585e7825707f78a395637c73e6784e801ff95

Cleanup: remove last DM usages from datatransfer code.

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

M       source/blender/editors/object/object_data_transfer.c
M       source/blender/makesrna/intern/rna_modifier.c

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

diff --git a/source/blender/editors/object/object_data_transfer.c 
b/source/blender/editors/object/object_data_transfer.c
index db81c51cc90..788f0826848 100644
--- a/source/blender/editors/object/object_data_transfer.c
+++ b/source/blender/editors/object/object_data_transfer.c
@@ -40,7 +40,6 @@
 
 #include "BKE_context.h"
 #include "BKE_data_transfer.h"
-#include "BKE_DerivedMesh.h"
 #include "BKE_mesh_mapping.h"
 #include "BKE_mesh_remap.h"
 #include "BKE_mesh_runtime.h"
@@ -137,20 +136,17 @@ static const EnumPropertyItem *dt_layers_select_src_itemf(
                Scene *scene = CTX_data_scene(C);
 
                if (ob_src) {
-                       DerivedMesh *dm_src;
-                       CustomData *ldata;
+                       Mesh *me_eval;
                        int num_data, i;
 
-                       /* XXX Is this OK? */
-                       dm_src = mesh_get_derived_final(depsgraph, scene, 
ob_src, CD_MASK_BAREMESH | CD_MLOOPUV);
-                       ldata = dm_src->getLoopDataLayout(dm_src);
-                       num_data = CustomData_number_of_layers(ldata, 
CD_MLOOPUV);
+                       me_eval = mesh_get_eval_final(depsgraph, scene, ob_src, 
CD_MASK_BAREMESH | CD_MLOOPUV);
+                       num_data = CustomData_number_of_layers(&me_eval->ldata, 
CD_MLOOPUV);
 
                        RNA_enum_item_add_separator(&item, &totitem);
 
                        for (i = 0; i < num_data; i++) {
                                tmp_item.value = i;
-                               tmp_item.identifier = tmp_item.name = 
CustomData_get_layer_name(ldata, CD_MLOOPUV, i);
+                               tmp_item.identifier = tmp_item.name = 
CustomData_get_layer_name(&me_eval->ldata, CD_MLOOPUV, i);
                                RNA_enum_item_add(&item, &totitem, &tmp_item);
                        }
                }
@@ -160,20 +156,17 @@ static const EnumPropertyItem *dt_layers_select_src_itemf(
                Scene *scene = CTX_data_scene(C);
 
                if (ob_src) {
-                       DerivedMesh *dm_src;
-                       CustomData *ldata;
+                       Mesh *me_eval;
                        int num_data, i;
 
-                       /* XXX Is this OK? */
-                       dm_src = mesh_get_derived_final(depsgraph, scene, 
ob_src, CD_MASK_BAREMESH | CD_MLOOPCOL);
-                       ldata = dm_src->getLoopDataLayout(dm_src);
-                       num_data = CustomData_number_of_layers(ldata, 
CD_MLOOPCOL);
+                       me_eval = mesh_get_eval_final(depsgraph, scene, ob_src, 
CD_MASK_BAREMESH | CD_MLOOPCOL);
+                       num_data = CustomData_number_of_layers(&me_eval->ldata, 
CD_MLOOPCOL);
 
                        RNA_enum_item_add_separator(&item, &totitem);
 
                        for (i = 0; i < num_data; i++) {
                                tmp_item.value = i;
-                               tmp_item.identifier = tmp_item.name = 
CustomData_get_layer_name(ldata, CD_MLOOPCOL, i);
+                               tmp_item.identifier = tmp_item.name = 
CustomData_get_layer_name(&me_eval->ldata, CD_MLOOPCOL, i);
                                RNA_enum_item_add(&item, &totitem, &tmp_item);
                        }
                }
diff --git a/source/blender/makesrna/intern/rna_modifier.c 
b/source/blender/makesrna/intern/rna_modifier.c
index e41fe513314..1e548339e33 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -45,7 +45,6 @@
 
 #include "BKE_animsys.h"
 #include "BKE_data_transfer.h"
-#include "BKE_DerivedMesh.h"
 #include "BKE_dynamicpaint.h"
 #include "BKE_effect.h"
 #include "BKE_mesh_mapping.h"
@@ -287,6 +286,7 @@ const EnumPropertyItem rna_enum_axis_flag_xyz_items[] = {
 #include "BKE_cachefile.h"
 #include "BKE_context.h"
 #include "BKE_library.h"
+#include "BKE_mesh_runtime.h"
 #include "BKE_modifier.h"
 #include "BKE_object.h"
 #include "BKE_particle.h"
@@ -901,6 +901,9 @@ static const EnumPropertyItem 
*rna_DataTransferModifier_layers_select_src_itemf(
                return rna_enum_dt_layers_select_src_items;
        }
 
+       Depsgraph *depsgraph= CTX_data_depsgraph(C);
+       Scene *scene = CTX_data_scene(C);
+
        /* No active here! */
        RNA_enum_items_add_value(&item, &totitem, 
rna_enum_dt_layers_select_src_items, DT_LAYERS_ALL_SRC);
 
@@ -934,22 +937,18 @@ static const EnumPropertyItem 
*rna_DataTransferModifier_layers_select_src_itemf(
                Object *ob_src = dtmd->ob_source;
 
                if (ob_src) {
-                       DerivedMesh *dm_src;
-                       CustomData *ldata;
+                       Mesh *me_eval;
                        int num_data, i;
 
-                       dm_src = object_get_derived_final(ob_src, false);
-                       if (dm_src != NULL) {
-                               ldata = dm_src->getLoopDataLayout(dm_src);
-                               num_data = CustomData_number_of_layers(ldata, 
CD_MLOOPUV);
+                       me_eval = mesh_get_eval_final(depsgraph, scene, ob_src, 
CD_MASK_BAREMESH | CD_MLOOPUV);
+                       num_data = CustomData_number_of_layers(&me_eval->ldata, 
CD_MLOOPUV);
 
-                               RNA_enum_item_add_separator(&item, &totitem);
+                       RNA_enum_item_add_separator(&item, &totitem);
 
-                               for (i = 0; i < num_data; i++) {
-                                       tmp_item.value = i;
-                                       tmp_item.identifier = tmp_item.name = 
CustomData_get_layer_name(ldata, CD_MLOOPUV, i);
-                                       RNA_enum_item_add(&item, &totitem, 
&tmp_item);
-                               }
+                       for (i = 0; i < num_data; i++) {
+                               tmp_item.value = i;
+                               tmp_item.identifier = tmp_item.name = 
CustomData_get_layer_name(&me_eval->ldata, CD_MLOOPUV, i);
+                               RNA_enum_item_add(&item, &totitem, &tmp_item);
                        }
                }
        }
@@ -957,22 +956,18 @@ static const EnumPropertyItem 
*rna_DataTransferModifier_layers_select_src_itemf(
                Object *ob_src = dtmd->ob_source;
 
                if (ob_src) {
-                       DerivedMesh *dm_src;
-                       CustomData *ldata;
+                       Mesh *me_eval;
                        int num_data, i;
 
-                       dm_src = object_get_derived_final(ob_src, false);
-                       if (dm_src != NULL) {
-                               ldata = dm_src->getLoopDataLayout(dm_src);
-                               num_data = CustomData_number_of_layers(ldata, 
CD_MLOOPCOL);
+                       me_eval = mesh_get_eval_final(depsgraph, scene, ob_src, 
CD_MASK_BAREMESH | CD_MLOOPCOL);
+                       num_data = CustomData_number_of_layers(&me_eval->ldata, 
CD_MLOOPCOL);
 
-                               RNA_enum_item_add_separator(&item, &totitem);
+                       RNA_enum_item_add_separator(&item, &totitem);
 
-                               for (i = 0; i < num_data; i++) {
-                                       tmp_item.value = i;
-                                       tmp_item.identifier = tmp_item.name = 
CustomData_get_layer_name(ldata, CD_MLOOPCOL, i);
-                                       RNA_enum_item_add(&item, &totitem, 
&tmp_item);
-                               }
+                       for (i = 0; i < num_data; i++) {
+                               tmp_item.value = i;
+                               tmp_item.identifier = tmp_item.name = 
CustomData_get_layer_name(&me_eval->ldata, CD_MLOOPCOL, i);
+                               RNA_enum_item_add(&item, &totitem, &tmp_item);
                        }
                }
        }

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

Reply via email to