You do have complex shapes there, but in ODE it's not a requirement to have one geomper body, in my app I have one body to handle physics and n number of geoms to define the shape, usually boxes from one of your shape you can define it out of 4 boxes (to make the square with the hollow middle).

OK it's not pixel perfect but it's fast enough got most applications.