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
defaults.
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 <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
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
...
forces
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
...
impulses
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
...
Reasons:
- 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
...
geometry
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
moved.
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
camera.
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 <dorileo@profusion.mobi>
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
others.
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 <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
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 <dorileo@profusion.mobi>
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 <dorileo@profusion.mobi>
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 <dorileo@profusion.mobi>
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
edje_object_signal_callback_add.
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
...
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
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 <dorileo@profusion.mobi>
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