Commit Graph

340 Commits

Author SHA1 Message Date
Bruno Dilly 26262cb719 ephysics: fix sandbox gravity and rate spinners
They were using wrong units, default values and
not reasonable min / max.

SVN revision: 77679
2012-10-09 20:00:27 +00:00
Bruno Dilly 6f1b2ce82d ephysics: fix default rate on docs
SVN revision: 77678
2012-10-09 20:00:15 +00:00
Leandro Dorileo 179efa1d66 EPhysics: soft body members stacking
Using evas stacking for soft body slices members.

Patch by: Leandro Dorileo <>

SVN revision: 77677
2012-10-09 20:00:03 +00:00
Leandro Dorileo 6f9e9a67f7 EPhysics: body evas object unset return the base

In the unset operation return the base object, not the smart one.

Patch by: Leandro Dorileo <>

SVN revision: 77676
2012-10-09 19:59:53 +00:00
Ricardo de Almeida Gonzaga b36c0c9d62 ephysics: fix a reference on doc
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 77675
2012-10-09 19:59:43 +00:00
Bruno Dilly bb46db9051 ephysics: update README
SVN revision: 77674
2012-10-09 19:59:34 +00:00
Bruno Dilly 9a5f9bc6d5 ephysics: use macro for balls groups on sandbox theme
SVN revision: 77673
2012-10-09 19:59:25 +00:00
Bruno Dilly 02d551e3a9 ephysics: remove duplicated image
SVN revision: 77672
2012-10-09 19:59:16 +00:00
Bruno Dilly 2a7949dd53 ephysics: fix ball theme group
SVN revision: 77671
2012-10-09 19:59:08 +00:00
Bruno Dilly 9ac7594b3a ephysics: fix sandbox shutdown
SVN revision: 77598
2012-10-08 22:47:28 +00:00
Bruno Dilly 18433ec343 ephysics: fix sandbox material callback
SVN revision: 77597
2012-10-08 22:47:19 +00:00
Bruno Dilly 1d5fbc9850 ephysics: print sandbox error msgs correctly
SVN revision: 77596
2012-10-08 22:47:11 +00:00
Bruno Dilly 0955e6258c ephysics: cosmetic clean up on sandbox code
Respect 80 cols, remove extra blank lines and blank spaces.

SVN revision: 77595
2012-10-08 22:46:58 +00:00
Bruno Dilly f5f0427c9b ephysics: fix make distcheck
SVN revision: 77594
2012-10-08 22:46:50 +00:00
Bruno Dilly 5e2b7efe13 ephysics: separate test and sandbox themes
SVN revision: 77593
2012-10-08 22:46:29 +00:00
Ricardo de Almeida Gonzaga 8bd4f13b0d ephysics: initial commit to sandbox
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 77592
2012-10-08 22:46:19 +00:00
Leandro Dorileo e084960cf3 EPhysics: dragging body test
New test where the user can drag a body around the world by grabbing
and dragging.

Patch by: Leandro Dorileo <>

SVN revision: 77585
2012-10-08 18:01:06 +00:00
Bruno Dilly 3db5bdd771 ephysics: re-activate body when velocity is set
SVN revision: 77584
2012-10-08 18:00:55 +00:00
Bruno Dilly 227ef6982e ephysics: add valgrind suppression file
stop complaining about fontconfig and libz stuff

SVN revision: 77541
2012-10-05 15:41:10 +00:00
Bruno Dilly aa484b1411 ephysics: update TODO
remove some done tasks

SVN revision: 77472
2012-10-04 22:40:58 +00:00
Bruno Dilly c6e04869ea ephysics: don't send a msg per sub step
Only send one msg at the end of the simulation step.

SVN revision: 77471
2012-10-04 22:40:52 +00:00
Bruno Dilly 14459c4d74 ephysics: add heavy test to check threads work
Simulate 600 small balls.

Ok, it's not so huge, but I've tested to add a sleep on step simulation
on bullet. Things looks to be working just fine.

SVN revision: 77470
2012-10-04 22:40:46 +00:00
Bruno Dilly d6d51d86f8 ephysics: fix typos on docs
SVN revision: 77469
2012-10-04 22:40:35 +00:00
Leandro Dorileo 8079624030 EPhysics: soft body test
Soft Body Test, add smart soft bodies in the list for exclusion.

Patch by: Leandro Dorileo <>

