Commit Graph

37 Commits

Author SHA1 Message Date
Bruno Dilly 35780ad7cf ephysics: activate all bodies when one is deleted
Otherwise it can lead to scenarios when a body 1, below body 2 is deleted
and body 2 will stay freezed in the air. Gravity won't start to
act over it until it's activated again.



SVN revision: 76155
2012-09-04 22:42:35 +00:00
Bruno Dilly d42b1c51c2 ephysics: fix unused vars and parameters
SVN revision: 76154
2012-09-04 22:42:28 +00:00
Bruno Dilly 11891001f2 ephysics: fix camera move callback call
it should be called after moved flag was set to false
otherwise callback functions moving camera won't work correctly



SVN revision: 76152
2012-09-04 22:42:10 +00:00
Bruno Dilly f5891500b0 EPhysics: fix indenting and remove useless lines
No need to set to 0 zeroed memory.



SVN revision: 75569
2012-08-22 20:05:07 +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 89eaea1c65 EPhysics: fix bug when changing head of worlds list
Animator callback was working with a not updated list pointer.



SVN revision: 75510
2012-08-21 17:47:29 +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 a3f12a0ae0 EPhysics: fix rate set implementation
Update everything that depends on rate:
 - worlds
 - bodies
 - constraints



SVN revision: 75335
2012-08-16 21:35:20 +00:00
Bruno Dilly 8b5737d2df EPhysics: make it possible to recalculate gravity
SVN revision: 75334
2012-08-16 21:35:14 +00:00
Bruno Dilly ebf3a282fb EPhysics: delete constraints if world is deleted
SVN revision: 75328
2012-08-16 21:34:44 +00:00
Bruno Dilly 1de398ce60 EPhysics: add camera move event
SVN revision: 75228
2012-08-13 22:24:28 +00:00
Bruno Dilly 33613b8f09 EPhysics: Avoid garbagge in cb objects.
SVN revision: 75148
2012-08-10 21:04:42 +00:00
Bruno Dilly 1de4a67ca0 EPhysics: fix world event callbacks management
SVN revision: 75146
2012-08-10 21:04:22 +00:00
Bruno Dilly fb7528829b EPhysics: avoid invalid read / writes on world free
Looks like we'll need to fix discrete dynamics world destructor
on bullet, but current revision is kind of messed.
I'll see what I can do later.

And yes, it will leak the ddw until it's fixed.



SVN revision: 75145
2012-08-10 21:04:16 +00:00
Bruno Dilly 2d2844d05e EPhysics: properly handle body delete
SVN revision: 75141
2012-08-10 21:03:39 +00:00
Bruno Dilly 0bd1f327a4 EPhysics: properly handle world delete
SVN revision: 75140
2012-08-10 21:03:29 +00:00
Bruno Dilly 4d800075e7 EPhysics: use inlist for world's bodies list
SVN revision: 75139
2012-08-10 21:03:06 +00:00
Bruno Dilly 595e8c8195 EPhysics: use inlist for worlds list
SVN revision: 75138
2012-08-10 21:03:01 +00:00
Bruno Dilly ca3e40782a EPhysics: allow user to configure simulation
Required to fine tunning performance or avoid objects going throught
others.



SVN revision: 74659
2012-07-31 19:55:52 +00:00
Bruno Dilly 0520b61219 EPhysics: implement body tracking by camera
It's flicking, code needs to be reviewed.
Theme needs love as well.



SVN revision: 74505
2012-07-27 14:50:36 +00:00
Bruno Dilly 30a6d07376 EPhysics: implement camera position handling
Now it's possibly to keep default updates of evas objects
and has scenes larger than render areas.



SVN revision: 74502
2012-07-27 14:50:03 +00:00
Leandro Dorileo 7b6a83144f EPhysics: collision filter
This patch introduces a collision filter API. Once a rigid body
has been added to some group it must just collide against rigid
bodies in the same group, if no group has been attribute it's
going to collide against any other body.


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



