[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35867] trunk/blender/source/blender/ blenkernel: Fix for [#26658] Permeable colliders stop particles
Janne Karhu
jhkarh at gmail.com
Tue Mar 29 12:27:32 CEST 2011
Revision: 35867
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35867
Author: jhk
Date: 2011-03-29 10:27:31 +0000 (Tue, 29 Mar 2011)
Log Message:
-----------
Fix for [#26658] Permeable colliders stop particles
* Forgot this exception from the collisions rewrite. Don't check collisions with the same face twice.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_particle.h
trunk/blender/source/blender/blenkernel/intern/particle_system.c
Modified: trunk/blender/source/blender/blenkernel/BKE_particle.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_particle.h 2011-03-29 09:37:53 UTC (rev 35866)
+++ trunk/blender/source/blender/blenkernel/BKE_particle.h 2011-03-29 10:27:31 UTC (rev 35867)
@@ -157,8 +157,6 @@
typedef struct ParticleCollisionElement
{
- Object *ob;
-
/* pointers to original data */
float *x[4], *v[4];
@@ -171,6 +169,9 @@
/* count of original data (1-4) */
int tot;
+ /* index of the collision face */
+ int index;
+
/* flags for inversed normal / particle already inside element at start */
short inv_nor, inside;
} ParticleCollisionElement;
Modified: trunk/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle_system.c 2011-03-29 09:37:53 UTC (rev 35866)
+++ trunk/blender/source/blender/blenkernel/intern/particle_system.c 2011-03-29 10:27:31 UTC (rev 35867)
@@ -2989,7 +2989,12 @@
pce.tot = 3;
pce.inside = 0;
+ pce.index = index;
+ /* don't collide with same face again */
+ if(col->hit == col->current && col->pce.index == index && col->pce.tot == 3)
+ return;
+
do
{
collision = collision_sphere_to_tri(col, ray->radius, &pce, &t);
More information about the Bf-blender-cvs
mailing list