SVN revision: 77468
2012-10-04 22:40:29 +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 <>

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 <>

SVN revision: 77466
2012-10-04 22:40:07 +00:00
Bruno Dilly da4c5234f2 ephysics: use new ELM_POLICY_EXIT
To make sure windows will be properly deleted at shutdown.

SVN revision: 77465
2012-10-04 22:39:59 +00:00
Bruno Dilly 7d994cc8e6 ephysics: don't try to lock on internal delete
SVN revision: 77464
2012-10-04 22:39:53 +00:00
Bruno Dilly 7fe038a1c8 ephysics: add test for materials
SVN revision: 77463
2012-10-04 22:39:47 +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

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

Ricardo researched these values on the following sources:

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 7b7bef6087 ephysics: delete all worlds on exit
sure, it won't work until externals init / shutdown mess is fixed.

SVN revision: 77458
2012-10-04 22:38:58 +00:00
Bruno Dilly 6181303ab5 ephysics: no need to delete all the bodies on test
data del

It's already done when deleting the world.

SVN revision: 77457
2012-10-04 22:38:17 +00:00
Bruno Dilly a3eda42485 ephysics: add a log domain usage counter
This way we assure eina log will be working until the last
thread ends.

SVN revision: 77456
2012-10-04 22:38:11 +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
Leandro Dorileo cfdd39c2d7 ephysics: free overlap filter callback
This patch makes sure the overlap filter callback instance is removed
on world removal.

Patch by: Leandro Dorileo <>

SVN revision: 77454
2012-10-04 22:38:00 +00:00
Ricardo de Almeida Gonzaga 62f7b42c3b ephysics: updated authors.
Patch by: Ricardo de Almeida Gonzaga <>

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 <>

SVN revision: 77452
2012-10-04 22:37:47 +00:00
Ricardo de Almeida Gonzaga fcea4e820a ephysics: add a new example doc: EPhysics Logo -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 77451
2012-10-04 22:37:40 +00:00
Ricardo de Almeida Gonzaga bd9c06c5f5 ephysics: add a new example doc: Rotating Forever -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 77450
2012-10-04 22:37:25 +00:00
Bruno Dilly b497625f3f ephysics: ignore spec file
SVN revision: 77214
2012-09-28 22:24:30 +00:00
Carsten Haitzler 1049bac905 and make a single efl.spec file.
SVN revision: 77108
2012-09-27 03:09:17 +00:00
Rui Seabra 58f5ec5047 Add rpm support
SVN revision: 77023
2012-09-23 13:39:53 +00:00
Bruno Dilly c62e06f738 ephysics: doc clean up
remove wrong reference

SVN revision: 76979
2012-09-21 17:02:39 +00:00
Bruno Dilly b5944e9679 ephysics: add more images for examples
SVN revision: 76978
2012-09-21 17:02:28 +00:00
Ricardo de Almeida Gonzaga 38395758ab ephysics: add a new example doc: Camera Track -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76977
2012-09-21 17:02:07 +00:00
Ricardo de Almeida Gonzaga 8ac96ab8e7 ephysics: add a new example doc: Growing Balls -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76976
2012-09-21 17:01:59 +00:00
Ricardo de Almeida Gonzaga 85b32d701e ephysics: add a new example doc: Camera -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76975
2012-09-21 17:01:49 +00:00
Ricardo de Almeida Gonzaga 9f61d9be2b ephysics: add a new example doc: Slider -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76974
2012-09-21 17:01:40 +00:00
Ricardo de Almeida Gonzaga ca41ab29ed ephysics: add a new example doc: Forces -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76973
2012-09-21 17:01:27 +00:00
Ricardo de Almeida Gonzaga 0055318b51 ephysics: add a new example doc: Shapes -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76972
2012-09-21 17:01:17 +00:00
Bruno Dilly dfc0331373 ephysics: add some images to documented examples
SVN revision: 76702
2012-09-14 22:06:43 +00:00
Bruno Dilly 005be7be8c ephysics: improve doc description and remove redundant

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 e7cbd4818a ephysics: add link to modules page in docs header
SVN revision: 76699
2012-09-14 22:05:41 +00:00
Bruno Dilly 70c3dd925b ephysics: small fixes on docs
Spotted by gastal

