Revision: 24892
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24892
Author:   jhk
Date:     2009-11-25 18:46:10 +0100 (Wed, 25 Nov 2009)

Log Message:
-----------
Verlet integration method for particles (patch provided by farsthary).

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/particle_system.c
    trunk/blender/source/blender/makesdna/DNA_particle_types.h
    trunk/blender/source/blender/makesrna/intern/rna_particle.c

Modified: trunk/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle_system.c    
2009-11-25 15:00:29 UTC (rev 24891)
+++ trunk/blender/source/blender/blenkernel/intern/particle_system.c    
2009-11-25 17:46:10 UTC (rev 24892)
@@ -2287,6 +2287,9 @@
                case PART_INT_RK4:
                        steps=4;
                        break;
+               case PART_INT_VERLET:
+                       steps=1;
+                       break;
        }
 
        copy_particle_key(states,&pa->state,1);
@@ -2392,6 +2395,13 @@
                                                
VECADDFAC(pa->state.vel,pa->state.vel,dv[3],1.0f/6.0f);
                                }
                                break;
+                       case PART_INT_VERLET:   /* Verlet integration */
+                               
VECADDFAC(pa->state.vel,pa->state.vel,force,dtime);
+                               
VECADDFAC(pa->state.co,pa->state.co,pa->state.vel,dtime);
+
+                               
VECSUB(pa->state.vel,pa->state.co,pa->prev_state.co);
+                               mul_v3_fl(pa->state.vel,1.0f/dtime);
+                               break;
                }
        }
 

Modified: trunk/blender/source/blender/makesdna/DNA_particle_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_particle_types.h  2009-11-25 
15:00:29 UTC (rev 24891)
+++ trunk/blender/source/blender/makesdna/DNA_particle_types.h  2009-11-25 
17:46:10 UTC (rev 24892)
@@ -391,6 +391,7 @@
 #define PART_INT_EULER         0
 #define PART_INT_MIDPOINT      1
 #define PART_INT_RK4           2
+#define PART_INT_VERLET                3
 
 /* part->rotmode */
 #define PART_ROT_NOR           1

Modified: trunk/blender/source/blender/makesrna/intern/rna_particle.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_particle.c 2009-11-25 
15:00:29 UTC (rev 24891)
+++ trunk/blender/source/blender/makesrna/intern/rna_particle.c 2009-11-25 
17:46:10 UTC (rev 24892)
@@ -917,6 +917,7 @@
 
        static EnumPropertyItem integrator_type_items[] = {
                {PART_INT_EULER, "EULER", 0, "Euler", ""},
+               {PART_INT_VERLET, "VERLET", 0, "Verlet", ""},
                {PART_INT_MIDPOINT, "MIDPOINT", 0, "Midpoint", ""},
                {PART_INT_RK4, "RK4", 0, "RK4", ""},
                {0, NULL, 0, NULL, NULL}


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

Reply via email to