Commit Graph

103 Commits

Author SHA1 Message Date
Bruno Dilly 52e0d54174 ephysics: change quaternion API to avoid many free calls
It was really annoying and error prone (easy to leak).



SVN revision: 79299
2012-11-14 20:01:20 +00:00
Bruno Dilly 621a670813 ephysics: add quaternion group to main doc page
I forgot that.



SVN revision: 79297
2012-11-14 20:01:01 +00:00
Bruno Dilly eab0f81290 ephysics: wrap bullet's quaternion
Useful for 3d rotations.
Avoid issues found when using euler angles, like gimbal locks.



SVN revision: 79252
2012-11-13 22:18:16 +00:00
Bruno Dilly 3803a8d502 ephysics: fix docs regarding torque axis.
SVN revision: 79249
2012-11-13 22:17:54 +00:00
Bruno Dilly 3d9cf4bd2b ephysics: fix outdates docs regarding light
SVN revision: 79043
2012-11-09 18:52:55 +00:00
Bruno Dilly 530c8b4310 ephysics: use a common API to add faces for all types
of body




SVN revision: 79042
2012-11-09 18:52:49 +00:00
Bruno Dilly 61d7e5e30e ephysics: support multiple evas objects associated to
body




SVN revision: 79041
2012-11-09 18:52:42 +00:00
Bruno Dilly 5d465e1c04 ephysics: check for side value on anchors full add
function




SVN revision: 79037
2012-11-09 18:52:16 +00:00
Bruno Dilly 9f04fdf723 ephysics: use evas_object_image_source API
Remove workaround on soft body slicing



SVN revision: 78726
2012-10-31 21:02:50 +00:00
Bruno Dilly 54a8f1678d ephysics: break up light functions
Long list of same typed parameters is very error prone.
Not the scene will have a initial light configuration, that can
be enabled and modified.



SVN revision: 78678
2012-10-30 18:31:32 +00:00
Bruno Dilly 829065f97a ephysics: support disabling stacking based on Z axis
Since now we support movement on Z axis the evas objects
associated to bodies need to be re-stacked to be below / above
each other.

But if Z axis movement is disabled, no cloth is used, ...,
it can be safely disabled, since evas objects won't overlap.
And it will save performance.



SVN revision: 78491
2012-10-25 21:55:23 +00:00
Bruno Dilly 651b562ebd ephysics: docs fixes (missing params / typos)
SVN revision: 78490
2012-10-25 21:55:14 +00:00
Leandro Dorileo 6eb262cdbb EPhysics: cloth add receives the number of rows and
columns



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



SVN revision: 78487
2012-10-25 21:54:48 +00:00
Leandro Dorileo b0bd7beac3 EPhysics: soft body position solver iterations
This patch introduces getters and setters API for setting the
soft body position solver iterations.


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



SVN revision: 78486
2012-10-25 21:54:37 +00:00
Bruno Dilly 22cc05a9fe ephysics: support back-face culling
SVN revision: 78265
2012-10-19 18:50:46 +00:00
Bruno Dilly 211d38aac0 ephysics: move perspective stuff to camera component
Looks like it fits better the camera component than world.



SVN revision: 78206
2012-10-18 23:55:45 +00:00
Bruno Dilly 08643f3112 ephysics: add perspective support
SVN revision: 78205
2012-10-18 23:27:26 +00:00
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