SVN revision: 76698
2012-09-14 22:05:29 +00:00
Ricardo de Almeida Gonzaga e3822da595 ephysics: add a new example doc: Sleeping Threshold -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76697
2012-09-14 22:05:18 +00:00
Ricardo de Almeida Gonzaga 4be55425e7 ephysics: add a new example doc: Gravity -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76696
2012-09-14 22:05:06 +00:00
Ricardo de Almeida Gonzaga 134d52aa9d ephysics: add a new example doc: Velocity -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76695
2012-09-14 22:04:56 +00:00
Ricardo de Almeida Gonzaga e302c3d27e ephysics: add a new example doc: Collision Filter -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76694
2012-09-14 22:04:44 +00:00
Ricardo de Almeida Gonzaga 7ae00ec501 ephysics: add a new example doc: Collision Detection -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76693
2012-09-14 22:04:31 +00:00
Ricardo de Almeida Gonzaga ead58d536e ephysics: add a new example doc: Bouncing Text -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76692
2012-09-14 22:02:12 +00:00
Ricardo de Almeida Gonzaga 886d35fc6d ephysics: add a new example doc: Constraint -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76691
2012-09-14 22:01:43 +00:00
Ricardo de Almeida Gonzaga 49366a7a84 ephysics: add a new example doc: Delete Body -

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 76690
2012-09-14 22:01:28 +00:00
Bruno Dilly b3ee2a8313 ephysics: increase doc pages title size
SVN revision: 76689
2012-09-14 22:01:16 +00:00
Leandro Dorileo cb63d40a90 EPhysics: conditinal doc building
This patch introduces a --enable-build-docs-only and in that case
will not check for dependencies and will have just the make doc

Patch by: Leandro Dorileo <>

SVN revision: 76680
2012-09-14 15:51:30 +00:00
Bruno Dilly 3f27034dc7 ephysics: shrink convex shapes to avoid margin gap
SVN revision: 76563
2012-09-12 21:50:01 +00:00
Leandro Dorileo 81786a748a ephysics: fix issues with world destructor
Makes sure the body is removed from the world before deleting it
so it will not mess with overlapping pair caches, proxies and so on.

Patch by: Leandro Dorileo <>

SVN revision: 76562
2012-09-12 21:49:47 +00:00
Leandro Dorileo 075029bdfe ephysics: soft body memory usage/leak
Added a call for sparsesdf garbage collector after every simulation
avoiding bullet's soft dynamics leaks.

Patch by: Leandro Dorileo <>

SVN revision: 76561
2012-09-12 21:49: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 <>

SVN revision: 76560
2012-09-12 21:49:14 +00:00
Gustavo Sverzut Barbieri 9eb7f9bf35 ephysics: bump bullet requirement to 2.80
seems that before that it crashes in its own memory management.

SVN revision: 76482
2012-09-11 23:27:07 +00:00
Bruno Dilly a59bbcf758 ephysics: update TODO
SVN revision: 76255
2012-09-06 17:18:28 +00:00
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 06d88ea834 ephysics: pass evas object associated to body on del

SVN revision: 76153
2012-09-04 22:42:20 +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 468d3cf25b ephysics: Warn about bullet build issues
SVN revision: 76151
2012-09-04 22:42:02 +00:00
Jerome Pinot 62f2c5c1aa ephysics: missing include in dist
SVN revision: 75735
2012-08-27 09:38:07 +00:00
Bruno Dilly 9b56c8b27a EPhysics: expose bodies center of mass.
SVN revision: 75574
2012-08-22 20:05:35 +00:00
Bruno Dilly aa76c79c86 EPhysics: fix tests using vertical impulse
SVN revision: 75573
2012-08-22 20:05:30 +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 3627234fb8 EPhysics: use vertex reduction utility
Convex meshes often have too many vertices.
This slows down collision detection a lot, and there is no benefit in the
unnecessary details.

SVN revision: 75571
2012-08-22 20:05:19 +00:00
Bruno Dilly e2534363a6 EPhysics: update docs regarding soft bodies
SVN revision: 75570
2012-08-22 20:05:14 +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
Bruno Dilly 5044cf3501 EPhysics: remove a rigid ball and weird amount of mass
Let's see what was it masking and focus on making it works with

SVN revision: 75568
2012-08-22 20:05:02 +00:00
Bruno Dilly eec20918d0 EPhysics: don't show input msg if won't handle it
Also, respect 80 col

