[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