Commit Graph

350 Commits

Author SHA1 Message Date
Bruno Dilly d2ed5cbb47 ephysics: implement update of box faces objects
SVN revision: 79045
2012-11-09 18:53:11 +00:00
Bruno Dilly 02d3fdb54b ephysics: use integer on body struct to store shape
Instead of comparing strings to return of bullet collision shapes

SVN revision: 79044
2012-11-09 18:53:04 +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

SVN revision: 79041
2012-11-09 18:52:42 +00:00
Bruno Dilly 7af37b3980 ephysics: don't mess with body's depth when setting
evas object

SVN revision: 79040
2012-11-09 18:52:35 +00:00
Bruno Dilly de06c6bc18 ephysics: fix body geometry initialization
Getting geometry from a recently created body was retuning zeros.

SVN revision: 79039
2012-11-09 18:52:28 +00:00
Bruno Dilly 560c3e6fa8 ephysics: improve body struct readability a bit
Actually ephysics body deserves a redesign, since it differs
a lot between types. It wasn't previewed.

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

SVN revision: 79037
2012-11-09 18:52:16 +00:00
Bruno Dilly 884558f342 ephysics: cosmetic fix
SVN revision: 78732
2012-10-31 21:03:36 +00:00
Bruno Dilly 7aff5fb13e ephysics: clean up flag test
SVN revision: 78731
2012-10-31 21:03:23 +00:00
Bruno Dilly 818e957c89 ephysics: fix triangles index get
It will works only with cloths for now.

SVN revision: 78730
2012-10-31 21:03:17 +00:00
Bruno Dilly cd4a6f05d7 ephysics: fix cols / rows account
It was creating meshes with cols - 1, rows - 1.

SVN revision: 78729
2012-10-31 21:03:09 +00:00
Bruno Dilly 5e0998835e ephysics: fix slices size
with 1,1 events conversion won't works fine

SVN revision: 78728
2012-10-31 21:03:02 +00:00
Bruno Dilly 35b77df141 ephysics: update slices at each tick
No reason to call it only when evas object moves.
Makes soft bodies animations smoother.

SVN revision: 78727
2012-10-31 21:02:55 +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 67f36ff048 ephysics: avoid many unecessary allocs / free on
collision detection

Only allocates data when it has a callback registered.

SVN revision: 78725
2012-10-31 21:02:43 +00:00
Bruno Dilly 0ca47806af ephysics: add scroller bar on test custom theme
So people using standard profile can use it without mouse wheel.

SVN revision: 78683
2012-10-30 18:32:03 +00:00
Leandro Dorileo d0126e755b EPhysics: the z axis is inverted
The z axis is inverted so the greater the lower it is, the smaller
the above it is.

Patch by: Leandro Dorileo <>

SVN revision: 78682
2012-10-30 18:31:58 +00:00
Leandro Dorileo c6f4ab7643 EPhysics: restacking per layer
This patch fixes issues with restacking bodies in different evas

Patch by: Leandro Dorileo <>

SVN revision: 78681
2012-10-30 18:31:52 +00:00
Leandro Dorileo 36fbbb75d7 EPhysics: disable evas map on

When unsetting or chaging the body's associated evas object we must
disable the evas map so the user can handle it afterwards.

Patch by: Leandro Dorileo <>

SVN revision: 78680
2012-10-30 18:31:45 +00:00
Leandro Dorileo 5bf3f3cf7d EPhysics: soft body rotation set
Fix implementation for ephysics_body_rotation_set for soft bodies.

Patch by: Leandro Dorileo <>

SVN revision: 78679
2012-10-30 18:31:38 +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
Leandro Dorileo f9b904ae03 EPhysics: test delete body, fix bodies list mess.
Patch by: Leandro Dorileo <>

SVN revision: 78677
2012-10-30 18:31:21 +00:00
Leandro Dorileo c636562644 EPhysics: flag - cloth test, remove unneeded

Patch by: Leandro Dorileo <>

