Код в обоих постах мне кажется законченным. Вы начинаете с двух многоугольников и соответствующих им преобразований, а из b2CollidePolygons вы получаете контактный коллектор.
b2Manifold - это просто набор точек, в которых пересекаются границы двух фигур. В размещенном коде автор использует, что, если количество точек коллектора больше нуля, происходит наложение. В зависимости от характера фигур может быть разное количество точек пересечения, когда они перекрываются.
Обратите внимание, что обработка столкновений в b2World достаточно надежна. Помимо простых запросов о столкновениях, он имеет широкий выбор фазы, приведение лучей, пространственное дерево, события начала и конца контакта, эффективное управление памятью, чтобы назвать некоторые вещи. В API есть классы для большинства из этих задач, но я не могу сказать, что знаком с их использованием вручную. Может быть стоит посмотреть.