[Bf-committers] [Bf-blender-cvs] [d21018b] master: Fix T44065: fixed vehicle constraint
Jorge Bernal
jbernalmartinez at gmail.com
Sat Mar 21 15:47:10 CET 2015
This fix should be backported to 2.74
2015-03-21 14:46 GMT+01:00 Sybren A. Stüvel <noreply at git.blender.org>:
> Commit: d21018b3340496865626b279852159347ac9c102
> Author: Sybren A. Stüvel
> Date: Sat Mar 21 14:42:57 2015 +0100
> Branches: master
> https://developer.blender.org/rBd21018b3340496865626b279852159347ac9c102
>
> Fix T44065: fixed vehicle constraint
>
> Commit ffee7f1a58a18bc08add94176ddffe29809139a6 broke vehicle constraints;
> this fixes that.
>
> ===================================================================
>
> M source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
>
> ===================================================================
>
> diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
> b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
> index c0aaefe..a30ee0f 100644
> --- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
> +++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
> @@ -2644,9 +2644,6 @@ int
> CcdPhysicsEnvironment::CreateConstraint(class PHY_IPhysicsController* ctrl
> if (!rb0)
> return 0;
>
> - // If either of the controllers is missing, we can't do anything.
> - if (!c0 || !c1) return 0;
> -
> btVector3 pivotInB = rb1 ?
> rb1->getCenterOfMassTransform().inverse()(rb0->getCenterOfMassTransform()(pivotInA))
> :
> rb0->getCenterOfMassTransform() * pivotInA;
> btVector3 axisInA(axisX,axisY,axisZ);
> @@ -2658,6 +2655,8 @@ int
> CcdPhysicsEnvironment::CreateConstraint(class PHY_IPhysicsController* ctrl
> {
> case PHY_POINT2POINT_CONSTRAINT:
> {
> + // If either of the controllers is missing, we
> can't do anything.
> + if (!c0 || !c1) return 0;
>
> btPoint2PointConstraint* p2p = 0;
>
> @@ -2686,6 +2685,9 @@ int
> CcdPhysicsEnvironment::CreateConstraint(class PHY_IPhysicsController* ctrl
>
> case PHY_GENERIC_6DOF_CONSTRAINT:
> {
> + // If either of the controllers is missing, we
> can't do anything.
> + if (!c0 || !c1) return 0;
> +
> btGeneric6DofConstraint* genericConstraint = 0;
>
> if (rb1)
> @@ -2739,7 +2741,7 @@ int
> CcdPhysicsEnvironment::CreateConstraint(class PHY_IPhysicsController* ctrl
> *rb0,s_fixedObject2,
>
> frameInA,frameInB,useReferenceFrameA);
> }
> -
> +
> if (genericConstraint)
> {
>
> //m_constraints.push_back(genericConstraint);
> @@ -2756,6 +2758,9 @@ int
> CcdPhysicsEnvironment::CreateConstraint(class PHY_IPhysicsController* ctrl
> }
> case PHY_CONE_TWIST_CONSTRAINT:
> {
> + // If either of the controllers is missing, we
> can't do anything.
> + if (!c0 || !c1) return 0;
> +
> btConeTwistConstraint* coneTwistContraint = 0;
>
>
> @@ -2807,7 +2812,7 @@ int
> CcdPhysicsEnvironment::CreateConstraint(class PHY_IPhysicsController* ctrl
> *rb0,s_fixedObject2,
> frameInA,frameInB);
> }
> -
> +
> if (coneTwistContraint)
> {
>
> //m_constraints.push_back(genericConstraint);
> @@ -2830,6 +2835,9 @@ int
> CcdPhysicsEnvironment::CreateConstraint(class PHY_IPhysicsController* ctrl
>
> case PHY_LINEHINGE_CONSTRAINT:
> {
> + // If either of the controllers is missing, we
> can't do anything.
> + if (!c0 || !c1) return 0;
> +
> btHingeConstraint* hinge = 0;
>
> if (rb1)
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
More information about the Bf-committers
mailing list