SVN revision: 78493
2012-10-25 21:55:48 +00:00
Bruno Dilly 54775f34b5 ephysics: fix test "rotating forever"
It should delete timers when evas object is deleted, not when
body is deleted.

SVN revision: 78492
2012-10-25 21:55:35 +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
Bruno Dilly 8ae0d9af74 ephysics: stack respect body adding order for same z
When bodies have the same z coordinate, the added first will
be below the others.

SVN revision: 78489
2012-10-25 21:55:03 +00:00
Leandro Dorileo 65b9ff36ad EPhysics: make anchors harder
This patch resets the anchors nodes mass proportional to the mesh
size so it becomes harder. For that we also handle the mass resetting
to leave anchors and dragging nodes in their current state.

Patch by: Leandro Dorileo <>

SVN revision: 78488
2012-10-25 21:54:55 +00:00
Leandro Dorileo 6eb262cdbb EPhysics: cloth add receives the number of rows and

Patch by: Leandro Dorileo <>

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

SVN revision: 78486
2012-10-25 21:54:37 +00:00
Bruno Dilly a360657718 ephysics: remove unneeded code from slices init

SVN revision: 78485
2012-10-25 21:54:29 +00:00
Bruno Dilly 3772783cc3 ephysics: fix segfault on restack
SVN revision: 78484
2012-10-25 21:54:22 +00:00
Bruno Dilly 8d4e7bdd62 ephysics: fix soft body slicing
Also, fix evas_object_set on cases when it shouldn't use
evas object geometry.

