[ODE] Preventing contacts between connected bodies
Remi Ricard
remi.ricard at simlog.com
Wed Nov 14 12:33:12 MST 2007
Hi Brett,
> Looking through the sample code I have noticed the following code in
> the nearCallbacks:
>
> dBodyID b1 = dGeomGetBody(o1);
> dBodyID b2 = dGeomGetBody(o2);
> if (b1 && b2 && dAreConnected(b1, b2))
> return;
>
> and
>
> dBodyID b1 = dGeomGetBody(o1);
> dBodyID b2 = dGeomGetBody(o2);
> if (b1 && b2 && dAreConnectedExcluding (b1,b2,dJointTypeContact))
> return;
>
> The benefit of the second is not completely clear to me.
This is useful if you want more than one contact point between two
bodies usually this may help stability.
If the joint are connected with something other than a contact joint you
return.
>
> Also would it help to have a line:
>
> if(b1 == b2) return;
>
> for composite objects?
This is already done at a higher level.
Remi
More information about the ODE
mailing list