Commit Graph

86 Commits

Author SHA1 Message Date
Bruno Dilly 64bc76ba49 ephysics: expose volume getter
useful to calculate density given a mass



SVN revision: 78201
2012-10-18 21:23:05 +00:00
Leandro Dorileo 56bdc31570 EPhysics: soft body dragging support
This patch introduces an API to freeze(dragging_set) an specific
soft body trimesh face untill it gets called to unfreeze(dragging_unset) it.


Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 78091
2012-10-16 23:18:21 +00:00
Leandro Dorileo 4f73c6d46e EPhysics: triangle API
This patch introduces soft body's mesh triangle manipulation, for picking
the triangle of a body in X and Y and moving it as well.


Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 78088
2012-10-16 23:12:47 +00:00
Bruno Dilly bb90530f7b ephysics: add autodel functions for front and back of
the scene




SVN revision: 78016
2012-10-15 21:54:35 +00:00
Bruno Dilly c2b0c76b74 ephysics: add front and back boundaries
Use it on test "Bouncing 3D"



SVN revision: 78015
2012-10-15 21:54:29 +00:00
Bruno Dilly f6e0e9a3f5 ephysics: revert add depth parameter to boundary api
reverts r77785, since it will be properly handled before adding
front and back boundaries



SVN revision: 78013
2012-10-15 21:54:14 +00:00
Ricardo de Almeida Gonzaga 25e3dd2a44 ephysics: show default value of sleeping threshold on
doc



Patch by: Ricardo de Almeida Gonzaga <ricardo@profusion.mobi>



SVN revision: 78012
2012-10-15 21:54:08 +00:00
Bruno Dilly 66b8ca8afc ephysics: implement rotation quartenion getter
So it's possible to create a custom body update callback using
it with evas_map_util_quat_rotate().



SVN revision: 78010
2012-10-15 21:53:56 +00:00
Bruno Dilly c970090254 ephysics: lights, camera, action!
Add light support.

It uses evas_map_util_3d_lighting() internally and is only applied
over selected bodies.



SVN revision: 77803
2012-10-10 20:32:08 +00:00
Leandro Dorileo 17fa1d7756 EPhysics: add depth parameter to boundary api
Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 77785
2012-10-10 19:18:15 +00:00
Bruno Dilly f75457d4b9 ephysics: add new 3d shapes
Instead of creating it from 2d shapes.
Bad news is that for some cases basically points will need to
be kind of duplicated.



SVN revision: 77783
2012-10-10 19:17:54 +00:00
Bruno Dilly 59cc6c6f2f ephysics: support forces (and torques) on 3 axes
SVN revision: 77782
2012-10-10 19:17:49 +00:00
Bruno Dilly bdd5ba2115 ephysics: expose z-axis gravity
SVN revision: 77781
2012-10-10 19:17:44 +00:00
Bruno Dilly a1897ddf57 ephysics: impulses support the 3 planes
SVN revision: 77780
2012-10-10 19:17:36 +00:00
Bruno Dilly 71583d30e3 ephysics: support angular and linear velocity on 3
axes




SVN revision: 77779
2012-10-10 19:17:29 +00:00
Bruno Dilly f7c2009910 ephysics: collision detection inform z coordinate
SVN revision: 77778
2012-10-10 19:17:13 +00:00
Bruno Dilly 8b9c28f003 ephysics: support 3 axes on body geometry related
functions

geometry set / get, move, resize



SVN revision: 77777
2012-10-10 19:17:01 +00:00
Bruno Dilly 32f03f55a4 ephysics: body rotation getter / setter changed to
support 3 axes




SVN revision: 77776
2012-10-10 19:16:55 +00:00
Bruno Dilly 290a7d8821 ephysics: allow to enable angular movement on all the
planes




SVN revision: 77775
2012-10-10 19:16:48 +00:00
Bruno Dilly 4ef1a74d4c ephysics: support enabling moves on z axis
SVN revision: 77774
2012-10-10 19:16:43 +00:00
Bruno Dilly 6f1b2ce82d ephysics: fix default rate on docs
SVN revision: 77678
2012-10-09 20:00:15 +00:00
Ricardo de Almeida Gonzaga b36c0c9d62 ephysics: fix a reference on doc
Patch by: Ricardo de Almeida Gonzaga <ricardo@profusion.mobi>



SVN revision: 77675
2012-10-09 19:59:43 +00:00
Bruno Dilly d6d51d86f8 ephysics: fix typos on docs
SVN revision: 77469
2012-10-04 22:40:35 +00:00
Leandro Dorileo 252643a33b EPhysics: add cloth support
This patch introduces the cloth support. Auxiliary API's for setting
full anchors, cloth nodes anchors and so on is also introduced. Few
other issues concerning soft body and cloth transform, has been worked
to fit the cloth support needs.


Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 77467
2012-10-04 22:40:16 +00:00
Leandro Dorileo 1cb8f6fc0c EPhysics: multi point deformation
This patch introduces support for multi point deformation mapping,
it's wrapped with an evas smart object to handle multiple slices.


Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 77466
2012-10-04 22:40:07 +00:00
Bruno Dilly 0bdec67255 ephysics: support body material
Using material_set it will be easier to set density, friction
and restitution to a body, simulating properties of the selected
material.



SVN revision: 77462
2012-10-04 22:39:42 +00:00
Bruno Dilly f0b85f701d ephysics: add some material constants
Pre-defined values of some properties, as density, friction and
restitution.