SVN revision: 78483
2012-10-25 21:54:14 +00:00
Leandro Dorileo 5d3d4978ad EPhysics: soft body geometry get fix
Since every shape has its own implementation for local scaling it`s
better to trust just our selves and hold it for further calculations.

Patch by: Leandro Dorileo <>

SVN revision: 78482
2012-10-25 21:54:06 +00:00
Leandro Dorileo 4906b47a59 EPhysics: ephysics_body_move cloth support
Implementation of body moving for cloth bodies.

Patch by: Leandro Dorileo <>

SVN revision: 78481
2012-10-25 21:53:59 +00:00
Leandro Dorileo d3097a3db1 EPhysics: implement central impulse apply for cloth

Patch by: Leandro Dorileo <>

SVN revision: 78480
2012-10-25 21:53:51 +00:00
Leandro Dorileo 906fff0011 EPhysics: no need to anchor props
Actually for cloth anchors its hardness must always be 0.8.

Patch by: Leandro Dorileo <>

SVN revision: 78479
2012-10-25 21:53:44 +00:00
Bruno Dilly 03c52724db ephysics: apply perspective and back face culling on
soft body

SVN revision: 78478
2012-10-25 21:53:37 +00:00
Bruno Dilly 98d327c3b6 ephysics: invert clothes mesh
So objects won't be back-facing the camera.

SVN revision: 78477
2012-10-25 21:53:30 +00:00
Bruno Dilly 3804a911e1 ephysics: support light on soft bodies
SVN revision: 78476
2012-10-25 21:53:23 +00:00
Bruno Dilly b13d5d054f ephysics: let all slice map stuff only on slice apply
Instead of some settings on slice init and others on apply.
It will be required to apply light and other things.

SVN revision: 78475
2012-10-25 21:53:16 +00:00
Leandro Dorileo 755a182add EPhysics: do not call update deleted object
If a body has been marked for deletion do not updated it neither call
its BODY_UPDATE callbacks.

Patch by: Leandro Dorileo <>

SVN revision: 78474
2012-10-25 21:53:08 +00:00
Stefan Schmidt cedf5d0cf9 Remove obsolte doxygen tags from all our files.
Doygen tells us:
warning: Tag `SHOW_DIRECTORIES' at line 507 of file Doxyfile has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag `HTML_ALIGN_MEMBERS' at line 879 of file Doxyfile has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag `USE_INLINE_TREES' at line 1065 of file Doxyfile has become obsolete.
To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"

So we are nice and remove them. A yay for the day where we have amerged tree and
not two dozens of files floating around.

SVN revision: 78409
2012-10-24 19:50:29 +00:00
Bruno Dilly 22cc05a9fe ephysics: support back-face culling
SVN revision: 78265
2012-10-19 18:50:46 +00:00
Ricardo de Almeida Gonzaga e46c4e83d5 ephysics: fine tunning on sandbox layout
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78264
2012-10-19 18:50:38 +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 30a0f7c659 ephysics: change bouncing 3d example
Make it easier to test 3d rotations

SVN revision: 78204
2012-10-18 23:27:19 +00:00
Bruno Dilly 90e21f1637 ephysics: don't set density 0 when setting mass on

SVN revision: 78203
2012-10-18 21:23:21 +00:00
Bruno Dilly 2db55269f6 ephysics: set velocity before applying impulse on

Otherwise the velocity implied by impulse will be zeroed.

SVN revision: 78202
2012-10-18 21:23:16 +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
Ricardo de Almeida Gonzaga e7b72f567a ephysics: sandbox apply actions on restart
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78195
2012-10-18 19:18:13 +00:00
Ricardo de Almeida Gonzaga d7757986c2 ephysics: adjust sandbox body type combo alignment
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78194
2012-10-18 19:18:08 +00:00
Leandro Dorileo 02903536b3 EPhysics: avoid restacking objects on different layers
If the two objects are not in the same layer avoid restacking it.

Patch by: Leandro Dorileo <>

SVN revision: 78193
2012-10-18 19:18:00 +00:00
Bruno Dilly 5fb31dfbd9 ephysics: fix regarding tests
Fix trac ticket #1615.

The first issue with configure is that `./configure --disable-build-tests`
doesn't disable tests.

And the second issue is that tests actually require elementary >= 1.7.99

SVN revision: 78135
2012-10-17 21:37:22 +00:00
Bruno Dilly bb1ef80447 ephysics: don't change body properties if custom
material is set

It shouldn't imply in specific properties

SVN revision: 78134
2012-10-17 21:37:10 +00:00
Ricardo de Almeida Gonzaga 7a2e5cbdce ephysics: adjust example docs based on Z axis enable.
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78133
2012-10-17 21:37:00 +00:00
Bruno Dilly 477e836db1 ephysics: sandbox rewrite
Too much duplicated / boilerplate code.
Things are much simpler now.
Also fix resizing constraint.

SVN revision: 78132
2012-10-17 21:36:41 +00:00
Bruno Dilly b09c303d52 ephysics: use hoversel to select material on sandbox
SVN revision: 78096
2012-10-16 23:18:55 +00:00
Bruno Dilly e25a9d45e8 ephysics: don't try to unset dragging if it's not set
Otherwise weird behaviors could happens
<evil laughs>

SVN revision: 78095
2012-10-16 23:18:48 +00:00
Bruno Dilly fe2c242367 ephysics: revert "EPhysics: suppersions file"
Oops, accidentally commited.
I need to investigate these leaks.

SVN revision: 78094
2012-10-16 23:18:42 +00:00
Leandro Dorileo a376a5ceeb EPhysics: random fixes
This patch fixes:
+ the scale_get function(the soft body shape scale was not been set),
+ the soft body evas object deletion callback, it wasn't properly freeing
the slices evas objects;
+ puts the soft body base evas object back to canvas;

Patch by: Leandro Dorileo <>

SVN revision: 78093
2012-10-16 23:18:35 +00:00
Leandro Dorileo 103c9ffaa0 EPhysics: test_flag cleanup
Get rid of the dragging -> grabbing naming mess.

Patch by: Leandro Dorileo <>

SVN revision: 78092
2012-10-16 23:18:29 +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 <>

SVN revision: 78091
2012-10-16 23:18:21 +00:00
Leandro Dorileo f4fa980cce EPhysics: get rid of soft body smart object
Since we want to restack all the bodies evas objects against each other,
being it a soft body or not, we can't have the soft body slices member
of something else.

Patch by: Leandro Dorileo <>

SVN revision: 78090
2012-10-16 23:12:59 +00:00
Leandro Dorileo 9bb6e8ce7c EPhysics: flag test - grabbing support
Patch by: Leandro Dorileo <>

SVN revision: 78089
2012-10-16 23:12:53 +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 <>

SVN revision: 78088
2012-10-16 23:12:47 +00:00
Leandro Dorileo d06196ca8d EPhysics: suppersions file
Add leak suppressions for eet and eina mempool leaks.

Patch by: Leandro Dorileo <>

SVN revision: 78087
2012-10-16 23:12:40 +00:00
Bruno Dilly eb4860c6e1 ephysics: let pages on top, not centered
suggested by marina

SVN revision: 78086
2012-10-16 23:12:34 +00:00
Bruno Dilly 647f74efd6 ephysics: start sandbox with some sections collapsed
SVN revision: 78085
2012-10-16 23:12:29 +00:00
Bruno Dilly 722506ddaa ephysics: use auto policy for scroller on sandbox
SVN revision: 78084
2012-10-16 23:12:23 +00:00
Bruno Dilly 3f8e18202b ephysics: remove sanbox title and align reset button
suggested by marina

SVN revision: 78083
2012-10-16 23:12:18 +00:00
Bruno Dilly f06f14c426 ephysics: make body type selection works
SVN revision: 78082
2012-10-16 23:12:13 +00:00
Bruno Dilly 1ddcacf1f5 ephysics: remove annoying debug info
Since it's very frequent to not have light set.

SVN revision: 78081
2012-10-16 23:12:08 +00:00
Ricardo de Almeida Gonzaga 1364bbc547 ephysics: changed sandbox spinners to sliders
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78080
2012-10-16 23:12:03 +00:00
Ricardo de Almeida Gonzaga 2cf55524a2 ephysics: sandbox widgets divided into smaller

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78079
2012-10-16 23:11:58 +00:00
Ricardo de Almeida Gonzaga 42c6779423 ephysics: changed sandbox toggle to radio
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78078
2012-10-16 23:11:32 +00:00
Ricardo de Almeida Gonzaga c39bc45d85 ephysics: changed sandbox layout to toolbar and

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78077
2012-10-16 23:11:27 +00:00
Ricardo de Almeida Gonzaga 23d89c2e5a ephysics: fix sandbox initial impulse and material

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78076
2012-10-16 23:11:21 +00:00
Ricardo de Almeida Gonzaga 0ff841ed53 ephysics: fix sandbox callbacks
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78075
2012-10-16 23:11:16 +00:00
Ricardo de Almeida Gonzaga ba35b81215 ephysics: sandbox removed some useless widget

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78074
2012-10-16 23:11:11 +00:00
Ricardo de Almeida Gonzaga eb9079aecf ephysics: fix sandbox spinner values
Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78073
2012-10-16 23:11:05 +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 9447db42d8 ephysics: fix boundaries position
SVN revision: 78014
2012-10-15 21:54:22 +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

Patch by: Ricardo de Almeida Gonzaga <>

SVN revision: 78012
2012-10-15 21:54:08 +00:00
Bruno Dilly bbdb0ecb7e ephysics: remove duplicated logo example page
SVN revision: 78011
2012-10-15 21:54:02 +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 05dab66b0b ephysics: render 3d rotation
SVN revision: 78009
2012-10-15 21:53:51 +00:00
Bruno Dilly 3532a4620f ephysics: add bouncing 3d test
SVN revision: 78008
2012-10-15 21:53:43 +00:00
Bruno Dilly 1337582286 ephysics: add test for light
SVN revision: 77805
2012-10-10 20:32:35 +00:00
Bruno Dilly 3655372571 ephysics: fix world structure coding style
SVN revision: 77804
2012-10-10 20:32:29 +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 <>

SVN revision: 77785
2012-10-10 19:18:15 +00:00
Bruno Dilly 21e6264deb ephysics: fix z position on geometry set using cm
SVN revision: 77784
2012-10-10 19:18:02 +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