David Doria
David Doria

Reputation: 10273

How to read boost::geometry::model::polygon from svg

I can write a boost::geometry::model::polygon to svg like this:

#include <iostream>
#include <fstream>

#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/io/svg/svg_mapper.hpp>

typedef boost::geometry::model::d2::point_xy<double> point_type;
typedef boost::geometry::model::polygon<point_type> polygon_type;

int main()
{
    polygon_type polygon;

    polygon.outer().push_back(point_type{10,10});
    polygon.outer().push_back(point_type{11,10});
    polygon.outer().push_back(point_type{10,11});
    polygon.outer().push_back(point_type{10,10});

    std::ofstream svg("test.svg");

    boost::geometry::svg_mapper<point_type> mapper(svg, 400, 400);
    mapper.add(polygon);
    mapper.map(polygon, "fill:rgb(255,128,0);stroke:rgb(0,0,100);stroke-width:1");

    return 0;
}

However, I can't seem to find the inverse operation. That is, I have a .svg, now how do I read it in to a boost::geometry::model::polygon?

Upvotes: 1

Views: 379

Answers (1)

David Doria
David Doria

Reputation: 10273

As @sehe pointed out, there is no SVG reader available.

Upvotes: 1

Related Questions