[ODE] how to stopbody enabling by joint
Mark Williams
mark at image-engine.com
Fri Oct 26 09:24:11 MST 2007
Krystian Ligenza wrote:
> Mark Williams pisze:
>>> Krystian Ligenza wrote:
>>>
>>>> I have look more in mailing list archive, and see that this topic was
>>>> many times discussed. Main problem is how to set that joint should only
>>>> affect one body and other left unforced. Maybe we should think about
>>>> adding flag for this, by adding dJointSetXXXParam with dParamAffectBoth,
>>>> dParamAffectFirst, dParamAffectSecond? If joint can link with world,
>>>> this should not be impossible to do - correct me if I'm wrong?
>>>>
>>> Why wouldn't you just create the joint attached to the affected body and
>>> the world (NULL), then? I do that for collisions in certain cases, for
>>> example.
>>>
>> If you attach a joint to a null-body, then the joint considers that body
>> to have zero velocity. This is a potential source of error when
>> colliding against non-simulated yet animated geoms. I think Krystian's
>> patch has a great deal of value.
>>
> Hope that you are talking about "void dJointSetFixedBodies (dJointID
> j,const dVector3 p1,const
> dQuaternion q1,const dVector3 p2,const dQuaternion q2)" function that
> I proposed for adding, becouse I haven't add what I was talking about
> in this mail (about dJointSetXXXParam ). I have thought, that only
> thing that is need to be change for all joints is XXXGetInfo2(...),
> but It seems that all step functions also check if joint is attached
> to Body and World, so this become too time consume for me to make it
> good. Also joint can be attached to World - Body, or Body - World, but
> internally it is always Body-World, so making a param that hide one of
> Bodies as World would be a tricky part.
>
Apologies, I realised after I wrote this that you'd not submitted a
patch for the dJointSetXXXParam stuff. I think it's a good idea, though.
Cheers,
Mark
More information about the ODE
mailing list