Как обеспечить IntersectionStrategy в boost::geometry

Мне нужно заменить старую версию boost (1.58) на новую (1.66). Но есть проблема с критическим изменением, которое произошло с тех пор в библиотеке boost::geometry. У меня мало знаний в этой библиотеке. В коде, от которого я зависит (не написан мной), используется функция self_turns(). Насколько я понимаю, он рассчитывает самопересечения. В предыдущей версии требовалось 4 параметра, а в новой - 5 (плюс 2 необязательных). Новый параметр - IntersectionStrategy. Я много искал, но не смог найти никакой документации или примеров того, как это можно определить / использовать. Кто-нибудь знает, как его использовать сейчас?

1 ответ

Решение

Вы можете попробовать передать переменную, объявленную так:

typename bg::strategy::intersection::services::default_strategy
   <typename bg::cs_tag<Geometry>::type>::type strategy;

(где Geometry - ваш тип геометрии, а bg - псевдоним для boost::geometry) в качестве недостающей стратегии пересечения

Нет, примеров пока нет, предполагается, что это будет публичная функция в будущем, но в настоящее время это не так (и поэтому интерфейс действительно может измениться).

Другие вопросы по тегам