//-------------------------------------------------------------- void ofxClipper::ReversePolylines(ofxPolylines& polys) { ClipperLib::Polygons in; ofxPolylines_to_Polygons(polys,in); ClipperLib::ReversePoints(in); polys.clear(); polygons_to_ofxPolylines(in,polys); }
//-------------------------------------------------------------- void ofxClipper::ReversePath(ofPath& path, ofxPolylines &out_polys) { ClipperLib::Polygons in; ofPath_to_Polygons(path, in); ClipperLib::ReversePoints(in); out_polys.clear(); polygons_to_ofxPolylines(in,out_polys); }
//-------------------------------------------------------------- void ofxClipper::SimplifyPolylines(ofxPolylines &polys) { ClipperLib::Polygons in; ofxPolylines_to_Polygons(polys,in); ClipperLib::SimplifyPolygons(in); polys.clear(); polygons_to_ofxPolylines(in,polys); }
//-------------------------------------------------------------- void ofxClipper::SimplifyPath(ofPath &path, ofxPolylines &out_polys) { ClipperLib::Polygons in,out; ofPath_to_Polygons(path, in); ClipperLib::SimplifyPolygons(in,out); out_polys.clear(); polygons_to_ofxPolylines(out,out_polys); }
//-------------------------------------------------------------- void ofxClipper::SimplifyPolyline(ofPolyline &in_poly, ofxPolylines &out_polys) { ClipperLib::Polygon in; ClipperLib::Polygons out; in = ofPolyline_to_Polygon(in_poly); ClipperLib::SimplifyPolygon(in,out); polygons_to_ofxPolylines(out,out_polys); }
//-------------------------------------------------------------- void ofxClipper::SimplifyPolylines(ofxPolylines &in_polys, ofxPolylines &out_polys) { ClipperLib::Polygons in; ClipperLib::Polygons out; ofxPolylines_to_Polygons(in_polys,in); ClipperLib::SimplifyPolygons(in,out); polygons_to_ofxPolylines(out,out_polys); }
//-------------------------------------------------------------- void ofxClipper::SimplifyPolylines(ofxPolylines &polys, ofPolyWindingMode windingMode) { ClipperLib::Polygons in; ofxPolylines_to_Polygons(polys,in); ClipperLib::SimplifyPolygons(in,convertWindingMode(windingMode)); polys.clear(); polygons_to_ofxPolylines(in,polys); }
//-------------------------------------------------------------- void ofxClipper::SimplifyPath(ofPath &path, ofxPolylines &out_polys, ofPolyWindingMode windingMode) { ClipperLib::Polygons in,out; ofPath_to_Polygons(path, in); ClipperLib::SimplifyPolygons(in,out,convertWindingMode(windingMode)); out_polys.clear(); polygons_to_ofxPolylines(out,out_polys); }
//-------------------------------------------------------------- void ofxClipper::SimplifyPolylines(ofxPolylines &in_polys, ofxPolylines &out_polys, ofPolyWindingMode windingMode) { ClipperLib::Polygons in; ClipperLib::Polygons out; ofxPolylines_to_Polygons(in_polys,in); ClipperLib::SimplifyPolygons(in,out,convertWindingMode(windingMode)); polygons_to_ofxPolylines(out,out_polys); }
//-------------------------------------------------------------- void ofxClipper::SimplifyPolyline(ofPolyline &in_poly, ofxPolylines &out_polys, ofPolyWindingMode windingMode) { ClipperLib::Polygon in; ClipperLib::Polygons out; in = ofPolyline_to_Polygon(in_poly); ClipperLib::SimplifyPolygon(in,out, convertWindingMode(windingMode)); polygons_to_ofxPolylines(out,out_polys); }
//-------------------------------------------------------------- bool ofxClipper::clip(ofxClipperClipType clipType, ofxPolylines &solution, ofPolyWindingMode subFillType, ofPolyWindingMode clipFillType) { m_UseFullRange = true; // need this for our conversions ClipperLib::Polygons out; bool success = Execute((ClipperLib::ClipType)clipType, out, convertWindingType(subFillType), convertWindingType(clipFillType)); polygons_to_ofxPolylines(out,solution); return success; }
//-------------------------------------------------------------- void ofxClipper::OffsetPolylines(ofxPolylines &in_polys, ofxPolylines &out_polys, double offset, ofxClipperJoinType jointype, double MiterLimit) { offset = offset * clipperGlobalScale; MiterLimit = MiterLimit * clipperGlobalScale; ClipperLib::Polygons in, out; ofxPolylines_to_Polygons(in_polys,in); OffsetPolygons(in,out,offset,(ClipperLib::JoinType)jointype,MiterLimit); polygons_to_ofxPolylines(out,out_polys); }