[ODE] Breakable joints

Roel van Dijk roelvandijk at home.nl
Sat Jun 28 18:47:02 2003


> I think I can do it the same way as the joint feedback structure. The
> memory overhead will be one pointer (1 byte?) per joint. The CPU overhead
> will consist of one check every step for every joint, something like 'if
> dJointIsBreakable(joint)'. Maybe this can also be optimized by placing all
> breakable joints in a jointgroup. If you want no overhead at all then this
> must remain a contribution ofcourse.
> I'm going to try to find the place in the code where the forces on the
> joints are calculated. Maybe the place where the joint feedback struct is
> filled? If it's to hard I will post on the mailing list again :-)
I'm almost done (I think). But I'm having a problem that I can't figure out. I 
need to detach a joint in step.cpp. But dJointAttach is not yet declared in 
step.cpp. I tried to make it visible by including <ode/objects.h>. But when I 
call dJointAttach I get this error message: 'ODE INTERNAL ERROR: unattached 
or disabled joint tagged'. 
Is it possible to detach joints in step.cpp? I want to detach it right after 
the 'compute constraint force' part of the dInternalStepIsland_x2 function. 
That is where the constraint forces are calculated and I thought that it was 
the right place to check where a joint should be broken or not.

Roel