After experimenting a lot with friction, constraints (see http://www.bulletphysics.com/Bullet/php ... f=9&t=2631) and compound shapes, I came to the conclusion that something is missing in Bullet.... well, or, I'm missing something

Anyhow we want to be able to construct a complex body that acts as one object. However it should be able to 'break-off' certain parts if the stress on those parts becomes too great. Think of for instance a chair. If I push it, it will rotate as a whole. However if I kick one of it's legs, it should come off and the chair would fall as well since it's lacking support.
I initially thought of using btCompoundShape for this purpose. However this is one rigidbody containing multiple shapes. It isn't, what we need, multiple rigidbodies clustered to a single entity. Let me try to explain why using multiple shapes do not solve my problem.
One problem with the compound shape approach is that the mass is distributed uniformly across the shape. However if I want to make for instance a building, surely the floors would be heavier than the windows. It doesn't make any sense to have the same density for the whole object if that object is for instance a building.
Another problem is that internal-object collisions/stress is not available. If I have two rigidbodies lying on top of each other, gravity will produce 'stress' on the bottom object. I can measure this stress and for instance remove the object if the stress is too high (i.e., it 'breaks'). With a compound shape I cannot do this at all, simply because it's only one rigidbody. Example: suppose I have a building with two floors and four support beams. Suppose I remove three support beams. Since there is no inter-object stress, the remaining beam wouldn't collapse under the weight of the top floor. In fact the structure as a whole would remain intact, only with one beam, and would look very unnatural. Another example: Imagine a chair with styrofoam support legs and an iron seat. I want the structure to collapse under its weight as the beams simply cannot hold the weight of the iron seat. With a compound shape and its uniformly distributed mass and lack of internal-object collision/stress detection this isn't possible.
As said, instead of using a compound shape, one could also use constraints. But to be honest I find it very hard to produce realistic results with that. The constraints simply aren't rigid enough. Perhaps if we had a glue constraint or something like this, it could work. Such a constraint would break when a certain pull force is too big. When the constraint is active, the objects would move as if they were one object. I cannot seem to do this with the current constraints.
I can also choose to not use any constraints at all, nor any compound shapes. The problem with that is that structures are very unstable. One gentle push and the whole structure will come down like a cardhouse: there simply isn't any structural strength. I've tried to fiddle a bit with friction, but apart from being a bit of a hack, it didn't give me any structural strength and therefore didn't produce any realistic results.
My conclusion is therefore that something seems to be missing from Bullet, namely a collection of rigidbodies that are connected to each other using structural strength. A btCompoundRigidbody
