I've done cloth and rigid objects. It really isn't all that hard. The easy way is to have a pivot representing your current/projected position, and store your previous position. I assume you already have the integrator/constraints as you mentioned having a tetrahedron in a cube. First of all, set up collisions with all the pivots. Then, detect these collisions and act upon them(friction) etc. a very good blitz example(that you might want to build on) is http://www.blitzcoder.com/cgi-bin/showcase/showcase_showentry.pl?id=andreas_blixt11272003032437&comments=no
by andreas blixt. Very nice.
by andreas blixt. Very nice.