I tried to model a tetris shape with the SetAsArray function of box2d. But the shapes are not colliding correctly with other bodies, sometimes falling through, sometimes diving in. No problems with square or circle shapes.
fixDef.shape.SetAsArray([
new b2Vec2(-1,1.5),
new b2Vec2(-1,-1.5),
new b2Vec2(1,-1.5),
new b2Vec2(1,-0.5),
new b2Vec2(0,-0.5),
new b2Vec2(0,1.5)],6
); // Tetris shape
bodyDef.position.Set(7,0);
var body=world.CreateBody(bodyDef);
body.CreateFixture(fixDef);
I made a fiddle to show the effect: