Boost logo

Boost Users :

Subject: [Boost-users] [Polygon] How to put self intersect polygon into PolygonSet
From: zeal (li.y-neu_at_[hidden])
Date: 2012-09-27 04:25:09


Hi,

I'm just searching for a polygon Boolean library and I found this Boost.Polygon, but I met a problem with self intersect polygon.
like below:
    typedef gtl::polygon_data<int> Polygon;
    std::vector<Polygon > ps;

    typedef Polygon::point_type Point;
    Point pts[] =
    {
       gtl::construct<Point>(0, 0),
       gtl::construct<Point>(10, 10),
       gtl::construct<Point>(10, 0),
       gtl::construct<Point>(0, 10)
    };
    Polygon poly;
    gtl::set_points(poly, pts, pts+ sizeof(pts)/sizeof(Point));
    ps += poly;

I want to put a self intersect polygon

|\ /|
| \ / |
| \/ |
| /\ |
| / \ |
|/ \|
into a Polygon set ps,
But when I use ps += poly to put it, in the ps the polygon has been cut to
      /|
     / |
    / |
    \ |
     \ |
      \|

and the left part doesn't exist anymore.
I'm not sure whether I use it in a wrong way, or the library doesn't support this kind of operation?

Best regards,

Zeal

---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s)
is intended only for the use of the intended recipient and may be confidential and/or privileged of
Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is
not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying
is strictly prohibited, and may be unlawful.If you have received this communication in error,please
immediately notify the sender by return e-mail, and delete the original message and all copies from
your system. Thank you.
---------------------------------------------------------------------------------------------------


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net