Merge branch 'master' into blender2.8
authorBastien Montagne <montagne29@wanadoo.fr>
Tue, 28 Nov 2017 15:34:43 +0000 (16:34 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Tue, 28 Nov 2017 15:34:43 +0000 (16:34 +0100)
1  2 
source/blender/blenkernel/intern/collision.c

index a004d32847a9a9a318d125e62643cbcf9d9f9ee6,21e28f5180c77801b9b5976c55d48bca6a36aa19..d21b527bbd6a6455934379aecf1e3c668868c759
@@@ -47,7 -47,6 +47,7 @@@
  
  #include "BKE_cloth.h"
  #include "BKE_effect.h"
 +#include "BKE_layer.h"
  #include "BKE_modifier.h"
  #include "BKE_scene.h"
  
@@@ -513,7 -512,7 +513,7 @@@ static void add_collision_object(Objec
  
  // return all collision objects in scene
  // collision object will exclude self 
 -Object **get_collisionobjects_ext(Scene *scene, Object *self, Group *group, int layer, unsigned int *numcollobj, unsigned int modifier_type, bool dupli)
 +Object **get_collisionobjects_ext(Scene *scene, Object *self, Group *group, unsigned int *numcollobj, unsigned int modifier_type, bool dupli)
  {
        Base *base;
        Object **objs;
                Scene *sce_iter;
                /* add objects in same layer in scene */
                for (SETLOOPER(scene, sce_iter, base)) {
 -                      if ( base->lay & layer )
 +                      if ((base->flag & BASE_VISIBLED) != 0) {
                                add_collision_object(&objs, &numobj, &maxobj, base->object, self, level, modifier_type);
 -
 +                      }
                }
        }
  
@@@ -548,7 -547,7 +548,7 @@@ Object **get_collisionobjects(Scene *sc
  {
        /* Need to check for active layers, too.
           Otherwise this check fails if the objects are not on the same layer - DG */
 -      return get_collisionobjects_ext(scene, self, group, self->lay | scene->lay, numcollobj, modifier_type, true);
 +      return get_collisionobjects_ext(scene, self, group, numcollobj, modifier_type, true);
  }
  
  static void add_collider_cache_object(ListBase **objs, Object *ob, Object *self, int level)
@@@ -601,7 -600,7 +601,7 @@@ ListBase *get_collider_cache(Scene *sce
  
                /* add objects in same layer in scene */
                for (SETLOOPER(scene, sce_iter, base)) {
 -                      if (!self || (base->lay & self->lay))
 +                      if (!self || ((base->flag & BASE_VISIBLED) != 0))
                                add_collider_cache_object(&objs, base->object, self, 0);
  
                }
@@@ -802,8 -801,8 +802,8 @@@ int cloth_bvh_objcollision(Object *ob, 
                                if ( cloth->bvhselftree ) {
                                        // search for overlapping collision pairs
                                        overlap = BLI_bvhtree_overlap(cloth->bvhselftree, cloth->bvhselftree, &result, NULL, NULL);
-       
-       // #pragma omp parallel for private(k, i, j) schedule(static)
+                                       /* Could be parallelized (using BLI_task)... */
                                        for ( k = 0; k < result; k++ ) {
                                                float temp[3];
                                                float length = 0;