#include "lineClipper.h" vector lineClipper::mask( vector shapes, vector mask, bool invert ) { vector output; ofx::Clipper clipper; for (auto& shape: shapes) { clipper.Clear(); clipper.addPolylines(mask, ClipperLib::ptClip); vector polys; //TODO make clipper clip colourpolylines shapes.push_back(shape); clipper.addPolylines(polys,ClipperLib::ptSubject); vector clipped; if (invert){ clipped = clipper.getClipped(ClipperLib::ctDifference); }else { clipped = clipper.getClipped(ClipperLib::ctIntersection); } for (auto& clip: clipped) { //clip.simplify(contour_simplify); output.push_back(colourPolyline(clip,shape.getColourAt(0))); } } return output; }