No for now I could not, the hand is controlled with a leapmotion. and I don't know the sandbox tools and api enough to make this quickly.
I'll do some more test removing things step by step and see when the bug stop.
For now I know that remove the return 0 from the onAABBOverlap remove the bug. but not sure this is the only related thing. the collision on the body is disabled in the callback when the hand is lost.
ho sometimes the hand act strangely just like the collision hapend between the hand box or finger and the collision tree. but the collision seems to be the 1:1 scale not the current scale.
I think I know what it is but I did not have time for fixed. This is a more complex problem.
I fact is ha nothing to do with scaling, you can test it by setting the scale of the seat to 1, and let it drop of the floor, you will see that that four small legs one is always penetration the floor. this is because the contact count exceed the maximum. an the heuristic for rejection too many contact for compounds is no very good.
that's seem to be, but is not that simple as increasing the max contact size as will no solve the problem and will make other thing worse.
I believe the Max contact t size for a shape is reduced to 8 or 16 (do no remember)but at you can see when the seat land on the floor is collect at least 16, so is at least one more is collected then some have to be remove and It may remove an essencial one.
what it needs it an algorithm to better select the essential contacts and discriminate redundant contacts. There are few way to do that, one is by solving as a complementarity program or a simplex or a linear programing problem, the pother is but using geometrical heuristic which is what is using now The geometric heuristic is good for single convex shape shapes, because ether locus of all contact is a convex polygon, so it is easy to eliminate non essential contact by using a polygon deduction algorithm. For a compound shape the same algorithm generate unpredictable result, and I believe that the problem.
I will solve it, but I can no do during the week, it will have to be the weekend. This is similar to the problem of object placement that Bird asked me before so the engine has all the functionality already.
her is a question, is there a reason why you use scale that are so extreme?
the seat is using a scale of 0.001 (that on is one thousand) what I use a scale 0f 0.01 the seat land prefect on the floor, so I am thinkng that maybe the problem is that the scale is so big that the contact solver start see problem with tolerances
We do not control the original size of the imported object, (obj, fbx..) it depend of the modeler parameters. So to scale is high to rescale the mesh in meter units. So it can happen often.
do you have a scale feature? you can use the Newton Mesh as a inutility to scale arbitrary meshes that seat is made in millimeters but even at that scale it look tiny when is put is the scene.
basically you have an object that is already small but that it using are really large.