SVN revision: 75567
2012-08-22 20:04:57 +00:00
Bruno Dilly ef82a631a9 EPhysics: keep tests in alphabetical order
SVN revision: 75566
2012-08-22 20:04:51 +00:00
Bruno Dilly f484b5a683 EPhysics: add space between words on msg
SVN revision: 75565
2012-08-22 20:04:45 +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 <>

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 dde0746fcb EPhysics: improve bodies group description documentation
SVN revision: 75509
2012-08-21 17:47:24 +00:00
Bruno Dilly a10277b529 EPhysics: don't activate body if not going to apply

Otherwise it won't stop, sleeping thresholds won't work...

SVN revision: 75508
2012-08-21 17:47:18 +00:00
Bruno Dilly 335912df94 EPhysics: fix y component convertion on forces and

SVN revision: 75480
2012-08-20 22:18:14 +00:00
Bruno Dilly 80f7e6307c EPhysics: consider gravity on forces getter
SVN revision: 75479
2012-08-20 22:17:34 +00:00
Bruno Dilly 335dcc1165 EPhysics: add test for forces API
SVN revision: 75478
2012-08-20 22:17:11 +00:00
Bruno Dilly b66f460e84 EPhysics: test torque forces
SVN revision: 75477
2012-08-20 22:16:02 +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 b5221d0705 EPhysics: fix old bug on velocity setter
It should invert y component since evas y coords increase
going down.

SVN revision: 75337
2012-08-16 21:35:31 +00:00
Bruno Dilly b007921b94 EPhysics: add test for windows resize
It listen for windows resize and changes objects size,
world render geometry and world rate.

SVN revision: 75336
2012-08-16 21:35:25 +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 3fe6e1dc40 EPhysics: constraint recalc
Just making it possible to fix world rate set.
This code will be modified when all constraints are added as generic
and modified later.

SVN revision: 75333
2012-08-16 21:35:09 +00:00
Bruno Dilly 44aeda07ae EPhysics: implement body recalc
SVN revision: 75332
2012-08-16 21:35:04 +00:00
Bruno Dilly 1328120089 EPhysics: small fix on body docs
SVN revision: 75331
2012-08-16 21:34:59 +00:00
Bruno Dilly eff2ac3302 EPhysics: add test displaying body acceleration
Linear and angular.

It has to be done on user side, since it requires to keep previous
velocity to calculate it.

I'll expose forces later but I don't think it would be enough
because impulses just modifies the ammount of velocity directly,
it doesn't create a force for a tick or something like that.

So velocity changes caused by impulse wouldn't be get as acceleration.

SVN revision: 75330
2012-08-16 21:34:54 +00:00
Bruno Dilly 50413abfc9 EPhysics: drop camera zoom
 - we don't have previewed cases for that (would be code to be implemented
         and maintained without use)
 - can be done on user side changing world rate, camera position, objects size

SVN revision: 75329
2012-08-16 21:34:49 +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 405c5affa1 EPhysics: fix constraint angular limit type
SVN revision: 75327
2012-08-16 21:34:39 +00:00
Bruno Dilly ab877d4d23 EPhysics: small fixes on sleeping threshold docs
SVN revision: 75326
2012-08-16 21:34:34 +00:00
Bruno Dilly 7a759f05b6 EPhysics: support running only specified test
SVN revision: 75325
2012-08-16 21:34:29 +00:00
Bruno Dilly ae28b7a504 EPhysics: listen for associated evas object resize event
So physics body will resize together.

SVN revision: 75230
2012-08-13 22:24:47 +00:00
Bruno Dilly 3c27a0288d EPhysics: fix updating bodies with evas object without

If a evas object associated to a body don't have w or h, don't
try to apply map / rotation on it.

SVN revision: 75229
2012-08-13 22:24:36 +00:00
Bruno Dilly 1de398ce60 EPhysics: add camera move event
SVN revision: 75228
2012-08-13 22:24:28 +00:00
Bruno Dilly 5088b6bb93 EPhysics: add test using different shapes
Position / size looks buggy.
Need to be fixed.

SVN revision: 75153
2012-08-10 21:05:28 +00:00
Bruno Dilly 031d47d1a9 EPhysics: support bodies with generic shapes
Using EPhysics Shape.

SVN revision: 75152
2012-08-10 21:05:19 +00:00
Bruno Dilly 6c53875522 EPhysics: add EPhysics Shape
It will be used to create bodies with collision shapes other
than boxes or circles.

