Самый простой способ - расположить прибор так, чтобы он не был в центре положения тела.Например.если у вас есть это:
myPolygonShape.SetAsBox( 5, 1 );
, вы можете использовать это вместо:
b2Vec2 offset(2.5, 0);
myPolygonShape.SetAsBox( 5, 1, offset, 0 );
Если вам действительно нужно сохранить текущее расположение прибора, вам нужно вычислить, гденовая позиция тела должна быть, а затем использовать SetTransform, чтобы поместить его туда.