| 63 | } |
| 64 | |
| 65 | vector<PolyLine2f> calcClipOp( ClipperLib::ClipType op, const vector<PolyLine2f> &subject, vector<PolyLine2f> &clip ) |
| 66 | { |
| 67 | const float SCALE = 2147483648.0f; |
| 68 | auto aClipper = toClipper( subject, SCALE ); |
| 69 | auto bClipper = toClipper( clip, SCALE ); |
| 70 | ClipperLib::Paths solution; |
| 71 | ClipperLib::Clipper c; |
| 72 | c.AddPaths( aClipper, ClipperLib::ptSubject, true ); |
| 73 | c.AddPaths( bClipper, ClipperLib::ptClip, true ); |
| 74 | c.Execute( op, solution, ClipperLib::pftNonZero, ClipperLib::pftNonZero ); |
| 75 | return fromClipper( solution, SCALE ); |
| 76 | } |
| 77 | |
| 78 | vector<PolyLine2f> calcIntersection( const vector<PolyLine2f> &a, vector<PolyLine2f> &b ) |
| 79 | { |
no test coverage detected