For now, only convex shapes.

SVN revision: 75151
2012-08-10 21:05:13 +00:00
Bruno Dilly 2497491440 EPhysics: move code duplication to _ephysics_body_add
Also, add missing checks.

SVN revision: 75150
2012-08-10 21:05:05 +00:00
Bruno Dilly fd6a61ed22 EPhysics: update images
Remove unused and add new images

SVN revision: 75149
2012-08-10 21:04:51 +00:00
Bruno Dilly 33613b8f09 EPhysics: Avoid garbagge in cb objects.
SVN revision: 75148
2012-08-10 21:04:42 +00:00
Bruno Dilly 9eb298827c EPhysics: optimization and fixes for camera
Avoid calling update of inactive bodies if camera didn't really

And update them if camera_position_set is called.

SVN revision: 75147
2012-08-10 21:04:35 +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 cf6678bbd4 EPhysics: improving body's event callbacks management
SVN revision: 75144
2012-08-10 21:04:08 +00:00
Bruno Dilly 73e77dff26 EPhysics: fix sleeping threshold getter
SVN revision: 75143
2012-08-10 21:03:57 +00:00
Bruno Dilly e1036529b3 EPhysics: re-write sleeping threshold test
It was buggy.

SVN revision: 75142
2012-08-10 21:03:47 +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 d432a4faba EPhysics: Add test exposing delete issues
Callbacks and bodies delete are not correctly handled.

SVN revision: 75137
2012-08-10 21:02:56 +00:00
Bruno Dilly af1351f172 EPhysics: fix camera track test
SVN revision: 75136
2012-08-10 21:02:48 +00:00
Bruno Dilly 8973043481 EPhysics: camera test improved
Show how a moving background could be used with the concept of

SVN revision: 75135
2012-08-10 21:02:39 +00:00
Bruno Dilly bc2d36257f EPhysics: don't show background box on camera tests
SVN revision: 75134
2012-08-10 21:02:25 +00:00
Bruno Dilly bb43446421 EPhysics: small fixes related to slider constraint
SVN revision: 74700
2012-07-31 22:24:51 +00:00
Leandro Dorileo 701ed6b8fd EPhysics: slider constraint
This patch introduces the slider constraint, adds an slider constraint
test, move p2p constraint from ephysics_constraint_add to
ephysics_constraint_p2p_add migrates its usage.

Further work will migrate the btConstraint of p2p for Generic6Dof constraint
since it's flexible enough to implement most of constraints.

Patch by: Leandro Dorileo <>

SVN revision: 74699
2012-07-31 22:24:20 +00:00
Bruno Dilly 70d44875dc EPhysics: spinner theme
SVN revision: 74667
2012-07-31 20:39:25 +00:00
Bruno Dilly 36c8bd3338 EPhysics: update gitignore
SVN revision: 74660
2012-07-31 19:56:01 +00:00
Bruno Dilly ca3e40782a EPhysics: allow user to configure simulation
Required to fine tunning performance or avoid objects going throught

SVN revision: 74659
2012-07-31 19:55:52 +00:00
Bruno Dilly 79615bf7fe EPhysics: update todo list
SVN revision: 74506
2012-07-27 14:50:45 +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 24c2279813 EPhysics: fix collision detection point
Also improve docs and test.

SVN revision: 74504
2012-07-27 14:50:25 +00:00
Bruno Dilly a05e66c88b EPhysics: add test for collision filter
SVN revision: 74503
2012-07-27 14:50:14 +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 <>

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 <>

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 <>

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 <>

SVN revision: 74498
2012-07-27 14:48:59 +00:00
Bruno Dilly b3e016122d EPhysics: add note regarding body data
Requested by Ricardo.

SVN revision: 74497
2012-07-27 14:48:41 +00:00
Bruno Dilly 3ea072eca7 EPhysics: only build tests theme if tests are build
SVN revision: 74496
2012-07-27 14:48:19 +00:00
Bruno Dilly 564c23a80f EPhysics: add data setter / getter for bodies
Useful when you need structures per bodies to be updated on
collision callbacks.

