Hi Sergei,
Sergei Benkovich wrote:
Hey,
i have an issue where i find self intersections in a polygon.but it doesn't seem to find the method_collinear type.
this is the piece of code:
namespace bg = boost::geometry;
using namespace std;
typedef bg::model::d2::point_xy<double> point_2d;
typedef bg::model::polygon<boost::geometry::model::d2::point_xy<double> > Polygon;
Polygon poly;
poly.outer().push_back(point_2d(0, 10));
poly.outer().push_back(point_2d(10, 0));
Have in mind that this polygon is invalid (too small number of points) so it may even be ignored (I don't remember).
But of course if you had a valid polygon like:
Polygon poly{ { {0, 0},{0, 10}, {10, 10}, {10, 0}, {0, 0} } };
There would be no self intersections returned because the polygon is not self-intersecting.
However if you had a (invalid) Polygons like this:
Polygon poly{ { {0, 0},{0, 10}, {10, 10}, {10, 0}, {0, 0},{ 0, 10 },{ 10, 10 },{ 10, 0 },{ 0, 0 } } };
Polygon poly{ { {0, 0},{0, 10}, {10, 10}, {10, 0}, { 10, 10 },{ 0, 10 },{ 0, 0 } } };
you'd get collinear and blocking self-intersection turns respectively.
Regards,
Adam
_______________________________________________
Geometry mailing list
Geometry@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/geometry