[ODE] AutoDisable issue?

Aras Pranckevicius nearaz at interamotion.com
Mon May 24 14:10:39 MST 2004


> the joints to 0. Since after falling there are a lot of contact
joints, this
> count must have grown considerably. Even though all the bodies have
been
> disabled the tagging is still being done on all the joints. I haven't
really
> gone into the detail of what's the purpose of tag so I'm not sure why
it is
> being done here. Any comments?

You shouldn't be creating contact joints between disabled-disabled and
disabled-nobody pairs.

Probably this could be done in ODE itself; right now the solution is to
add some code to your collision callback, like:
  b1 = get body of geom1
  b2 = get body of geom2
  if b1 and b2 are disabled return
  if (b1 is disabled) and !b2 return
  if (b2 is disabled) and !b1 return
  do usual collision and create contacts

This should reduce number of contact joints; and reduce the amount of
collision work.


Aras Pranckevicius aka NeARAZ
http://www.gim.ktu.lt/nesnausk/nearaz/



More information about the ODE mailing list