Commit Graph

161 Commits

Author SHA1 Message Date
Bruno Dilly 8758e77f79 ephysics: handle evas object visibitily on default update
SVN revision: 80624
2012-12-10 21:58:06 +00:00
Leandro Dorileo 8f8cf756ee EPHysics: introduce a generic resize_cb for soft body faces
Introduce a generic resize_cb for soft body faces and fix the
"not pre-resized evas object issue" for multi faces implementation as well.

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


SVN revision: 80615
2012-12-10 17:15:27 +00:00
Leandro Dorileo 0941fad05f EPhysics: fix issues with resizing cloth
--This line, and those below, will be ignored--


SVN revision: 80614
2012-12-10 17:15:18 +00:00
Leandro Dorileo d56bd9c189 EPHysics: change the location of _ephysics_body_geometry_set
--This line, and those below, will be ignored--


SVN revision: 80613
2012-12-10 17:15:11 +00:00
Leandro Dorileo 8fed4fff45 EPhysics: fix issues identified by edje support
Add slices as member of obj smart parent - when it's the case -
so we can restack it when the received evas object is member of a
smart object.

Resize the evas object on ephysics_body_evas_object_set to w=1,
h=1 when its initial/original size is 0, this prevents errors on
evas_object_image_source_set().

Reset the soft body transform on resize - put it back to its
prior position - the one before scaling.

On body_move do not consider the moving of anchored rigid body
enough, move the soft body vertices as well.

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


SVN revision: 80612
2012-12-10 17:15:05 +00:00
Leandro Dorileo 4640e5cdca EPhysics: soft body drag coefficient
Add API for handling with soft body drag coefficient.

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


SVN revision: 80249
2012-12-05 13:50:20 +00:00
Leandro Dorileo d435db2931 EPhysics: fix soft body velocity and stop implementation
+ velocity
Handle cloth cases on velocity functions and consider both rigid
and soft body whenever touching velocities + stoping a body.

+ activation
Activate the body when setting angular velocity.

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


SVN revision: 80248
2012-12-05 13:50:08 +00:00
Leandro Dorileo d449396bed EPhysics: anchor hardness api and small fixes
This patch introduces a separeted API for handling with anchor hardness,
and fixes small problems with pose and soft body impulses.

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


SVN revision: 80107
2012-12-03 21:29:30 +00:00
Leandro Dorileo ff57aea853 EPhysics: fix y orientation issues
Fix a small issue on y orientation on triangles_inside_get and soft body
impulse.

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


SVN revision: 80106
2012-12-03 21:29:21 +00:00
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