SVN revision: 74495
2012-07-27 14:47:46 +00:00
Bruno Dilly 7dc1e7b4b7 EPhysics: fix mass getter
SVN revision: 74494
2012-07-27 14:47:23 +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
Bruno Dilly ed473fb3ca EPhysics: add missing damping getter
SVN revision: 73386
2012-07-05 22:53:56 +00:00
Bruno Dilly f1f5266d9d EPhysics: add no gravity test
This test covers linear and angular velocity setters, stop,
gravity set, and damping.

SVN revision: 73385
2012-07-05 22:53:40 +00:00
Bruno Dilly 6208fcfaf3 EPhysics: properly initializes library
It wasn't initializing required libs.

SVN revision: 73384
2012-07-05 22:53:28 +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 <>

SVN revision: 73383
2012-07-05 22:53:14 +00:00
Leandro Dorileo 2afffbd809 EPhysics: body damping set
This patch introduces a function for rigid body damping.

Patch by: Leandro Dorileo <>

SVN revision: 73382
2012-07-05 22:52:53 +00:00
Bruno Dilly 04ce52bd10 EPhysics: add shoot button to collision test
Style was missing.

SVN revision: 73314
2012-07-04 22:06:07 +00:00
Bruno Dilly 9258827a93 EPhysics: expose linear factor
Makes it possible to restrict movement on specific axises.

SVN revision: 73313
2012-07-04 22:05:52 +00:00
Bruno Dilly c45cfc3be1 EPhysics: velocity setters and stop
SVN revision: 73312
2012-07-04 22:04:37 +00:00
Bruno Dilly d1ba36f4ba EPhysics: constraint solver iterations
Functions to get and set the constraint solver number of iterations.

Patch by Leandro Dorileo <>

SVN revision: 73249
2012-07-03 23:24:27 +00:00
Bruno Dilly dc3455c888 EPhysics: use elm_layout instead of edje to add cbs
Oh, I love when weird things got duplicated over all the project.
Use elm_layout_signal_callback_add instead of

SVN revision: 73248
2012-07-03 23:23:53 +00:00
Bruno Dilly caa0fcf36b EPhysics: add test that exposes collision issues
When objects move fast collision detection fails.
We need to expose an way to configure collision detection
so user can optimize usage for her use case.

Also it leaves the canvas dirty sometimes. We need to
verify that as well.

TODO: make theme for spinner and shoot button

SVN revision: 73247
2012-07-03 23:23:24 +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 ec5414e7bd EPhysics: fix velocity getters
SVN revision: 73185
2012-07-03 02:18:14 +00:00
Bruno Dilly 22d76ad177 EPhysics: fix API regarding geometry and acceleration
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 7f4fbaf689 EPhysics: add test for velocity getters
SVN revision: 73183
2012-07-03 02:17:17 +00:00
Bruno Dilly dfd91827ee EPhysics: implement body velocity get
Implementation of functions for retrieving both the linear and angular
velocity on x, y and z axis.

Patch by Leandro Dorileo <>

SVN revision: 73182
2012-07-03 02:15:28 +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 068e1711b0 EPhysics: implement event callback del full for body
SVN revision: 73178
2012-07-03 02:09:21 +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
Daniel Juyung Seo 54f22b1e7b ephysics README: Updated bullet version. EPhysics works well with Bullet 0.79 as far as I know.
SVN revision: 73093
2012-07-01 08:47:05 +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 d9df210c2a EPhysics: modify copyright notice
SVN revision: 73064
2012-06-29 22:22:35 +00:00
Bruno Dilly d9ab86d252 EPhysics: unregister test log domain
SVN revision: 73063
2012-06-29 22:22:28 +00:00
Bruno Dilly 10a369a95d EPhysics: fix function references on docs
discomfitor spotted some issues, so now all the functions are
marked with @ref, so it will warn if they couldn't be found
on project. Except functions on @see section, since we
are already warned about them.

SVN revision: 73013
2012-06-28 14:02:02 +00:00
Bruno Dilly 08e0f29355 EPhysics: fix make distcheck issues
SVN revision: 73012
2012-06-28 14:01:19 +00:00
Mike Blumenkrantz a396b00045 ephysics may or may not require current svn to build, probably no harm in setting version requirements to that since we're releasing again in a couple weeks
SVN revision: 72963
2012-06-27 19:09:03 +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 bb39959aab EPhysics: reduce bullet requirement to 2.79
Tested by glima.
2.79 is the version packaged on fedora.

SVN revision: 72953
2012-06-27 17:50:52 +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