SVN revision: 74501
2012-07-27 14:49:53 +00:00
Leandro Dorileo 6a2d290fce EPhysics: body collision data
This patch introduces a wrapper(EPhysics_Body_Collision) to hold
the collision data(the contact body and collision position).

This data type is used by EPHYSICS_CALLBACK_BODY_COLLISION callback. The
collision detection test is migrated to the new API as well.


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



SVN revision: 74500
2012-07-27 14:49:37 +00:00
Leandro Dorileo 34734a4a72 EPhysics: small/trivial function return fix
This patch fix a compilation warning by _ephysics_world_contact_processed_cb
not returning. Bullet doesn't care about what is returned, so this
is just a compilation warning fix.


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



SVN revision: 74499
2012-07-27 14:49:20 +00:00
Leandro Dorileo ba55257c64 EPhysics: sleeping threshold and max sleep time
This patch introduces calls for setting the body's linear and angular
sleeping thresholds and to set the world's max sleeping time.


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



SVN revision: 74498
2012-07-27 14:48:59 +00:00
Bruno Dilly 564d1c412c EPhysics: fix missing const on some getters
spotted by k-s



SVN revision: 73419
2012-07-06 14:36:40 +00:00
Leandro Dorileo 9b1d6ecb87 EPhysics: worlds solver mode
Add a function to enable/disable the world constraint solver mode.
Also add wrappers for bullets solver modes enumerations, and a function
to query the current status.


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



SVN revision: 73383
2012-07-05 22:53:14 +00:00
Bruno Dilly d1ba36f4ba EPhysics: constraint solver iterations
Functions to get and set the constraint solver number of iterations.

Patch by Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 73249
2012-07-03 23:24:27 +00:00
Bruno Dilly 4fe7f69cd4 EPhysics: improve log msgs a bit and remove annoying one
Print world and bodies pointers so it's possible to track them.
And remove annoying "step" debug msg.



SVN revision: 73246
2012-07-03 23:21:11 +00:00
Bruno Dilly 9d0b63143b EPhysics: support autodel of bodies outside render area
Now it's possible to request a world to delete bodies outside
render area, so we can save some resources and avoid issues
with world stopped event.



SVN revision: 73245
2012-07-03 23:20:49 +00:00
Bruno Dilly 22d76ad177 EPhysics: fix API regarding geometry and acceleration
units
Avoid messing Evas coordinates (pixels) with meters.
Change gravity setter / getter too.



SVN revision: 73184
2012-07-03 02:17:55 +00:00
Bruno Dilly eb857cbfe1 EPhysics: split the callback enum for body and world
Should avoid a mess in the future.



SVN revision: 73179
2012-07-03 02:09:34 +00:00
Bruno Dilly d983ac3ae5 EPhysics: implement event callback del full for world
match data pointer



SVN revision: 73177
2012-07-03 02:09:12 +00:00
Bruno Dilly ea31a552ef EPhysics: add linear slop setter / getter for world
Constraint solver can be configured using some advanced settings, like
the solver slop factor.

Linear slop on sequencial impulse constraint solver is used as a factor
for penetration. The penetration will the manifold distance + linear slop.



SVN revision: 73066
2012-06-29 22:24:33 +00:00
Bruno Dilly 05988c9feb EPhysics: remove annoying tick dbg msg
SVN revision: 73065
2012-06-29 22:22:43 +00:00
Bruno Dilly 5a47783517 EPhysics: remove dependency
We've stopped using ecore_evas directly.


SVN revision: 72957
2012-06-27 17:58:45 +00:00
Bruno Dilly 28d9f92ef2 EPhysics: a new library comes to E world
It’s a wrapper between Bullet Physics and EFL to add physics effects
in a simple way.

More details on README, TODO, and edevelop mail list =)



SVN revision: 72896
2012-06-26 22:36:12 +00:00