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
If light configuration has been changed or perspective changed or simply
enabled/disabled force inactive bodies to update.
--This line, and those below, will be ignored--
SVN revision: 80105
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
This patch changes how constraints are created and configured, now we
use a bullet generic implementation which let us operate on the 6
degrees of freedom(linear and angular ones).
We have used 6dof for slider constraint but now we assume 2 types of
constraints, single body - simply ephysics_constraint_add(body) - and a linked
one - ephysics_constraint_linked_add(body1, body2) used to constrain 2 bodies
linked together.
Having said that we introduce the following changes:
+ migrate p2p constraint to 6Dof
We want to have a constraint api generic enouth to allow many different
constraint behaviour, 6Dof was picked to do that, so p2p needs a migration.
+ move ephysics_constraint_slider_* functions
Since the whole constraint infra-sctructure is being migrated to 6Dof the
linear and angular limit functions - previously used only by slider constraint -
now looks more generic enough to be used by constraint in general.
+ add constraint anchor API
Instead of telling the anchoring positioning in the constraint creating we have
set it's default value to the the middle os the body and if the user wants to change
it call ephysics_constraint_anchor_set and reset it.
The ephysics_constraint_anchor_set() considers the canvas coordinate instead of using
the body orientation. So now one can tell a constraints anchor is set to 100, 10, 0
in the canvas coordinate system and not (body_center.x - 20, body_center.y - 5, body_center.z - 1).
+ constraint migrate the bt_constraint
Since we're working only with 6Dof constraints it is reasonable to change the constraints
bt_constraint field to btGeneric6DofConstraint.
+ add 3 axes to constraints
Now constraints API knows about x, y and z axes - linear and angular limiting, anchor
setting and the constraint creation functions are fully supported.
+ constraint calls are renamed
The constraint calls were renamed so ephysics_constraint_p2p_add() now is known as
ephysics_constraint_linked_add() and ephysics_constraint_slider_add() became
ephysics_constraint_add() where the first one is meant for constrain 2 bodies and
the second one for single body constraints.
--This line, and those below, will be ignored--
SVN revision: 79848
implementation
This patch introduces the ellipsoid soft body and its multi face
implementation.
Patch by: Leandro Dorileo <dorileo@profusion.mobi>
SVN revision: 79603
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
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
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
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
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 <dorileo@profusion.mobi>
SVN revision: 78482
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 <dorileo@profusion.mobi>
SVN revision: 78091
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 <dorileo@profusion.mobi>
SVN revision: 78090
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 <dorileo@profusion.mobi>
SVN revision: 78088
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 <dorileo@profusion.mobi>
SVN revision: 77467
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 <dorileo@profusion.mobi>
SVN revision: 77466
Using material_set it will be easier to set density, friction
and restitution to a body, simulating properties of the selected
material.
SVN revision: 77462
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
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
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
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