Merge branch 'master' into blender2.8
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 29 Nov 2017 15:00:50 +0000 (16:00 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 29 Nov 2017 15:01:07 +0000 (16:01 +0100)
1  2 
source/blender/blenkernel/BKE_group.h
source/blender/blenkernel/intern/group.c

index 9aab6950496baf7f80890ab55278cd3b8baa7b85,e07dd259970bf0da05687adb9e586fbc423998b8..1d35e6ab9fc9863bc5da60ff8300f09b0f923bd4
@@@ -45,14 -45,13 +45,13 @@@ struct Group *BKE_group_add(struct Mai
  void          BKE_group_copy_data(struct Main *bmain, struct Group *group_dst, const struct Group *group_src, const int flag);
  struct Group *BKE_group_copy(struct Main *bmain, const struct Group *group);
  void          BKE_group_make_local(struct Main *bmain, struct Group *group, const bool lib_local);
 -bool          BKE_group_object_add(struct Group *group, struct Object *ob, struct Scene *scene, struct Base *base);
 -bool          BKE_group_object_unlink(struct Group *group, struct Object *ob, struct Scene *scene, struct Base *base);
 +bool          BKE_group_object_add(struct Group *group, struct Object *ob);
 +bool          BKE_group_object_unlink(struct Group *group, struct Object *ob);
  struct Group *BKE_group_object_find(struct Group *group, struct Object *ob);
  bool          BKE_group_object_exists(struct Group *group, struct Object *ob);
  bool          BKE_group_object_cyclic_check(struct Main *bmain, struct Object *object, struct Group *group);
  bool          BKE_group_is_animated(struct Group *group, struct Object *parent);
  
- void          BKE_group_tag_recalc(struct Group *group);
 -void          BKE_group_handle_recalc_and_update(struct EvaluationContext *eval_ctx, struct Scene *scene, struct Object *parent, struct Group *group);
 +void          BKE_group_handle_recalc_and_update(const struct EvaluationContext *eval_ctx, struct Scene *scene, struct Object *parent, struct Group *group);
  
  #endif  /* __BKE_GROUP_H__ */
index 5e5f8114ead0336fba04a4a999e3258a616c1704,6dc8cc5aff1c30ddfaa8049e276232ff3c6576bf..0fd6685242fe2a96cddab0eb405ac42667488ce9
  #include "BLI_blenlib.h"
  #include "BLI_utildefines.h"
  
 -
 -#include "BKE_depsgraph.h"
  #include "BKE_global.h"
  #include "BKE_group.h"
  #include "BKE_icons.h"
  #include "BKE_library.h"
  #include "BKE_main.h"
  #include "BKE_object.h"
 -#include "BKE_scene.h" /* BKE_scene_base_find */
 +#include "BKE_scene.h"
  
  static void free_group_object(GroupObject *go)
  {
@@@ -143,11 -145,18 +143,11 @@@ static bool group_object_add_internal(G
        return true;
  }
  
 -bool BKE_group_object_add(Group *group, Object *object, Scene *scene, Base *base)
 +bool BKE_group_object_add(Group *group, Object *object)
  {
        if (group_object_add_internal(group, object)) {
                if ((object->flag & OB_FROMGROUP) == 0) {
 -
 -                      if (scene && base == NULL)
 -                              base = BKE_scene_base_find(scene, object);
 -
                        object->flag |= OB_FROMGROUP;
 -
 -                      if (base)
 -                              base->flag |= OB_FROMGROUP;
                }
                return true;
        }
@@@ -214,12 -223,18 +214,12 @@@ bool BKE_group_object_cyclic_check(Mai
        return group_object_cyclic_check_internal(object, group);
  }
  
 -bool BKE_group_object_unlink(Group *group, Object *object, Scene *scene, Base *base)
 +bool BKE_group_object_unlink(Group *group, Object *object)
  {
        if (group_object_unlink_internal(group, object)) {
                /* object can be NULL */
                if (object && BKE_group_object_find(NULL, object) == NULL) {
 -                      if (scene && base == NULL)
 -                              base = BKE_scene_base_find(scene, object);
 -
                        object->flag &= ~OB_FROMGROUP;
 -
 -                      if (base)
 -                              base->flag &= ~OB_FROMGROUP;
                }
                return true;
        }
@@@ -253,18 -268,6 +253,6 @@@ Group *BKE_group_object_find(Group *gro
        return NULL;
  }
  
- void BKE_group_tag_recalc(Group *group)
- {
-       GroupObject *go;
-       
-       if (group == NULL) return;
-       
-       for (go = group->gobject.first; go; go = go->next) {
-               if (go->ob) 
-                       go->ob->recalc = go->recalc;
-       }
- }
  bool BKE_group_is_animated(Group *group, Object *UNUSED(parent))
  {
        GroupObject *go;
@@@ -327,7 -330,7 +315,7 @@@ static void group_replaces_nla(Object *
   * you can draw everything, leaves tags in objects to signal it needs further updating */
  
  /* note: does not work for derivedmesh and render... it recreates all again in convertblender.c */
 -void BKE_group_handle_recalc_and_update(EvaluationContext *eval_ctx, Scene *scene, Object *UNUSED(parent), Group *group)
 +void BKE_group_handle_recalc_and_update(const struct EvaluationContext *eval_ctx, Scene *scene, Object *UNUSED(parent), Group *group)
  {
        GroupObject *go;