[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24892] trunk/blender/source/blender: Verlet integration method for particles (patch provided by farsthary).
Janne Karhu
jhkarh at utu.fi
Wed Nov 25 18:47:02 CET 2009
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}
More information about the Bf-blender-cvs
mailing list