Enlightenment CVS committal

Author  : pfritz
Project : e17
Module  : proto/e_phys

Dir     : e17/proto/e_phys/src/bin


Modified Files:
        main.c test_snow.c 


Log Message:
*API BREAK*
Here comes the first step of the e_phys API overhaul. There will be following 
some other changes. If you are using or plan to use e_phys, please, let it me 
now, so maybe we can find the best matching API. (Note: the core is untouched, 
the math and the algorithms are still the same)

===================================================================
RCS file: /cvs/e/e17/proto/e_phys/src/bin/main.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- main.c      6 Oct 2007 14:47:30 -0000       1.3
+++ main.c      21 Nov 2007 23:34:49 -0000      1.4
@@ -105,14 +105,14 @@
   for (i = 0; i < num_p; i++)
   {
     E_Phys_Particle *p;
+    E_Phys_Point pos;
 
-    float x0, y0;
+    pos.x = rand_range(50, INIT_W - 50);
+    pos.y = rand_range(50, INIT_W - 50);
 
-    x0 = rand_range(50, INIT_W - 50);
-    y0 = rand_range(50, INIT_W - 50);
-    p = e_phys_particle_add(world, 1, x0, y0, 0, 0);
-
-    e_phys_particle_size_set(p, 4, 4);
+    p = e_phys_particle_add(world);
+    e_phys_particle_place(p, &pos);
+    e_phys_particle_size_set(p, 4.0, 4.0);
 
     if (prev_p)
       e_phys_constraint_stick_add(prev_p, p, 5);
@@ -158,13 +158,14 @@
     {
       E_Phys_Particle *p;
 
-      float x0, y0;
+      E_Phys_Point pos0;
 
 
-      x0 = 50 + mesh_size * (float)i / num_p;
-      y0 = 50 + mesh_size * (float)j / num_p;
-      p = e_phys_particle_add(world, 1, x0, y0, 0, 0);
+      pos0.x = 50 + mesh_size * (float)i / num_p;
+      pos0.y = 50 + mesh_size * (float)j / num_p;
 
+      p = e_phys_particle_add(world);
+      e_phys_particle_place(p, &pos0);
       e_phys_particle_size_set(p, 4, 4);
 
       if (i > 0)
@@ -199,17 +200,19 @@
   E_Phys_Particle *p;
   int i, n = 25;
   float w, h;
-  float x, y;
+  E_Phys_Point pos;
 
   w = (float)world->w / n;
   h = (float)world->h / n;
 
   for (i = 0; i < n*n; i++)
   {
-    x = w * (i % n);
-    y = h * (i / n);
+    pos.x = w * (i % n);
+    pos.y = h * (i / n);
 
-    p = e_phys_particle_add(world, 5, x, y, 0, 0);
+    p = e_phys_particle_add(world);
+    e_phys_particle_mass_set(p, 5.0);
+    e_phys_particle_place(p, &pos);
   }
 
   world->constraint_iter = 1;
@@ -222,18 +225,26 @@
 {
   E_Phys_Particle *p;
   E_Phys_Particle *center;
+  E_Phys_Point pos;
 
   int i;
   int num_p = 300;
 
   world->friction = .01;
   world->constraint_iter = 1000;
-  center = e_phys_particle_add(world, 1000, 300, 300, 0, 0);
+  center = e_phys_particle_add(world);
+  e_phys_particle_mass_set(center, 1000.0);
+  pos.x = pos.y = 300;
+  e_phys_particle_place(center, &pos);
   e_phys_particle_size_set(center, 5, 5);
 
   for (i = 0; i < num_p; i++)
   {
-    p = e_phys_particle_add(world, 1, rand_range(100,500), rand_range(100, 
500), 0, 0);
+    pos.x = rand_range(100, 500);
+    pos.y = rand_range(100, 500);
+
+    p = e_phys_particle_add(world);
+    e_phys_particle_place(p, &pos);
     e_phys_particle_size_set(p, 5, 5);
 
     e_phys_force_modified_spring_add(world, p, center, 1000, 200);
@@ -252,7 +263,12 @@
 
   for (i = 0; i < num; i++)
   {
-    p = e_phys_particle_add(world, 1, rand_range(50, 550), rand_range(50, 
550), rand_range(0, 20), rand_range(0, 20));
+    E_Phys_Point pos = {rand_range(50, 550), rand_range(50, 550)};
+    E_Phys_Vector vel = {rand_range(0, 20), rand_range(0, 20)};
+
+    p = e_phys_particle_add(world);
+    e_phys_particle_move(p, &pos);
+    e_phys_particle_velocity_set(p, &vel);
     e_phys_particle_size_set(p, 20, 20);
   }
 
@@ -385,9 +401,10 @@
 
   srand(ecore_time_get());
 
-  world = e_phys_world_add(INIT_W, INIT_H);
+  world = e_phys_world_add();
+  e_phys_world_size_set(world, INIT_W, INIT_H);
   app->world = world;
-  world->dt = 1.0 / 60.0;
+  world->dt = 1.0 / 30.0;
 
   struct { 
     char *name;
===================================================================
RCS file: /cvs/e/e17/proto/e_phys/src/bin/test_snow.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- test_snow.c 27 Jul 2007 06:24:07 -0000      1.3
+++ test_snow.c 21 Nov 2007 23:34:49 -0000      1.4
@@ -27,7 +27,10 @@
     v0.x = 0;
     v0.y = sqrt(2 * g.y * pos.y) * world->dt;
 
-    p = e_phys_particle_add(world, rand_range(3, 5), pos.x, pos.y, v0.x, v0.y);
+    p = e_phys_particle_add(world);
+    e_phys_particle_mass_set(p, rand_range(3, 5));
+    e_phys_particle_move(p, &pos);
+    e_phys_particle_velocity_set(p, &v0);
     e_phys_particle_size_set(p, p->m, p->m);
   }
 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to