BGE: Fix for applyImpulse function
authorJorge Bernal <jbernalmartinez@gmail.com>
Mon, 7 Jul 2014 15:01:49 +0000 (08:01 -0700)
committerMitchell Stokes <mogurijin@gmail.com>
Mon, 7 Jul 2014 15:06:39 +0000 (08:06 -0700)
commit1f43b083a97ee56b8b15692ef19d0e973b6d31ac
tree358346e602ab4be4ca8b1f650955d23b60c9e742
parentef22e972b1ad0bed1a79587b72d50c7da4c6b4e8
BGE: Fix for applyImpulse function

This is related to task T29419. Credit also goes to Goran Milovanovic
(goran) for proposing an initial fix for this issue.

The issue is the current behavior of applyImpulse doesn't match the behavior
described in the documentation as instead of a impulse point in world coordinates,
it seems to require a coordinate in a local space.

Additionally, applyImpulse function isn't consistent with similar functions (applyForce, applyTorque, etc)
as it doesn't allow  to choose in which space (local or global) the impulse is applied.

Now, we have the following function:

applyImpulse(point, impulse, local=False)
being "point" the point to apply the impulse to (in world or local coordinates). When local is False will
have both point and impulse in World space and when local is True will have point and impulse in local space.

Reviewers: moguri, dfelinto, brita_

Reviewed By: moguri

Differential Revision: https://developer.blender.org/D567
doc/python_api/rst/bge_types/bge.types.KX_GameObject.rst
source/gameengine/Ketsji/KX_GameObject.cpp
source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
source/gameengine/Physics/Bullet/CcdPhysicsController.h
source/gameengine/Physics/common/PHY_IPhysicsController.h