Ricardo researched these values on the following sources:

http://www.matbase.com/
http://www.matweb.com/
http://physics.info/density/
http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=616
http://www.woodweb.com/knowledge_base/Wood_Handbook.html
http://www.engineershandbook.com/Tables/frictioncoefficients.htm
http://www.engineeringtoolbox.com/friction-coefficients-d_778.html
http://hypertextbook.com/facts/2006/restitution.shtml

Since they diverge a lot, he calculated an average value.



SVN revision: 77461
2012-10-04 22:39:35 +00:00
Bruno Dilly 748cfbe2f4 ephysics: support density
SVN revision: 77460
2012-10-04 22:39:29 +00:00
Bruno Dilly b52d2ed85e ephysics: add define to infinite mass
Also check for invalid values on mass set.



SVN revision: 77459
2012-10-04 22:39:10 +00:00
Bruno Dilly 9668304291 ephysics: use multiple threads
Use a mainloop thread and one thread per world dedicated to simulation.

It's using ecore threads, out of the pool.

For now there are still some locks when trying to change physics
elements properties while a simulation is going on, but soon it will
have a queue of properties to be applied after a simulation step, so
it won't lock.



SVN revision: 77455
2012-10-04 22:38:06 +00:00
Ricardo de Almeida Gonzaga 62f7b42c3b ephysics: updated authors.
Patch by: Ricardo de Almeida Gonzaga <ricardo@profusion.mobi>



SVN revision: 77453
2012-10-04 22:37:54 +00:00
Ricardo de Almeida Gonzaga 45c3c60ea3 ephysics: add some references to technical terms.
Patch by: Ricardo de Almeida Gonzaga <ricardo@profusion.mobi>



SVN revision: 77452
2012-10-04 22:37:47 +00:00
Bruno Dilly 005be7be8c ephysics: improve doc description and remove redundant
links




SVN revision: 76701
2012-09-14 22:06:09 +00:00
Bruno Dilly ff792ee8e8 ephysics: improve diagram displayed on docs
SVN revision: 76700
2012-09-14 22:05:54 +00:00
Bruno Dilly 70c3dd925b ephysics: small fixes on docs
Spotted by gastal



SVN revision: 76698
2012-09-14 22:05:29 +00:00
Leandro Dorileo 3ecddb724a ephysics: softbody
** linear/angular joints:
We don't need the linear and angular joints for soft bodies.

Actually these joint's are pulling the soft body towards (0, 0, 0).
The soft body is anchored with the rigid one, so limiting the rigid body
angular and linear movements seems to be enough.

** soft body configs:
Some soft body configurations were tweaked to fix issues of instability
of soft bodies.

** soft body hardness API:
Soft body hardness API was introduced as well.

** points of deformation:
The points of deformation were inverted;

** soft body mass:
Fixed issues with soft body mass changing, now it doesn't "explode" after
changing its mass.


Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 76560
2012-09-12 21:49:14 +00:00
Bruno Dilly 06d88ea834 ephysics: pass evas object associated to body on del
event




SVN revision: 76153
2012-09-04 22:42:20 +00:00
Bruno Dilly 9b56c8b27a EPhysics: expose bodies center of mass.
SVN revision: 75574
2012-08-22 20:05:35 +00:00
Bruno Dilly eae54a26ee EPhysics: improve convex shapes
Center of these shapes were wrong, now it's much better.
But collision still seems a bit inaccurate.



SVN revision: 75572
2012-08-22 20:05:25 +00:00
Bruno Dilly e2534363a6 EPhysics: update docs regarding soft bodies
SVN revision: 75570
2012-08-22 20:05:14 +00:00
Leandro Dorileo 18743b72ad EPhysics: soft body implementation
Introduces soft body dynamics and calls to create soft circles and boxes.


Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 75564
2012-08-22 20:04:39 +00:00
Bruno Dilly dde0746fcb EPhysics: improve bodies group description documentation
SVN revision: 75509
2012-08-21 17:47:24 +00:00
Bruno Dilly 80f7e6307c EPhysics: consider gravity on forces getter
SVN revision: 75479
2012-08-20 22:17:34 +00:00
Bruno Dilly 218004c9e3 EPhysics: add forces API
Implement functions to make it possible to control forces acting
over a body.



SVN revision: 75476
2012-08-20 22:15:52 +00:00
Bruno Dilly 4bccde902a EPhysics: rotation set implemented
SVN revision: 75475
2012-08-20 22:14:43 +00:00
Bruno Dilly d3e74fce50 EPhysics: implement generic apply impulse for bodies
It results in central and torque impulses.



SVN revision: 75474
2012-08-20 22:14:25 +00:00
Bruno Dilly 1ef5ae1a2d EPhysics: fix torque impulse
SVN revision: 75473
2012-08-20 22:13:38 +00:00
Bruno Dilly 5c32157f04 EPhysics: fix ephysics central impulse unit and
improve docs

It should use a unit based on pixels, not meters.
This way is more compatible with the rest of API and easier
to see the result.



SVN revision: 75472
2012-08-20 22:12:14 +00:00
Bruno Dilly df457b4645 EPhysics: implement body move(), resize()
It was already possible to move and resize using geometry get / set,
but if just one of the actions is wanted, this new API is easier for the user
and save a few operations.



SVN revision: 75471
2012-08-20 22:10:52 +00:00
Bruno Dilly 1328120089 EPhysics: small fix on body docs
SVN revision: 75331
2012-08-16 21:34:59 +00:00