Mejora la intersección

Tengo un problema con el algoritmo de intersección de impulso. No estoy seguro de si cometí un error o si es un error.

#include <boost/geometry/algorithms/intersection.hpp>
#include <boost/version.hpp>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/polygon.hpp>
int main()
{
    typedef boost::geometry::model::d2::point_xy<double> BoostPointXY;
    typedef boost::geometry::model::polygon<BoostPointXY> BoostPolygon;

    BoostPolygon polyOne, polyTwo;
    boost::geometry::read_wkt(
            "POLYGON((45, 4), (45, 17), (44, 19), (44, 22), (50, 20), (51.5, 17), (58, 4), (60, 0), (53, 0), (45, 0), (45, 4))",
            polyOne);
    boost::geometry::read_wkt(
            "POLYGON((-10, -5), (0, 25), (43, 25), (45, 20), (50, 20), (60, 0), (5, 0), (5, -5), (-10, -5))", polyTwo);
    std::vector<BoostPolygon> multiPoly;
    boost::geometry::correct(polyOne);
    boost::geometry::correct(polyTwo);
    boost::geometry::intersection(polyOne,polyTwo,multiPoly);
    std::cout << "Size of Multi " << multiPoly.size() << std::endl;
    std::cout << "Using Boost "
              << BOOST_VERSION / 100000     << "."  // major version
              << BOOST_VERSION / 100 % 1000 << "."  // minior version
              << BOOST_VERSION % 100                // patch level
              << std::endl;
}

Salida:

Size of Multi 0
Using Boost 1.55.0

Pero el tamaño del multiPolygon debería ser 1 o? Cuando se trata de un error, ¿alguien puede probarlo con el impulso actual 1.57? No puedo cambiar mi versión de impulso en este momento.

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta