Merge branch 'master' into blender2.8
[blender.git] / source / blender / blenkernel / intern / mball.c
index dfc49c996b148b54125578f00fb312f3f90dfecd..fe3ae9ccb18f85aed8568a483d2bf6cc30c49bcf 100644 (file)
@@ -57,7 +57,6 @@
 
 #include "BKE_animsys.h"
 #include "BKE_curve.h"
-#include "BKE_depsgraph.h"
 #include "BKE_scene.h"
 #include "BKE_library.h"
 #include "BKE_library_query.h"
@@ -67,6 +66,8 @@
 #include "BKE_object.h"
 #include "BKE_material.h"
 
+//#include "DEG_depsgraph.h"
+
 /* Functions */
 
 /** Free (or release) any data used by this mball (does not free the mball itself). */
@@ -319,13 +320,13 @@ bool BKE_mball_is_basis_for(Object *ob1, Object *ob2)
 void BKE_mball_properties_copy(Scene *scene, Object *active_object)
 {
        Scene *sce_iter = scene;
-       Base *base;
+       BaseLegacy *base;
        Object *ob;
        MetaBall *active_mball = (MetaBall *)active_object->data;
        int basisnr, obnr;
        char basisname[MAX_ID_NAME], obname[MAX_ID_NAME];
        SceneBaseIter iter;
-       EvaluationContext *eval_ctx = G.main->eval_ctx;
+       struct EvaluationContext *eval_ctx = G.main->eval_ctx;
 
        BLI_split_name_num(basisname, &basisnr, active_object->id.name + 2, '.');
 
@@ -362,27 +363,25 @@ void BKE_mball_properties_copy(Scene *scene, Object *active_object)
  */
 Object *BKE_mball_basis_find(Scene *scene, Object *basis)
 {
-       Scene *sce_iter = scene;
-       Base *base;
-       Object *ob, *bob = basis;
+       Object *bob = basis;
        int basisnr, obnr;
        char basisname[MAX_ID_NAME], obname[MAX_ID_NAME];
-       SceneBaseIter iter;
-       EvaluationContext *eval_ctx = G.main->eval_ctx;
 
        BLI_split_name_num(basisname, &basisnr, basis->id.name + 2, '.');
 
-       BKE_scene_base_iter_next(eval_ctx, &iter, &sce_iter, 0, NULL, NULL);
-       while (BKE_scene_base_iter_next(eval_ctx, &iter, &sce_iter, 1, &base, &ob)) {
-               if ((ob->type == OB_MBALL) && !(base->flag & OB_FROMDUPLI)) {
-                       if (ob != bob) {
-                               BLI_split_name_num(obname, &obnr, ob->id.name + 2, '.');
-
-                               /* object ob has to be in same "group" ... it means, that it has to have same base of its name */
-                               if (STREQ(obname, basisname)) {
-                                       if (obnr < basisnr) {
-                                               basis = ob;
-                                               basisnr = obnr;
+       for (SceneLayer *sl = scene->render_layers.first; sl; sl = sl->next) {
+               for (Base *base = sl->object_bases.first; base; base = base->next) {
+                       Object *ob = base->object;
+                       if ((ob->type == OB_MBALL) && !(base->flag & OB_FROMDUPLI)) {
+                               if (ob != bob) {
+                                       BLI_split_name_num(obname, &obnr, ob->id.name + 2, '.');
+
+                                       /* object ob has to be in same "group" ... it means, that it has to have same base of its name */
+                                       if (STREQ(obname, basisname)) {
+                                               if (obnr < basisnr) {
+                                                       basis = ob;
+                                                       basisnr = obnr;
+                                               }
                                        }
                                }
                        }
@@ -539,7 +538,7 @@ void BKE_mball_select_swap(struct MetaBall *mb)
 
 /* **** Depsgraph evaluation **** */
 
-void BKE_mball_eval_geometry(EvaluationContext *UNUSED(eval_ctx),
+void BKE_mball_eval_geometry(struct EvaluationContext *UNUSED(eval_ctx),
                              MetaBall *UNUSED(mball))
 {
 }