Commit Graph

152 Commits

Author SHA1 Message Date
Leandro Dorileo f481315a26 EPhysics: fix soft body rotation_set
--This line, and those below, will be ignored--


SVN revision: 80104
2012-12-03 21:28:52 +00:00
Bruno Dilly ced8d4f56d ephysics: fix debug msgs at some functions
Broken in r77467



SVN revision: 80098
2012-12-03 19:47:18 +00:00
Leandro Dorileo 40e3df1121 EPhysics: constraint removal
Delete the constraints a body belongs to on body removal and avoid
bullet to segfault.

--This line, and those below, will be ignored--


SVN revision: 79850
2012-11-29 18:54:36 +00:00
Bruno Dilly f3946716d8 ephysics: don't try to set bad body geometry when adding
boundaries

If render geometry is not set yet, it will try to set a bad geometry
for the boundary boxes.
In this case, let these bodies with default size and only resize them
when render geometry is set.



SVN revision: 79791
2012-11-28 21:47:58 +00:00
Bruno Dilly 1a1890fabb ephysics: add improve dbg msgs
To help me debuging it while I'm working on Edje.



SVN revision: 79790
2012-11-28 21:47:47 +00:00
Bruno Dilly 704173e539 ephysics: don't allow a body to be scaled to 0 in any
axis

In this case it will be considered inactive and things
won't work as expected.



SVN revision: 79789
2012-11-28 21:47:30 +00:00
Leandro Dorileo 1a1adc1a5f EPhysics: soft body operations on triangles list
This patch introduces API to get a list of triangles inside an
area and another to apply impulse - also - in a list of triangles.


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



SVN revision: 79607
2012-11-23 21:52:08 +00:00
Leandro Dorileo 889ba8d307 EPhysics: fix soft body resize
When resizing a soft body move the anchored rigid body to the
center of it.


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



SVN revision: 79606
2012-11-23 21:52:02 +00:00
Leandro Dorileo f4ce94ee18 EPhysics: avoid slices double deletion
This patch avoids slices double deletion case ecore evas deletes the
slices evas objects before ephysics has actually shutdown and/or simulation
thread hasn't been canceled.


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



SVN revision: 79605
2012-11-23 21:51:53 +00:00
Leandro Dorileo ecd61b29af EPhysics: add api to get the slice index based on its
evas object



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



SVN revision: 79604
2012-11-23 21:51:44 +00:00
Leandro Dorileo 0e3e700e52 EPhysics: add soft ellipsoid and multi face
implementation

This patch introduces the ellipsoid soft body and its multi face
implementation.


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



SVN revision: 79603
2012-11-23 21:51:38 +00:00
Leandro Dorileo 3e10c1bdb6 EPhysics: fix random memory leaks
Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 79599
2012-11-23 21:51:03 +00:00
Leandro Dorileo 0951154f9c EPhysics: slice_init doesn't know about
body->evas_object anymore

So we can use the same functions to initialize the slices in case of
face slicing.


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



SVN revision: 79598
2012-11-23 21:50:02 +00:00
Leandro Dorileo 6f743c6978 EPhysics: soft body slice per face
This changes how initial points of deformations are mapped, now we
must support multiple faces so different points of deformation for
each.


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



SVN revision: 79597
2012-11-23 21:49:57 +00:00
Leandro Dorileo f962999612 EPhysics: soft body slicing refactory
Prepare to use the same infra structure of slicing for soft body multi-face
deformation implementation.


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



SVN revision: 79596
2012-11-23 21:49:51 +00:00
Leandro Dorileo 96388823a7 EPhysics: reset soft body's slices layer
If a evas object has its layer reset so we must apply the change its
slices evas objects.


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



SVN revision: 79595
2012-11-23 21:49:44 +00:00
Leandro Dorileo cf2d140f8c EPhysics: add soft body triangle impulse API
Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 79594
2012-11-23 21:43:49 +00:00
Leandro Dorileo 900580095c EPhysics: add soft body bending constraints API
This patch introduces the API ephysics_body_soft_body_bending_constraints_add
used define how deformeable a soft body is supposed to be.


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



SVN revision: 79592
2012-11-23 21:43:32 +00:00
Leandro Dorileo fa05bab343 EPhysics: generate bending constraints just once
Unlikely the cluster generate bullet will not rebuild the bending
constraints every call, so we must prevent creating duplicated
constraints.


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



SVN revision: 79591
2012-11-23 21:43:25 +00:00
Leandro Dorileo a7e90dc5a7 EPhysics: move just a single node of a triangle
Patch by: Leandro Dorileo <dorileo@profusion.mobi>



SVN revision: 79590
2012-11-23 21:43:19 +00:00
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 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 c1e3f6a574 ephysics: fix body rotation set / get
There was a inversion on setter and getter wasn't calculating
euler angles correctly.



SVN revision: 79250
2012-11-13 22:18:03 +00:00
Leandro Dorileo d0f93b0aaa EPhysics: do not wait to disassociate a boundary
If a user has asked for a boundary deletion do not wait until body_del
callback to clean it up to avoid returning a body marked for deletion
case the user decided to add it again.


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



SVN revision: 79057
2012-11-09 18:58:51 +00:00
Leandro Dorileo be9c5adb45 EPhysics: fix soft body geometry set
Issue found on ephysics_sandbox. The scale was been applied considering
the rigid body behaviour. This patch applies a reverse scale then scale
again.


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



SVN revision: 79056
2012-11-09 18:58:43 +00:00
Bruno Dilly 53b29208ee ephysics: implement update of cylinder faces
SVN revision: 79049
2012-11-09 18:57:51 +00:00
Bruno Dilly 77f193677b ephysics: fix evas object rotation based on body
Inverts y component.



SVN revision: 79048
2012-11-09 18:53:38 +00:00
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 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 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
function




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 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
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 <dorileo@profusion.mobi>



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


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



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

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 <dorileo@profusion.mobi>



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 <dorileo@profusion.mobi>



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
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 <dorileo@profusion.mobi>



SVN revision: 78488
2012-10-25 21:54:55 +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